home button, and rough purple numbers
This commit is contained in:
		
							parent
							
								
									47f24fe849
								
							
						
					
					
						commit
						f5f969e998
					
				
					 3 changed files with 199 additions and 22 deletions
				
			
		| 
						 | 
					@ -5,7 +5,6 @@ import 'dart:ui_web' as ui;
 | 
				
			||||||
import 'dart:html' as html;
 | 
					import 'dart:html' as html;
 | 
				
			||||||
import 'augment.dart';
 | 
					import 'augment.dart';
 | 
				
			||||||
import 'dart:js' as js;
 | 
					import 'dart:js' as js;
 | 
				
			||||||
// import 'package:flutter_web_plugins/flutter_web_plugins.dart';
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
class MailAddress {
 | 
					class MailAddress {
 | 
				
			||||||
  final String? name;
 | 
					  final String? name;
 | 
				
			||||||
| 
						 | 
					@ -368,6 +367,7 @@ class _EmailViewState extends State<EmailView> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
 | 
					    // print(currentContent);
 | 
				
			||||||
    return Scaffold(
 | 
					    return Scaffold(
 | 
				
			||||||
        appBar: AppBar(
 | 
					        appBar: AppBar(
 | 
				
			||||||
          title: Text(widget.name),
 | 
					          title: Text(widget.name),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										218
									
								
								lib/augment.dart
									
										
									
									
									
								
							
							
						
						
									
										218
									
								
								lib/augment.dart
									
										
									
									
									
								
							| 
						 | 
					@ -5,31 +5,207 @@ import 'dart:ui_web' as ui;
 | 
				
			||||||
import 'dart:html' as html;
 | 
					import 'dart:html' as html;
 | 
				
			||||||
import 'dart:js' as js;
 | 
					import 'dart:js' as js;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class EmailToolbar extends StatelessWidget {
 | 
					class EmailToolbar extends StatefulWidget {
 | 
				
			||||||
  final VoidCallback onButtonPressed;
 | 
					  final VoidCallback onButtonPressed;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const EmailToolbar({Key? key, required this.onButtonPressed}) : super(key: key);
 | 
					  EmailToolbar({Key? key, required this.onButtonPressed}) : super(key: key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  _DynamicClassesAugment createState() => _DynamicClassesAugment();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class _DynamicClassesAugment extends State<EmailToolbar> {
 | 
				
			||||||
 | 
					  String selectedClass = 'Class 1';
 | 
				
			||||||
 | 
					  late final FocusNode _JumpItemfocusNode;
 | 
				
			||||||
 | 
					  late final FocusNode _viewSpecsfocusNode;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  bool _jumpItemHasFocus = false;
 | 
				
			||||||
 | 
					  bool _viewSpecsHasFocus = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  void initState() {
 | 
				
			||||||
 | 
					    super.initState();
 | 
				
			||||||
 | 
					    _JumpItemfocusNode = FocusNode();
 | 
				
			||||||
 | 
					    _viewSpecsfocusNode = FocusNode();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    _JumpItemfocusNode.addListener(() {
 | 
				
			||||||
 | 
					      setState(() => _jumpItemHasFocus = _JumpItemfocusNode.hasFocus);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    _viewSpecsfocusNode.addListener(() {
 | 
				
			||||||
 | 
					      setState(() => _viewSpecsHasFocus = _viewSpecsfocusNode.hasFocus);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  void dispose() {
 | 
				
			||||||
 | 
					    _JumpItemfocusNode.dispose();
 | 
				
			||||||
 | 
					    _viewSpecsfocusNode.dispose();
 | 
				
			||||||
 | 
					    super.dispose();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
    return Row(
 | 
					    const animationDuration = Duration(milliseconds: 250);
 | 
				
			||||||
      children: [
 | 
					
 | 
				
			||||||
        ElevatedButton(
 | 
					    return Column(children: [
 | 
				
			||||||
          onPressed: onButtonPressed,
 | 
					      Row(
 | 
				
			||||||
          child: Text('Home'),
 | 
					        children: [
 | 
				
			||||||
        ),
 | 
					          ElevatedButton(
 | 
				
			||||||
        SizedBox(width: 8),
 | 
					            onPressed: () => AugmentClasses.handleHome(context),
 | 
				
			||||||
        ElevatedButton(
 | 
					            child: Text('Home'),
 | 
				
			||||||
          onPressed: onButtonPressed,
 | 
					          ),
 | 
				
			||||||
          child: Text('Reload'),
 | 
					          SizedBox(width: 8),
 | 
				
			||||||
        ),
 | 
					          ElevatedButton(
 | 
				
			||||||
        Spacer(),
 | 
					            onPressed: AugmentClasses.handleReload,
 | 
				
			||||||
        ElevatedButton(
 | 
					            child: Text('Reload'),
 | 
				
			||||||
          onPressed: onButtonPressed,
 | 
					          ),
 | 
				
			||||||
          child: Text('Options'),
 | 
					          ElevatedButton(
 | 
				
			||||||
        )
 | 
					            onPressed: AugmentClasses.handleImages,
 | 
				
			||||||
      
 | 
					            child: Text('Images'),
 | 
				
			||||||
      ],
 | 
					          ),
 | 
				
			||||||
    );
 | 
					          SizedBox(width: 8),
 | 
				
			||||||
 | 
					          ElevatedButton(
 | 
				
			||||||
 | 
					            onPressed: AugmentClasses.handleOpen,
 | 
				
			||||||
 | 
					            child: Text('Open'),
 | 
				
			||||||
 | 
					          ),
 | 
				
			||||||
 | 
					          // SizedBox(width: 8),
 | 
				
			||||||
 | 
					          ElevatedButton(
 | 
				
			||||||
 | 
					            onPressed: AugmentClasses.handleFind,
 | 
				
			||||||
 | 
					            child: Text('Find'),
 | 
				
			||||||
 | 
					          ),
 | 
				
			||||||
 | 
					          // SizedBox(width: 8),
 | 
				
			||||||
 | 
					          ElevatedButton(
 | 
				
			||||||
 | 
					            onPressed: AugmentClasses.handleStop,
 | 
				
			||||||
 | 
					            child: Text('Stop'),
 | 
				
			||||||
 | 
					          ),
 | 
				
			||||||
 | 
					          Spacer(),
 | 
				
			||||||
 | 
					          PopupMenuButton<String>(
 | 
				
			||||||
 | 
					            onSelected: (String value) {
 | 
				
			||||||
 | 
					              setState(() {
 | 
				
			||||||
 | 
					                selectedClass = value;
 | 
				
			||||||
 | 
					                print(selectedClass);
 | 
				
			||||||
 | 
					              });
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            itemBuilder: (BuildContext context) => <PopupMenuEntry<String>>[
 | 
				
			||||||
 | 
					              const PopupMenuItem<String>(
 | 
				
			||||||
 | 
					                value: 'Class 1',
 | 
				
			||||||
 | 
					                child: Text('Class 1'),
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					              const PopupMenuItem<String>(
 | 
				
			||||||
 | 
					                value: 'Class 2',
 | 
				
			||||||
 | 
					                child: Text('Class 2'),
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					              const PopupMenuItem<String>(
 | 
				
			||||||
 | 
					                value: 'Turbo 3',
 | 
				
			||||||
 | 
					                child: Text('Turbo 3'),
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					            // child: ElevatedButton(
 | 
				
			||||||
 | 
					            // onPressed: () {},
 | 
				
			||||||
 | 
					            child: Text('Options'),
 | 
				
			||||||
 | 
					          ),
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					      ),
 | 
				
			||||||
 | 
					      if (selectedClass == 'Class 2')
 | 
				
			||||||
 | 
					        Stack(children: [
 | 
				
			||||||
 | 
					          Row(
 | 
				
			||||||
 | 
					            children: [
 | 
				
			||||||
 | 
					              Container(
 | 
				
			||||||
 | 
					                width: 150,
 | 
				
			||||||
 | 
					                height: 30,
 | 
				
			||||||
 | 
					                child: TextField(
 | 
				
			||||||
 | 
					                  decoration: InputDecoration(
 | 
				
			||||||
 | 
					                      labelText: 'Jump Item',
 | 
				
			||||||
 | 
					                      border: OutlineInputBorder(),
 | 
				
			||||||
 | 
					                      suffixIcon: Icon(Icons.search)),
 | 
				
			||||||
 | 
					                ),
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					              //TODO: Make an animation to make the button a textfield
 | 
				
			||||||
 | 
					              // AnimatedSwitcher(
 | 
				
			||||||
 | 
					              //   duration: animationDuration,
 | 
				
			||||||
 | 
					              //   transitionBuilder: (Widget child, Animation<double> animation) {
 | 
				
			||||||
 | 
					              //     return FadeTransition(opacity: animation, child: child);
 | 
				
			||||||
 | 
					              //   },
 | 
				
			||||||
 | 
					              //   child: _jumpItemHasFocus
 | 
				
			||||||
 | 
					              //       ? Container(
 | 
				
			||||||
 | 
					              //           key: ValueKey('TextField1'),
 | 
				
			||||||
 | 
					              //           width: 150,
 | 
				
			||||||
 | 
					              //           child: TextField(
 | 
				
			||||||
 | 
					              //             focusNode: _JumpItemfocusNode,
 | 
				
			||||||
 | 
					              //             decoration: InputDecoration(
 | 
				
			||||||
 | 
					              //               hintText: 'Enter Text',
 | 
				
			||||||
 | 
					              //               border: OutlineInputBorder(),
 | 
				
			||||||
 | 
					              //             ),
 | 
				
			||||||
 | 
					              //           ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              //         )
 | 
				
			||||||
 | 
					              //       : Container(
 | 
				
			||||||
 | 
					              //           key: ValueKey('Button1'),
 | 
				
			||||||
 | 
					              //           child: ElevatedButton(
 | 
				
			||||||
 | 
					              //             onPressed: () => _JumpItemfocusNode.requestFocus(),
 | 
				
			||||||
 | 
					              //             child: Text('Jump Item:'),
 | 
				
			||||||
 | 
					              //         ),
 | 
				
			||||||
 | 
					              //       ),
 | 
				
			||||||
 | 
					              // ),
 | 
				
			||||||
 | 
					              SizedBox(width: 8),
 | 
				
			||||||
 | 
					              Container(
 | 
				
			||||||
 | 
					                width: 150,
 | 
				
			||||||
 | 
					                height: 30,
 | 
				
			||||||
 | 
					                child: TextField(
 | 
				
			||||||
 | 
					                  decoration: InputDecoration(
 | 
				
			||||||
 | 
					                      labelText: 'viewSpecs',
 | 
				
			||||||
 | 
					                      border: OutlineInputBorder(),
 | 
				
			||||||
 | 
					                      suffixIcon: Icon(Icons.style_rounded)),
 | 
				
			||||||
 | 
					                ),
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					              ElevatedButton(
 | 
				
			||||||
 | 
					                onPressed: AugmentClasses.handleImages,
 | 
				
			||||||
 | 
					                child: Text('Filter'),
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					              SizedBox(width: 8),
 | 
				
			||||||
 | 
					              ElevatedButton(
 | 
				
			||||||
 | 
					                onPressed: AugmentClasses.handleOpen,
 | 
				
			||||||
 | 
					                child: Text('Lookup'),
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					              // SizedBox(width: 8),
 | 
				
			||||||
 | 
					              ElevatedButton(
 | 
				
			||||||
 | 
					                onPressed: AugmentClasses.handleFind,
 | 
				
			||||||
 | 
					                child: Text('Create Link'),
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					              ElevatedButton(
 | 
				
			||||||
 | 
					                onPressed: AugmentClasses.handleFind,
 | 
				
			||||||
 | 
					                child: Text('Paste Link'),
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					          )
 | 
				
			||||||
 | 
					        ])
 | 
				
			||||||
 | 
					    ]);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class AugmentClasses {
 | 
				
			||||||
 | 
					  static void handleHome(BuildContext context) {
 | 
				
			||||||
 | 
					    Navigator.of(context).popUntil((route) => route.isFirst);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  static void handleReload() {
 | 
				
			||||||
 | 
					    print("Reload button pressed");
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  static void handleImages() {
 | 
				
			||||||
 | 
					    print("Images button pressed");
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  static void handleOpen() {
 | 
				
			||||||
 | 
					    print("Open button pressed");
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  static void handleFind() {
 | 
				
			||||||
 | 
					    print("Find button pressed");
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  static void handleStop() {
 | 
				
			||||||
 | 
					    print("Stop button pressed");
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,6 +20,7 @@ class HyM extends StatelessWidget {
 | 
				
			||||||
      title: 'HyM',
 | 
					      title: 'HyM',
 | 
				
			||||||
      home: HomeScreen(),
 | 
					      home: HomeScreen(),
 | 
				
			||||||
      routes: {
 | 
					      routes: {
 | 
				
			||||||
 | 
					        // '/': (context) => HomeScreen(),
 | 
				
			||||||
        "/email": (context) => EmailPage(),
 | 
					        "/email": (context) => EmailPage(),
 | 
				
			||||||
        "/contacts": (context) => ContactsPage(),
 | 
					        "/contacts": (context) => ContactsPage(),
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue