From e562891b3c940f68b0fa86d3ff767123998caf56 Mon Sep 17 00:00:00 2001 From: Nilo Roberto C Paim Date: Sat, 25 Nov 2023 08:34:14 -0300 Subject: [PATCH] first rewrite --- .metadata | 25 +++++++-- lib/app_module.dart | 18 ------- lib/app_widget.dart | 15 ------ lib/main.dart | 75 ++++++++++++++++++++++---- lib/models/monitor_model.dart | 21 -------- lib/models/user_model.dart | 72 ------------------------- lib/pages/email_page.dart | 57 -------------------- lib/pages/server_info_page.dart | 71 ------------------------ lib/repositories/email_repository.dart | 15 ------ lib/utils/utils.dart | 5 -- 10 files changed, 85 insertions(+), 289 deletions(-) delete mode 100644 lib/app_module.dart delete mode 100644 lib/app_widget.dart delete mode 100644 lib/models/monitor_model.dart delete mode 100644 lib/models/user_model.dart delete mode 100644 lib/pages/email_page.dart delete mode 100644 lib/pages/server_info_page.dart delete mode 100644 lib/repositories/email_repository.dart delete mode 100644 lib/utils/utils.dart diff --git a/.metadata b/.metadata index d00a406..d22992e 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "d211f42860350d914a5ad8102f9ec32764dc6d06" + revision: "db7ef5bf9f59442b0e200a90587e8fa5e0c6336a" channel: "stable" project_type: app @@ -13,11 +13,26 @@ project_type: app migration: platforms: - platform: root - create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + create_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + base_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + - platform: android + create_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + base_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + - platform: ios + create_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + base_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + - platform: linux + create_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + base_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + - platform: macos + create_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + base_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a - platform: web - create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + create_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + base_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + - platform: windows + create_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a + base_revision: db7ef5bf9f59442b0e200a90587e8fa5e0c6336a # User provided section diff --git a/lib/app_module.dart b/lib/app_module.dart deleted file mode 100644 index dcffca3..0000000 --- a/lib/app_module.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:dio/dio.dart'; -import 'package:flutter_modular/flutter_modular.dart'; - -import 'pages/email_page.dart'; -import 'pages/server_info_page.dart'; - -class AppModule extends Module { - @override - void binds(i) { - i.add(() => Dio()); - } - - @override - void routes(r) { - r.child('/', child: (context) => const EmailPage()); - r.child('/serverinfo', child: (context) => const ServerInfoPage()); - } -} diff --git a/lib/app_widget.dart b/lib/app_widget.dart deleted file mode 100644 index d300398..0000000 --- a/lib/app_widget.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_modular/flutter_modular.dart'; - -class AppWidget extends StatelessWidget { - const AppWidget({super.key}); - - @override - Widget build(BuildContext context) { - return MaterialApp.router( - title: 'PCast Portal', - theme: ThemeData(primarySwatch: Colors.blue), - routerConfig: Modular.routerConfig, - ); - } -} diff --git a/lib/main.dart b/lib/main.dart index 16fb61d..e21ac83 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,14 +1,69 @@ import 'package:flutter/material.dart'; -import 'package:flutter_modular/flutter_modular.dart'; - -import 'app_module.dart'; -import 'app_widget.dart'; void main() { - return runApp( - ModularApp( - module: AppModule(), - child: const AppWidget(), - ), - ); + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Demo', + theme: ThemeData( + colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), + useMaterial3: true, + ), + home: const MyHomePage(title: 'Flutter Demo Home Page'), + ); + } +} + +class MyHomePage extends StatefulWidget { + const MyHomePage({super.key, required this.title}); + + final String title; + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + int _counter = 0; + + void _incrementCounter() { + setState(() { + _counter++; + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + backgroundColor: Theme.of(context).colorScheme.inversePrimary, + title: Text(widget.title), + ), + body: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + 'You have pushed the button this many times:', + ), + Text( + '$_counter', + style: Theme.of(context).textTheme.headlineMedium, + ), + ], + ), + ), + floatingActionButton: FloatingActionButton( + onPressed: _incrementCounter, + tooltip: 'Increment', + child: const Icon(Icons.add), + ), + ); + } } diff --git a/lib/models/monitor_model.dart b/lib/models/monitor_model.dart deleted file mode 100644 index ecfcb75..0000000 --- a/lib/models/monitor_model.dart +++ /dev/null @@ -1,21 +0,0 @@ -class MonitorModel { - double? memory; - double? cpu; - double? disk; - - MonitorModel({this.memory, this.cpu, this.disk}); - - MonitorModel.fromJson(Map json) { - memory = json['memory']; - cpu = json['cpu']; - disk = json['disk']; - } - - Map toJson() { - final Map data = {}; - data['memory'] = memory; - data['cpu'] = cpu; - data['disk'] = disk; - return data; - } -} diff --git a/lib/models/user_model.dart b/lib/models/user_model.dart deleted file mode 100644 index 44749d0..0000000 --- a/lib/models/user_model.dart +++ /dev/null @@ -1,72 +0,0 @@ -class UserModel { - int? iD; - String? createdAt; - String? updatedAt; - String? deletedAt; - String? name; - String? companyname; - String? email; - String? phone; - String? channel; - String? url; - String? cpfcnpj; - String? usertype; - String? blocked; - String? cancelled; - int? serverid; - - UserModel( - {this.iD, - this.createdAt, - this.updatedAt, - this.deletedAt, - this.name, - this.companyname, - this.email, - this.phone, - this.channel, - this.url, - this.cpfcnpj, - this.usertype, - this.blocked, - this.cancelled, - this.serverid}); - - UserModel.fromJson(Map json) { - iD = json['ID']; - createdAt = json['CreatedAt']; - updatedAt = json['UpdatedAt']; - deletedAt = json['DeletedAt']; - name = json['name']; - companyname = json['companyname']; - email = json['email']; - phone = json['phone']; - channel = json['channel']; - url = json['url']; - cpfcnpj = json['cpfcnpj']; - usertype = json['usertype']; - blocked = json['blocked']; - cancelled = json['cancelled']; - serverid = json['serverid']; - } - - Map toJson() { - final Map data = {}; - data['ID'] = iD; - data['CreatedAt'] = createdAt; - data['UpdatedAt'] = updatedAt; - data['DeletedAt'] = deletedAt; - data['name'] = name; - data['companyname'] = companyname; - data['email'] = email; - data['phone'] = phone; - data['channel'] = channel; - data['url'] = url; - data['cpfcnpj'] = cpfcnpj; - data['usertype'] = usertype; - data['blocked'] = blocked; - data['cancelled'] = cancelled; - data['serverid'] = serverid; - return data; - } -} diff --git a/lib/pages/email_page.dart b/lib/pages/email_page.dart deleted file mode 100644 index 2d7f9bc..0000000 --- a/lib/pages/email_page.dart +++ /dev/null @@ -1,57 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:pcast/utils/utils.dart'; - -class EmailPage extends StatefulWidget { - const EmailPage({super.key}); - - @override - State createState() => _EmailPageState(); -} - -class _EmailPageState extends State { - String email = ''; - String pass = 'initial'; - - @override - Widget build(BuildContext context) { - return Scaffold( - body: Container( - alignment: Alignment.center, - child: SizedBox( - width: MediaQuery.of(context).size.width * 0.5, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Visibility( - visible: (pass == 'initial'), - child: TextField( - onSubmitted: (value) { - if (Utils.isValidEmail(value)) { - setState(() { - email = value; - pass = 'authenticate'; - }); - } - }, - textInputAction: TextInputAction.search, - decoration: const InputDecoration( - border: UnderlineInputBorder(), - labelText: 'Informe seu email e pressione enter', - ), - ), - ), - const SizedBox(height: 20), - Visibility( - visible: (pass == 'authenticate'), - child: Text( - 'Foi informado o email $email. Agora vamos pedir a senha ou vamos pedir para completar o cadastro, dependendo da situação do usuário.', - style: const TextStyle(fontSize: 20), - ), - ), - ], - ), - ), - ), - ); - } -} diff --git a/lib/pages/server_info_page.dart b/lib/pages/server_info_page.dart deleted file mode 100644 index d697bcf..0000000 --- a/lib/pages/server_info_page.dart +++ /dev/null @@ -1,71 +0,0 @@ -import 'package:dio/dio.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_modular/flutter_modular.dart'; -import 'package:pcast/models/monitor_model.dart'; - -class ServerInfoPage extends StatefulWidget { -// const ServerInfoComponent({Key? key, required this.info}) : super(key: key); - -// final MonitorModel info; - -// @override -// Widget build(BuildContext context) { -// return Column( -// children: [ -// Text(' CPU: ${info.cpu}'), -// Text('Memory: ${info.memory}'), -// Text(' Disk: ${info.disk}'), -// ], -// ); -// } -// } - - const ServerInfoPage({super.key}); - - @override - State createState() => _ServerInfoPageState(); -} - -class _ServerInfoPageState extends State { - @override - void initState() { - super.initState(); - getmemory(); - } - - Future getmemory() async { - final dio = Modular.get(); - final response = await dio.get('https://api.pcastlivetv.com/health'); - return MonitorModel.fromJson(response.data); - } - - @override - Widget build(BuildContext context) { - return FutureBuilder( - future: getmemory(), - builder: (BuildContext context, AsyncSnapshot snapshot) { - if (snapshot.connectionState == ConnectionState.waiting) { - return const Center(child: Text('Please wait its loading...')); - } else { - if (snapshot.hasError) { - return Center(child: Text('Error: ${snapshot.error}')); - } else { - return Scaffold( - appBar: AppBar(title: const Text('Home Page')), - body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text('Memory: ${snapshot.data?.memory?.toStringAsFixed(2)}%'), - Text('CPU: ${snapshot.data?.cpu?.toStringAsFixed(2)}%'), - Text('Disk: ${snapshot.data?.disk?.toStringAsFixed(2)}%'), - ], - ), - ), - ); - } - } - }, - ); - } -} diff --git a/lib/repositories/email_repository.dart b/lib/repositories/email_repository.dart deleted file mode 100644 index 1e7e93d..0000000 --- a/lib/repositories/email_repository.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'package:dio/dio.dart'; -import 'package:flutter_modular/flutter_modular.dart'; - -import '../models/user_model.dart'; - -class EmailRepository { - EmailRepository(); - - // Get email from the API - Future getEmail(String email) async { - final dio = Modular.get(); - final response = await dio.get('https://api.pcastlivetv.com/checkuser/$email'); - return UserModel.fromJson(response.data); - } -} diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart deleted file mode 100644 index 0ca5246..0000000 --- a/lib/utils/utils.dart +++ /dev/null @@ -1,5 +0,0 @@ -class Utils { - static bool isValidEmail(String email) { - return RegExp(r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$').hasMatch(email); - } -}