GithubHelp home page GithubHelp logo

vnschneider / mermas_digitais_app Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 3.0 30.99 MB

O projeto ainda está em desenvolvimento, próximas atualizações serão publicadas em breve

Kotlin 0.05% Swift 0.71% Objective-C 0.01% Dart 80.97% CMake 6.35% C++ 7.80% C 0.48% HTML 2.41% JavaScript 0.06% CSS 0.25% Ruby 0.91%

mermas_digitais_app's Introduction

Hello world, i am Vinicius Schneider

  • 🎮 Mobile and game developer.
  • ⚡ Working from home.
  • 👨‍💻 Student of Computer Science (Bachelor).
  • 👽 Working with mobile and game development.

Mr. Schneider's GitHub stats Most Usage Languages


Dart Flutter Android Firebase Godot Unity Blender Figma Arduino

Snake animation

mermas_digitais_app's People

Contributors

dependabot[bot] avatar gzeloni avatar israeljorge avatar vnschneider avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

mermas_digitais_app's Issues

A animação da linha incluída na navbar está com problemas

Adicionei uma "linha" para indicar qual ícone está selecionado na navbar, essa linha é na verdade um animatedContainer. Não sei se há uma forma mais simples de implementar isso.

A animação é controlada por uma variável booleana (selected), quando o estado dela é alterado o animatedContainer recebe mundaças na cor e no tamanho, isso faz com que a animação se inicie.

lineAnimation() {
    selected = !selected;
  }

  ativatedIcon(IconData icon) {
    return Column(
      children: [
        Icon(
          icon,
          size: 38,
          color: const Color.fromARGB(255, 221, 199, 248),
        ),
        const SizedBox(height: 6),
        AnimatedContainer(
          onEnd: () => setState(() {
            selected = true;
          }),
          curve: Curves.elasticOut,
          duration: const Duration(milliseconds: 300),
          width: selected ? 38 : 10,
          decoration: BoxDecoration(
              border: Border(
                  bottom: BorderSide(
            width: 1.0,
            color: selected
                ? const Color.fromARGB(255, 221, 199, 248)
                : Colors.transparent,
          ))),
        ),
      ],
    );

O BottomNavigationBarItem recebe o objeto acima em "activeIcon"


BottomNavigationBarItem(
                tooltip: 'Comunicados',
                icon: Icon(widgetIcons[0]),
                activeIcon: ativatedIcon(widgetIcons[0]),
                label: '',
              ),

E a bool "selected" é alterada quando o index muda

 onTap: (index) => setState(() {
              indexOf = index;
              selected = !selected;    
            }),

O problema é que quando eu mudo de tela, essa booleana recebe uma alternância de true para false e quando está em false a "linha" não é exibida.

Modificação referente a esse commit

Não é possível fazer o build para web

Saída no console ao tentar executar com o Chrome:

: Error: The argument type 'Future<void> Function()' can't be assigned to the parameter type 'Future<void> Function(App)?'.
firebase_auth_web.dart:92
 - 'Future' is from 'dart:async'.
- 'App' is from 'package:firebase_core_web/src/interop/app.dart' ('../../../AppData/Local/Pub/Cache/hosted/pub.dev/firebase_core_web-2.2.2/lib/src/interop/app.dart').
app.dart:1
    FirebaseCoreWeb.registerService('auth', () async {
                                            ^

Saída no terminal ao tentar fazer o build para web com o comando "flutter build web":

 Building with sound null safety 

Target dart2js failed: Exception: Warning: The 'dart2js' entrypoint script is deprecated, please use 'dart 
compile js' instead.
../../../AppData/Local/Pub/Cache/hosted/pub.dev/firebase_auth_web-5.2.8/lib/firebase_auth_web.dart:92:45:  
Error: The argument type 'Future<void> Function()' can't be assigned to the parameter type 'Future<void>   
Function(App)?'.
 - 'Future' is from 'dart:async'.
 - 'App' is from 'package:firebase_core_web/src/interop/app.dart'
 ('../../../AppData/Local/Pub/Cache/hosted/pub.dev/firebase_core_web-2.2.2/lib/src/interop/app.dart').     
    FirebaseCoreWeb.registerService('auth', () async {
                                            ^
../../../AppData/Local/Pub/Cache/hosted/pub.dev/flutter_speed_dial-6.2.0/lib/src/speed_dial.dart:360:41:   
Warning: Operand of null-aware operation '!' has type 'OverlayState' which excludes null.
 - 'OverlayState' is from 'package:flutter/src/widgets/overlay.dart'
 ('/C:/src/flutter/packages/flutter/lib/src/widgets/overlay.dart').
      if (widget.renderOverlay) Overlay.of(context)!.insert(backgroundOverlay!);
                                        ^
../../../AppData/Local/Pub/Cache/hosted/pub.dev/flutter_speed_dial-6.2.0/lib/src/speed_dial.dart:361:15:   
Warning: Operand of null-aware operation '!' has type 'OverlayState' which excludes null.
 - 'OverlayState' is from 'package:flutter/src/widgets/overlay.dart'
 ('/C:/src/flutter/packages/flutter/lib/src/widgets/overlay.dart').
      Overlay.of(context)!.insert(overlayEntry!);
              ^
../../../AppData/Local/Pub/Cache/hosted/pub.dev/easy_search_bar-2.4.2/lib/easy_search_bar.dart:267:15:     
Warning: Operand of null-aware operation '!' has type 'OverlayState' which excludes null.
 - 'OverlayState' is from 'package:flutter/src/widgets/overlay.dart'
 ('/C:/src/flutter/packages/flutter/lib/src/widgets/overlay.dart').
      Overlay.of(context)!.insert(_overlayEntry!);
              ^
Error: Compilation failed.


#0      Dart2JSTarget.build (package:flutter_tools/src/build_system/targets/web.dart:225:7)
<asynchronous suspension>
#1      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:847:9)    
<asynchronous suspension>
#2      Future.wait.<anonymous closure> (dart:async/future.dart:522:21)
<asynchronous suspension>
#3      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:785:32)      
<asynchronous suspension>
#4      Future.wait.<anonymous closure> (dart:async/future.dart:522:21)
<asynchronous suspension>
#5      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:785:32)      
)
<asynchronous suspension>
#15     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:64:9)
<asynchronous suspension>
#16     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#17     main (package:flutter_tools/executable.dart:91:3)
<asynchronous suspension>

Compiling lib\main.dart for the Web...                             13,5s
Exception: Failed to compile application for the Web.
PS C:\Users\mrsch\Documentos\GitHub\mermas_digitais_app> flutter build web

 Building with sound null safety 

Target dart2js failed: Exception: Warning: The 'dart2js' entrypoint script is deprecated, please use 'dart      
compile js' instead.
../../../AppData/Local/Pub/Cache/hosted/pub.dev/firebase_auth_web-5.2.8/lib/firebase_auth_web.dart:92:45:
Error: The argument type 'Future<void> Function()' can't be assigned to the parameter type 'Future<void>
Function(App)?'.
 - 'Future' is from 'dart:async'.
 - 'App' is from 'package:firebase_core_web/src/interop/app.dart'
 ('../../../AppData/Local/Pub/Cache/hosted/pub.dev/firebase_core_web-2.2.2/lib/src/interop/app.dart').
    FirebaseCoreWeb.registerService('auth', () async {
                                            ^
../../../AppData/Local/Pub/Cache/hosted/pub.dev/flutter_speed_dial-6.2.0/lib/src/speed_dial.dart:360:41:
Warning: Operand of null-aware operation '!' has type 'OverlayState' which excludes null.
 - 'OverlayState' is from 'package:flutter/src/widgets/overlay.dart'
 ('/C:/src/flutter/packages/flutter/lib/src/widgets/overlay.dart').
      if (widget.renderOverlay) Overlay.of(context)!.insert(backgroundOverlay!);
                                        ^
../../../AppData/Local/Pub/Cache/hosted/pub.dev/flutter_speed_dial-6.2.0/lib/src/speed_dial.dart:361:15:        
Warning: Operand of null-aware operation '!' has type 'OverlayState' which excludes null.
 - 'OverlayState' is from 'package:flutter/src/widgets/overlay.dart'
 ('/C:/src/flutter/packages/flutter/lib/src/widgets/overlay.dart').
      Overlay.of(context)!.insert(overlayEntry!);
              ^
../../../AppData/Local/Pub/Cache/hosted/pub.dev/easy_search_bar-2.4.2/lib/easy_search_bar.dart:267:15:
Warning: Operand of null-aware operation '!' has type 'OverlayState' which excludes null.
 - 'OverlayState' is from 'package:flutter/src/widgets/overlay.dart'
 ('/C:/src/flutter/packages/flutter/lib/src/widgets/overlay.dart').
      Overlay.of(context)!.insert(_overlayEntry!);
              ^
Error: Compilation failed.


#0      Dart2JSTarget.build (package:flutter_tools/src/build_system/targets/web.dart:225:7)
<asynchronous suspension>
#1      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:847:9)
<asynchronous suspension>
#2      Future.wait.<anonymous closure> (dart:async/future.dart:522:21)
<asynchronous suspension>
#3      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:785:32)
<asynchronous suspension>
#4      Future.wait.<anonymous closure> (dart:async/future.dart:522:21)
<asynchronous suspension>
#5      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:785:32)
<asynchronous suspension>
#6      FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:614:16)
<asynchronous suspension>
#7      buildWeb (package:flutter_tools/src/web/compile.dart:53:32)
<asynchronous suspension>
#8      BuildWebCommand.runCommand (package:flutter_tools/src/commands/build_web.dart:135:5)
<asynchronous suspension>
#9      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1257:27)  
<asynchronous suspension>
#10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#11     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#12     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:283:9)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#14     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)    
<asynchronous suspension>
#15     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:64:9)
<asynchronous suspension>
#16     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#17     main (package:flutter_tools/executable.dart:91:3)
<asynchronous suspension>

Compiling lib\main.dart for the Web...                             13,1s
Exception: Failed to compile application for the Web.

@gzeloni

As funções getUserInfo e userInfo não estão funcionando

Função userInfo:

Future userInfo(
    {String? userUID,
    double? userFrequence,
    required String userName,
    required String userEmail,
    required String userProfilePhoto,
    required user}) async {
  try {
    final docRef = FirebaseFirestore.instance.collection("users").doc(user.uid);
    final doc = await docRef.get();
    final data = doc.data() as Map<String, dynamic>;

    userUID = user.uid;
    userName = data['name'];
    userEmail = data['email'];
    userFrequence = data['frequence'];

    final profilephotoRef = FirebaseStorage.instance
        .ref()
        .child('users/${user.uid}/profilephoto.jpg');

    await profilephotoRef.getDownloadURL().then((value) {
      userProfilePhoto = value;
    });
  } catch (e) {
    return print('Banco de dados vazio!');
  }
}

Trecho aonde a função é utilizada em \lib\src\screens\menuPages\frequencia_page.dart

 final user = FirebaseAuth.instance.currentUser!;

  String userUID = '';
  String userEmail = '';
  String userName = '';
  double userFrequence = 0;
  String userProfilePhoto = '';

  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
      future: userInfo(
          user: user,
          userUID: user.uid,
          userEmail: userEmail,
          userName: userName,
          userFrequence: userFrequence,
          userProfilePhoto: userProfilePhoto),

Dessa forma a saída no terminal é:

W/NetworkRequest(26441): No App Check token for request.
I/flutter (26441): Banco de dados vazio

Tem alguma ideia de onde está a falha na implementação? @gzeloni

O app possibilita um retorno para a ultima rota.

Afim de manter a resposta para um erro, adicionei o mesmo AlertDialog da tela NewUser na tela de Login. Isso me fez perceber que o app está fazendo o push da nova rota mantendo o ultimo estado salvo, assim o usuário pode voltar para a tela anterior e isso está quebrando a aplicação. Alguma ideia para solucionar este erro? Eliminar o back button da appbar não é o suficiente já que o usuário pode usar os botões de navegação do aparelho para realizar essa ação.

Captura de tela

Publicar nova release

A versão atual do projeto já apresenta mudanças significativas se comparado a ultima release. Acredito que seja interessante publicar uma nova release.

Implementação do Firebase Auth está incorreta

Future signIn() async {
    showDialog(
        context: context,
        builder: (context) {
          return const LoadingWindow();
        });

    try {
      await FirebaseAuth.instance.signInWithEmailAndPassword(
        email: _emailController.text.trim(),
        password: _passwordController.text.trim(),
      );
    } on FirebaseAuthException catch (e) {
      if (e.code == 'user-not-found') {
        print('Email não encontrado!');
        //'Email não encontrado!';
      } else if (e.code == 'wrong-password') {
        print('Senha incorreta!');
        //'Senha incorreta!';
      }
    }
    Navigator.of(context).pop();
  }

A posição do Navigator está incorreta.
Dessa forma, ele joga para a próxima tela mesmo sem autenticar.
Segue a versão corrigida, vou implementar no próximo pull request usando rotas nomeadas.

try {
      await FirebaseAuth.instance.signInWithEmailAndPassword(
        email: _emailController.text.trim(),
        password: _passwordController.text.trim(),
      );
     // NAVIGATOR TEM QUE ESTAR AQUI
    }

Unexpected Null value em: verifyEmail.dart

O controller _emailController não pode ser nulo, mas não há verificação no botão "Verificar" que proíba que o TextField esteja null.

Necessário criar uma condição (ternária ou com if), para verificar o campo TextField antes de prosseguir para a tela NewUserPage.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.