carga inicial
This commit is contained in:
@@ -8,10 +8,10 @@ import 'default_response_api.dart';
|
||||
class FuncoesGerais{
|
||||
|
||||
//static const String urlLexLiteApi = "https://apis.lexstation.com/api/v1/";
|
||||
static const String tokenPadrao = "XW3Y21GZWD9HIB8XOME4UE2APLPG3J";
|
||||
static const String tokenPadrao = "0GR7IE9OLII2UAUPJI80P1UHUK87WU";
|
||||
static const String urlBaseNewCore = "https://newcore.services/newcore/";
|
||||
static const int appMobileCodigo = 18;
|
||||
static const String nomeApp = "App Cards Starter";
|
||||
static const String nomeApp = "Decpisos";
|
||||
static const int versaoAtual = 100;
|
||||
static const String youtubeApiKey = "AIzaSyAmqjP0MxgASbt98Px1_hqaIvcsqeHO15k";//"AIzaSyA8jo3qsr-JJRm40iSHfkrzaMZXdMjo9v4";
|
||||
static const String channelId = "UCJ_EUoswNTvRGotJ-ROxaKw";
|
||||
@@ -76,8 +76,9 @@ class FuncoesGerais{
|
||||
try {
|
||||
var body = json.encode(objPost);
|
||||
//var response = await http.post(url, body: body,headers: heads);
|
||||
var r = await http.post(url, body: body,headers: heads);
|
||||
print(r);
|
||||
await http.post(url, body: body,headers: heads);
|
||||
//var r = await http.post(url, body: body,headers: heads);
|
||||
//print(r);
|
||||
// if (response != null) {
|
||||
// if (response.statusCode == 200) {
|
||||
// var data = jsonDecode(response.body);
|
||||
@@ -89,9 +90,9 @@ class FuncoesGerais{
|
||||
|
||||
}
|
||||
}
|
||||
else{
|
||||
print('Nada');
|
||||
}
|
||||
// else{
|
||||
// print('Nada');
|
||||
// }
|
||||
}
|
||||
|
||||
static Future<VersaoMinimaResponse> checkVersaoMinimaOk() async{
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import 'package:appcardsstarter/funcoes_gerais.dart';
|
||||
import 'package:decpisos/funcoes_gerais.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
import 'package:webview_flutter/webview_flutter.dart';
|
||||
|
||||
+44
-39
@@ -1,55 +1,60 @@
|
||||
import 'package:appcardsstarter/home/home.dart';
|
||||
import 'package:appcardsstarter/notificacoes/notificacoes.dart';
|
||||
import 'package:appcardsstarter/videos/youtube_videos.dart';
|
||||
//import 'package:decpisos/home/home.dart';
|
||||
import 'package:decpisos/index/index_controller.dart';
|
||||
//import 'package:decpisos/notificacoes/notificacoes.dart';
|
||||
//import 'package:decpisos/videos/youtube_videos.dart';
|
||||
import 'package:convex_bottom_bar/convex_bottom_bar.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class IndexScreen extends StatefulWidget {
|
||||
@override
|
||||
_IndexScreenState createState() => _IndexScreenState();
|
||||
}
|
||||
|
||||
class _IndexScreenState extends State<IndexScreen> with SingleTickerProviderStateMixin{
|
||||
TabController _tabController;
|
||||
class _IndexScreenState extends State<IndexScreen> {
|
||||
// TabController _tabController;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_tabController = TabController(length: 3, vsync: this);
|
||||
_tabController.index = 1;
|
||||
}
|
||||
// @override
|
||||
// void initState() {
|
||||
// super.initState();
|
||||
// _tabController = TabController(length: 3, vsync: this);
|
||||
// _tabController.index = 1;
|
||||
// }
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_tabController.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
// @override
|
||||
// void dispose() {
|
||||
// _tabController.dispose();
|
||||
// super.dispose();
|
||||
// }
|
||||
final IndexController c = Get.put(IndexController());
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
body: TabBarView(
|
||||
controller: _tabController,
|
||||
physics: NeverScrollableScrollPhysics(),
|
||||
children: [
|
||||
YouTubeVideosScreen(),
|
||||
HomeScreen(),
|
||||
NotificacoesScreen()
|
||||
]
|
||||
),
|
||||
bottomNavigationBar: ConvexAppBar(
|
||||
items: [
|
||||
TabItem(icon: Icons.video_collection, title: 'Vídeos'),
|
||||
TabItem(icon: Icons.home, title: 'Home'),
|
||||
TabItem(icon: Icons.notifications, title: 'Notificações'),
|
||||
],
|
||||
style: TabStyle.flip,
|
||||
backgroundColor: Theme.of(context).primaryColor,
|
||||
controller: _tabController,
|
||||
// onTap: (int i){
|
||||
// print(i);
|
||||
// },
|
||||
),
|
||||
body: Obx(() => TabBarView(
|
||||
controller: c.tabController,
|
||||
physics: NeverScrollableScrollPhysics(),
|
||||
// children: [
|
||||
// YouTubeVideosScreen(),
|
||||
// HomeScreen(),
|
||||
// NotificacoesScreen()
|
||||
// ]
|
||||
children: c.childrenTabs.map((element) => element).toList(),
|
||||
)),
|
||||
bottomNavigationBar: Obx(() => ConvexAppBar(
|
||||
// items: [
|
||||
// TabItem(icon: Icons.video_collection, title: 'Vídeos'),
|
||||
// TabItem(icon: Icons.home, title: 'Home'),
|
||||
// TabItem(icon: Icons.notifications, title: 'Notificações'),
|
||||
// ],
|
||||
items: c.tabs.map((element) => element).toList(),
|
||||
style: TabStyle.flip,
|
||||
backgroundColor: Theme.of(context).primaryColor,
|
||||
controller: c.tabController,
|
||||
// onTap: (int i){
|
||||
// print(i);
|
||||
// },
|
||||
)),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import 'package:decpisos/home/home.dart';
|
||||
import 'package:decpisos/notificacoes/notificacoes.dart';
|
||||
import 'package:decpisos/videos/youtube_videos.dart';
|
||||
import 'package:convex_bottom_bar/convex_bottom_bar.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class IndexController extends GetxController with SingleGetTickerProviderMixin{
|
||||
TabController tabController;
|
||||
var tabs = List<TabItem>().obs;
|
||||
var childrenTabs = List<Widget>().obs;
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
this.initTabs();
|
||||
this.tabController.index = 1;
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
this.tabController.dispose();
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
void initTabs(){
|
||||
this.childrenTabs.add(YouTubeVideosScreen());
|
||||
this.childrenTabs.add(HomeScreen());
|
||||
this.childrenTabs.add(NotificacoesScreen());
|
||||
this.tabs.add(TabItem(icon: Icons.video_collection, title: 'Vídeos'));
|
||||
this.tabs.add(TabItem(icon: Icons.home, title: 'Home'));
|
||||
this.tabs.add(TabItem(icon: Icons.notifications, title: 'Notificações'));
|
||||
this.tabController = TabController(vsync: this, length: this.tabs.length);
|
||||
}
|
||||
|
||||
void tabsWithoutVideos(){
|
||||
this.childrenTabs.clear();
|
||||
this.tabs.clear();
|
||||
this.childrenTabs.add(HomeScreen());
|
||||
this.childrenTabs.add(NotificacoesScreen());
|
||||
this.tabs.add(TabItem(icon: Icons.home, title: 'Home'));
|
||||
this.tabs.add(TabItem(icon: Icons.notifications, title: 'Notificações'));
|
||||
this.tabController = new TabController(vsync: this, length: this.tabs.length);
|
||||
Get.rawSnackbar(message: 'Vídeos temporariamente indisponível');
|
||||
}
|
||||
|
||||
}
|
||||
+2
-1
@@ -1,3 +1,4 @@
|
||||
import 'package:decpisos/funcoes_gerais.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -6,7 +7,7 @@ import 'splash/splash.dart';
|
||||
|
||||
void main() {
|
||||
runApp(GetMaterialApp(
|
||||
title: 'LEX Station Lite',
|
||||
title: FuncoesGerais.nomeApp,
|
||||
localizationsDelegates: [
|
||||
// ... app-specific localization delegate[s] here
|
||||
GlobalMaterialLocalizations.delegate,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:appcardsstarter/funcoes_gerais.dart';
|
||||
import 'package:decpisos/funcoes_gerais.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:animated_splash_screen/animated_splash_screen.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -32,7 +32,7 @@ class SplashScreen extends StatelessWidget {
|
||||
splashIconSize: Get.size.height,
|
||||
splashTransition: SplashTransition.slideTransition,
|
||||
pageTransitionType: PageTransitionType.fade,
|
||||
backgroundColor: Colors.white,
|
||||
backgroundColor: Colors.blueGrey.shade800,
|
||||
screenFunction: ()async{
|
||||
await c.firebaseCloudMessagingListeners();
|
||||
await c.verTutorial();
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:appcardsstarter/atualizarapp/atualizarapp.dart';
|
||||
import 'package:appcardsstarter/index/index.dart';
|
||||
import 'package:appcardsstarter/notificacoes/notificacoes.dart';
|
||||
import 'package:decpisos/atualizarapp/atualizarapp.dart';
|
||||
import 'package:decpisos/index/index.dart';
|
||||
import 'package:decpisos/notificacoes/notificacoes.dart';
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
@@ -36,7 +36,7 @@ class YouTubeApi{
|
||||
retorno = YouTubeSearchResponse.fromJson(data);
|
||||
} else {
|
||||
var data = jsonDecode(response.body);
|
||||
retorno.errorCode = 2;
|
||||
retorno.errorCode = -5;
|
||||
retorno.errorMessage = "Erro inesperado, tente novamente mais tarde. #${response.statusCode}";
|
||||
if(data != null && data['error'] != null){
|
||||
if(data['error']['message'] != null && data['error']['message'].toString().isNotEmpty){
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import 'package:appcardsstarter/videos/api/youtube_api.dart';
|
||||
import 'package:appcardsstarter/videos/api/youtube_classes.dart';
|
||||
import 'package:decpisos/index/index_controller.dart';
|
||||
import 'package:decpisos/videos/api/youtube_api.dart';
|
||||
import 'package:decpisos/videos/api/youtube_classes.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:intl/intl.dart' show DateFormat;
|
||||
|
||||
class YouTubeController extends GetxController {
|
||||
YouTubeApi _api = new YouTubeApi();
|
||||
|
||||
final IndexController _ic = Get.find();
|
||||
var results = new YouTubeSearchResponse(
|
||||
errorCode: 0,
|
||||
errorMessage: '',
|
||||
@@ -58,6 +59,9 @@ class YouTubeController extends GetxController {
|
||||
results.value.nextPageToken = more.nextPageToken ?? '';
|
||||
results.value.items += more.items;
|
||||
}
|
||||
if(this.errorCode.value == -5){
|
||||
this._ic.tabsWithoutVideos();
|
||||
}
|
||||
this.loading.value = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:appcardsstarter/videos/youtube_video_player.dart';
|
||||
import 'package:decpisos/videos/youtube_video_player.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
Reference in New Issue
Block a user