autofill attempt
This commit is contained in:
		
							parent
							
								
									cbcdf7418e
								
							
						
					
					
						commit
						64703dbc67
					
				
					 17 changed files with 72 additions and 47 deletions
				
			
		| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/login.dart';
 | 
					import 'package:fooder/screens/login.dart';
 | 
				
			||||||
import 'package:fooder_web/client.dart';
 | 
					import 'package:fooder/client.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class MyApp extends StatelessWidget {
 | 
					class MyApp extends StatelessWidget {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
import 'package:fooder_web/models/meal.dart';
 | 
					import 'package:fooder/models/meal.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Diary {
 | 
					class Diary {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
import 'package:fooder_web/models/product.dart';
 | 
					import 'package:fooder/models/product.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Entry {
 | 
					class Entry {
 | 
				
			||||||
  final int id;
 | 
					  final int id;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
import 'package:fooder_web/models/entry.dart';
 | 
					import 'package:fooder/models/entry.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Meal {
 | 
					class Meal {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,11 +1,11 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:flutter/services.dart';
 | 
					import 'package:flutter/services.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/based.dart';
 | 
					import 'package:fooder/screens/based.dart';
 | 
				
			||||||
import 'package:fooder_web/models/product.dart';
 | 
					import 'package:fooder/models/product.dart';
 | 
				
			||||||
import 'package:fooder_web/models/diary.dart';
 | 
					import 'package:fooder/models/diary.dart';
 | 
				
			||||||
import 'package:fooder_web/models/meal.dart';
 | 
					import 'package:fooder/models/meal.dart';
 | 
				
			||||||
import 'package:fooder_web/widgets/product.dart';
 | 
					import 'package:fooder/widgets/product.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/add_product.dart';
 | 
					import 'package:fooder/screens/add_product.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AddEntryScreen extends BasedScreen {
 | 
					class AddEntryScreen extends BasedScreen {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/based.dart';
 | 
					import 'package:fooder/screens/based.dart';
 | 
				
			||||||
import 'package:fooder_web/models/diary.dart';
 | 
					import 'package:fooder/models/diary.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AddMealScreen extends BasedScreen {
 | 
					class AddMealScreen extends BasedScreen {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:flutter/services.dart';
 | 
					import 'package:flutter/services.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/based.dart';
 | 
					import 'package:fooder/screens/based.dart';
 | 
				
			||||||
import 'package:fooder_web/models/product.dart';
 | 
					import 'package:fooder/models/product.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AddProductScreen extends BasedScreen {
 | 
					class AddProductScreen extends BasedScreen {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/client.dart';
 | 
					import 'package:fooder/client.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
abstract class BasedScreen extends StatefulWidget {
 | 
					abstract class BasedScreen extends StatefulWidget {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,10 +1,10 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:flutter/services.dart';
 | 
					import 'package:flutter/services.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/based.dart';
 | 
					import 'package:fooder/screens/based.dart';
 | 
				
			||||||
import 'package:fooder_web/models/product.dart';
 | 
					import 'package:fooder/models/product.dart';
 | 
				
			||||||
import 'package:fooder_web/models/entry.dart';
 | 
					import 'package:fooder/models/entry.dart';
 | 
				
			||||||
import 'package:fooder_web/widgets/product.dart';
 | 
					import 'package:fooder/widgets/product.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/add_product.dart';
 | 
					import 'package:fooder/screens/add_product.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class EditEntryScreen extends BasedScreen {
 | 
					class EditEntryScreen extends BasedScreen {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,8 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/based.dart';
 | 
					import 'package:flutter/services.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/main.dart';
 | 
					import 'package:fooder/screens/based.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/register.dart';
 | 
					import 'package:fooder/screens/main.dart';
 | 
				
			||||||
 | 
					import 'package:fooder/screens/register.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class LoginScreen extends BasedScreen {
 | 
					class LoginScreen extends BasedScreen {
 | 
				
			||||||
| 
						 | 
					@ -69,6 +70,13 @@ class _LoginScreen extends State<LoginScreen> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  void initState () {
 | 
					  void initState () {
 | 
				
			||||||
    super.initState();
 | 
					    super.initState();
 | 
				
			||||||
 | 
					    SystemChannels.textInput.invokeMethod('TextInput.setClientFeatures', <String, dynamic>{
 | 
				
			||||||
 | 
					      'setAuthenticationConfiguration': true,
 | 
				
			||||||
 | 
					      'setAutofillHints': <String>[
 | 
				
			||||||
 | 
					        AutofillHints.username,
 | 
				
			||||||
 | 
					        AutofillHints.password,
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
    _asyncInitState().then((value) => null);
 | 
					    _asyncInitState().then((value) => null);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -105,6 +113,7 @@ class _LoginScreen extends State<LoginScreen> {
 | 
				
			||||||
                  labelText: 'Username',
 | 
					                  labelText: 'Username',
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
                controller: usernameController,
 | 
					                controller: usernameController,
 | 
				
			||||||
 | 
					                autofillHints: const [AutofillHints.username],
 | 
				
			||||||
              ),
 | 
					              ),
 | 
				
			||||||
              TextFormField(
 | 
					              TextFormField(
 | 
				
			||||||
                obscureText: true,
 | 
					                obscureText: true,
 | 
				
			||||||
| 
						 | 
					@ -112,7 +121,8 @@ class _LoginScreen extends State<LoginScreen> {
 | 
				
			||||||
                  labelText: 'Password',
 | 
					                  labelText: 'Password',
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
                controller: passwordController,
 | 
					                controller: passwordController,
 | 
				
			||||||
                onFieldSubmitted: (_) => _login()
 | 
					                onFieldSubmitted: (_) => _login(),
 | 
				
			||||||
 | 
					                autofillHints: const [AutofillHints.password],
 | 
				
			||||||
              ),
 | 
					              ),
 | 
				
			||||||
              Padding(
 | 
					              Padding(
 | 
				
			||||||
                padding: const EdgeInsets.symmetric(vertical: 10),
 | 
					                padding: const EdgeInsets.symmetric(vertical: 10),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/based.dart';
 | 
					import 'package:fooder/screens/based.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/login.dart';
 | 
					import 'package:fooder/screens/login.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/add_entry.dart';
 | 
					import 'package:fooder/screens/add_entry.dart';
 | 
				
			||||||
import 'package:fooder_web/models/diary.dart';
 | 
					import 'package:fooder/models/diary.dart';
 | 
				
			||||||
import 'package:fooder_web/widgets/diary.dart';
 | 
					import 'package:fooder/widgets/diary.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class MainScreen extends BasedScreen {
 | 
					class MainScreen extends BasedScreen {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/based.dart';
 | 
					import 'package:flutter/services.dart';
 | 
				
			||||||
 | 
					import 'package:fooder/screens/based.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class RegisterScreen extends BasedScreen {
 | 
					class RegisterScreen extends BasedScreen {
 | 
				
			||||||
| 
						 | 
					@ -23,6 +24,18 @@ class _RegisterScreen extends State<RegisterScreen> {
 | 
				
			||||||
    super.dispose();
 | 
					    super.dispose();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  void initState() {
 | 
				
			||||||
 | 
					    super.initState();
 | 
				
			||||||
 | 
					    SystemChannels.textInput.invokeMethod('TextInput.setClientFeatures', <String, dynamic>{
 | 
				
			||||||
 | 
					      'setAuthenticationConfiguration': true,
 | 
				
			||||||
 | 
					      'setAutofillHints': <String>[
 | 
				
			||||||
 | 
					        AutofillHints.username,
 | 
				
			||||||
 | 
					        AutofillHints.password,
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void showError(String message)
 | 
					  void showError(String message)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    ScaffoldMessenger.of(context).showSnackBar(
 | 
					    ScaffoldMessenger.of(context).showSnackBar(
 | 
				
			||||||
| 
						 | 
					@ -85,6 +98,7 @@ class _RegisterScreen extends State<RegisterScreen> {
 | 
				
			||||||
                  labelText: 'Username',
 | 
					                  labelText: 'Username',
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
                controller: usernameController,
 | 
					                controller: usernameController,
 | 
				
			||||||
 | 
					                autofillHints: const [AutofillHints.username],
 | 
				
			||||||
              ),
 | 
					              ),
 | 
				
			||||||
              TextFormField(
 | 
					              TextFormField(
 | 
				
			||||||
                obscureText: true,
 | 
					                obscureText: true,
 | 
				
			||||||
| 
						 | 
					@ -92,6 +106,7 @@ class _RegisterScreen extends State<RegisterScreen> {
 | 
				
			||||||
                  labelText: 'Password',
 | 
					                  labelText: 'Password',
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
                controller: passwordController,
 | 
					                controller: passwordController,
 | 
				
			||||||
 | 
					                autofillHints: const [AutofillHints.password],
 | 
				
			||||||
              ),
 | 
					              ),
 | 
				
			||||||
              TextFormField(
 | 
					              TextFormField(
 | 
				
			||||||
                obscureText: true,
 | 
					                obscureText: true,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/models/diary.dart';
 | 
					import 'package:fooder/models/diary.dart';
 | 
				
			||||||
import 'package:fooder_web/widgets/meal.dart';
 | 
					import 'package:fooder/widgets/meal.dart';
 | 
				
			||||||
import 'package:fooder_web/widgets/macro.dart';
 | 
					import 'package:fooder/widgets/macro.dart';
 | 
				
			||||||
import 'package:fooder_web/client.dart';
 | 
					import 'package:fooder/client.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/add_meal.dart';
 | 
					import 'package:fooder/screens/add_meal.dart';
 | 
				
			||||||
import 'dart:core';
 | 
					import 'dart:core';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/models/entry.dart';
 | 
					import 'package:fooder/models/entry.dart';
 | 
				
			||||||
import 'package:fooder_web/widgets/macro.dart';
 | 
					import 'package:fooder/widgets/macro.dart';
 | 
				
			||||||
import 'dart:core';
 | 
					import 'dart:core';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/models/meal.dart';
 | 
					import 'package:fooder/models/meal.dart';
 | 
				
			||||||
import 'package:fooder_web/widgets/entry.dart';
 | 
					import 'package:fooder/widgets/entry.dart';
 | 
				
			||||||
import 'package:fooder_web/widgets/macro.dart';
 | 
					import 'package:fooder/widgets/macro.dart';
 | 
				
			||||||
import 'package:fooder_web/screens/edit_entry.dart';
 | 
					import 'package:fooder/screens/edit_entry.dart';
 | 
				
			||||||
import 'package:fooder_web/client.dart';
 | 
					import 'package:fooder/client.dart';
 | 
				
			||||||
import 'dart:core';
 | 
					import 'dart:core';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:fooder_web/models/product.dart';
 | 
					import 'package:fooder/models/product.dart';
 | 
				
			||||||
import 'package:fooder_web/widgets/macro.dart';
 | 
					import 'package:fooder/widgets/macro.dart';
 | 
				
			||||||
import 'dart:core';
 | 
					import 'dart:core';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
name: fooder_web
 | 
					name: fooder
 | 
				
			||||||
description: A new Flutter project.
 | 
					description: FOODER - no bloat food diary
 | 
				
			||||||
# The following line prevents the package from being accidentally published to
 | 
					# The following line prevents the package from being accidentally published to
 | 
				
			||||||
# pub.dev using `flutter pub publish`. This is preferred for private packages.
 | 
					# pub.dev using `flutter pub publish`. This is preferred for private packages.
 | 
				
			||||||
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 | 
					publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue