diff --git a/mobile/app/ios/Flutter/Debug.xcconfig b/mobile/app/ios/Flutter/Debug.xcconfig index 592ceee..ec97fc6 100644 --- a/mobile/app/ios/Flutter/Debug.xcconfig +++ b/mobile/app/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/mobile/app/ios/Flutter/Release.xcconfig b/mobile/app/ios/Flutter/Release.xcconfig index 592ceee..c4855bf 100644 --- a/mobile/app/ios/Flutter/Release.xcconfig +++ b/mobile/app/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/mobile/app/ios/Podfile b/mobile/app/ios/Podfile new file mode 100644 index 0000000..d97f17e --- /dev/null +++ b/mobile/app/ios/Podfile @@ -0,0 +1,44 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '12.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/mobile/app/lib/components/conversation_details_overlay/conversation_details_overlay_model.dart b/mobile/app/lib/components/conversation_details_overlay/conversation_details_overlay_model.dart index 00629a4..552924c 100644 --- a/mobile/app/lib/components/conversation_details_overlay/conversation_details_overlay_model.dart +++ b/mobile/app/lib/components/conversation_details_overlay/conversation_details_overlay_model.dart @@ -11,11 +11,11 @@ class ConversationDetailsOverlayModel /// State fields for stateful widgets in this component. // Model for OptionsDialog component. - late OptionsDialogModel optionsDialogModel; + late PopupModel optionsDialogModel; @override void initState(BuildContext context) { - optionsDialogModel = createModel(context, () => OptionsDialogModel()); + optionsDialogModel = createModel(context, () => PopupModel()); } @override diff --git a/mobile/app/lib/components/conversation_details_overlay/conversation_details_overlay_widget.dart b/mobile/app/lib/components/conversation_details_overlay/conversation_details_overlay_widget.dart index c8b9d15..13f0b48 100644 --- a/mobile/app/lib/components/conversation_details_overlay/conversation_details_overlay_widget.dart +++ b/mobile/app/lib/components/conversation_details_overlay/conversation_details_overlay_widget.dart @@ -5,6 +5,8 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'conversation_details_overlay_model.dart'; export 'conversation_details_overlay_model.dart'; @@ -73,29 +75,24 @@ class _ConversationDetailsOverlayWidgetState mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Padding( - padding: const EdgeInsetsDirectional.fromSTEB(16, 0, 0, 0), + const Padding( + padding: EdgeInsetsDirectional.fromSTEB(16, 0, 0, 0), child: Text( 'Chat Details', - style: AppAppAppAppAppAppAppAppAppTheme - .headlineSmall - .override( - fontFamily: 'Outfit', - letterSpacing: 0, - ), + style: AppTheme.headlineSmall, ), ), Padding( padding: const EdgeInsetsDirectional.fromSTEB(0, 0, 16, 0), child: FlutterFlowIconButton( - borderColor: AppAppAppAppAppAppAppAppAppTheme.alternate, + borderColor: AppTheme.alternate, borderRadius: 12, borderWidth: 1, buttonSize: 40, - fillColor: AppAppAppAppAppAppAppAppAppTheme.accent4, - icon: Icon( + fillColor: AppTheme.accent4, + icon: const Icon( Icons.close_rounded, - color: AppAppAppAppAppAppAppAppAppTheme.primaryText, + color: AppTheme.primaryTextColor, size: 24, ), onPressed: () async { @@ -109,38 +106,34 @@ class _ConversationDetailsOverlayWidgetState padding: const EdgeInsetsDirectional.fromSTEB(16, 4, 0, 4), child: RichText( textScaler: MediaQuery.of(context).textScaler, - text: TextSpan( + text: const TextSpan( children: [ - const TextSpan( + TextSpan( text: 'Group Chat ID: ', style: TextStyle(), ), TextSpan( text: 'Hello World ', style: TextStyle( - color: AppAppAppAppAppAppAppAppAppTheme.primary, + color: AppTheme.primary, fontWeight: FontWeight.bold, ), ) ], - style: - AppAppAppAppAppAppAppAppAppTheme.labelMedium.override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelMedium, ), ), ), - Expanded( + const Expanded( child: Align( - alignment: const AlignmentDirectional(0, 0), + alignment: AlignmentDirectional(0, 0), child: Column( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.start, children: [ Divider( thickness: 1, - color: AppAppAppAppAppAppAppAppAppTheme.tertiary, + color: AppTheme.tertiary, ), ], ), @@ -154,18 +147,18 @@ class _ConversationDetailsOverlayWidgetState borderRadius: BorderRadius.circular(12), child: Container( decoration: BoxDecoration( - color: AppAppAppAppAppAppAppAppAppTheme + color: AppTheme .secondaryBackground, borderRadius: BorderRadius.circular(12), border: Border.all( - color: AppAppAppAppAppAppAppAppAppTheme.alternate, + color: AppTheme.alternate, ), ), child: wrapWithModel( model: _model.optionsDialogModel, updateCallback: () => setState(() {}), updateOnChange: true, - child: OptionsDialogWidget(), + child: const PopupWidget(), ), ), ), @@ -185,26 +178,20 @@ class _ConversationDetailsOverlayWidgetState iconPadding: const EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0), color: - AppAppAppAppAppAppAppAppAppTheme.secondaryBackground, - textStyle: - AppAppAppAppAppAppAppAppAppTheme.titleLarge.override( - fontFamily: 'Outfit', - fontSize: 18, - letterSpacing: 0, - ), + AppTheme.secondaryBackground, + textStyle: AppTheme.titleLarge, elevation: 0, - borderSide: BorderSide( - color: AppAppAppAppAppAppAppAppAppTheme.alternate, + borderSide: const BorderSide( + color: AppTheme.alternate, width: 2, ), borderRadius: BorderRadius.circular(12), - hoverColor: AppAppAppAppAppAppAppAppAppTheme.alternate, - hoverBorderSide: BorderSide( - color: AppAppAppAppAppAppAppAppAppTheme.alternate, + hoverColor: AppTheme.alternate, + hoverBorderSide: const BorderSide( + color: AppTheme.alternate, width: 2, ), - hoverTextColor: - AppAppAppAppAppAppAppAppAppTheme.primaryText, + hoverTextColor: AppTheme.primaryTextColor, hoverElevation: 3, ), ), diff --git a/mobile/app/lib/components/conversation_options/conversation_options_widget.dart b/mobile/app/lib/components/conversation_options/conversation_options_widget.dart index 37b279f..7af4b4a 100644 --- a/mobile/app/lib/components/conversation_options/conversation_options_widget.dart +++ b/mobile/app/lib/components/conversation_options/conversation_options_widget.dart @@ -3,6 +3,8 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'conversation_options_model.dart'; export 'conversation_options_model.dart'; @@ -40,8 +42,8 @@ class _ConversationOptionsWidgetState extends State { Widget build(BuildContext context) { return Container( width: double.infinity, - decoration: BoxDecoration( - color: AppAppAppAppAppAppAppAppAppTheme.secondaryBackground, + decoration: const BoxDecoration( + color: AppTheme.secondaryBackground, ), child: Padding( padding: const EdgeInsetsDirectional.fromSTEB(0, 12, 0, 24), @@ -60,35 +62,30 @@ class _ConversationOptionsWidgetState extends State { children: [ Card( clipBehavior: Clip.antiAliasWithSaveLayer, - color: AppAppAppAppAppAppAppAppAppTheme.primaryBackground, + color: AppTheme.primaryBackground, elevation: 0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(40), ), - child: Padding( - padding: const EdgeInsets.all(8), + child: const Padding( + padding: EdgeInsets.all(8), child: Icon( Icons.share_rounded, - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + color: AppTheme.secondaryText, size: 20, ), ), ), - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0), + padding: EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( 'Share', - style: AppAppAppAppAppAppAppAppAppTheme - .labelLarge - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelLarge, ), ], ), @@ -109,35 +106,30 @@ class _ConversationOptionsWidgetState extends State { children: [ Card( clipBehavior: Clip.antiAliasWithSaveLayer, - color: AppAppAppAppAppAppAppAppAppTheme.primaryBackground, + color: AppTheme.primaryBackground, elevation: 0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(40), ), - child: Padding( - padding: const EdgeInsets.all(8), + child: const Padding( + padding: EdgeInsets.all(8), child: Icon( Icons.insert_link, - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + color: AppTheme.secondaryText, size: 20, ), ), ), - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0), + padding: EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( 'Get Link', - style: AppAppAppAppAppAppAppAppAppTheme - .labelLarge - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelLarge, ), ], ), @@ -158,35 +150,30 @@ class _ConversationOptionsWidgetState extends State { children: [ Card( clipBehavior: Clip.antiAliasWithSaveLayer, - color: AppAppAppAppAppAppAppAppAppTheme.primaryBackground, + color: AppTheme.primaryBackground, elevation: 0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(40), ), - child: Padding( - padding: const EdgeInsets.all(8), + child: const Padding( + padding: EdgeInsets.all(8), child: Icon( Icons.mode_edit, - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + color: AppTheme.secondaryText, size: 20, ), ), ), - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0), + padding: EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( 'Model selection', - style: AppAppAppAppAppAppAppAppAppTheme - .labelLarge - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelLarge, ), ], ), @@ -207,35 +194,30 @@ class _ConversationOptionsWidgetState extends State { children: [ Card( clipBehavior: Clip.antiAliasWithSaveLayer, - color: AppAppAppAppAppAppAppAppAppTheme.primaryBackground, + color: AppTheme.primaryBackground, elevation: 0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(40), ), - child: Padding( - padding: const EdgeInsets.all(8), + child: const Padding( + padding: EdgeInsets.all(8), child: Icon( Icons.hide_source, - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + color: AppTheme.secondaryText, size: 20, ), ), ), - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0), + padding: EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( 'Private', - style: AppAppAppAppAppAppAppAppAppTheme - .labelLarge - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelLarge, ), ], ), diff --git a/mobile/app/lib/components/conversation_thread/conversation_thread_model.dart b/mobile/app/lib/components/conversation_thread/conversation_thread_model.dart index f2886ac..c574eb4 100644 --- a/mobile/app/lib/components/conversation_thread/conversation_thread_model.dart +++ b/mobile/app/lib/components/conversation_thread/conversation_thread_model.dart @@ -13,20 +13,19 @@ class ConversationThreadModel final formKey = GlobalKey(); // Model for ConversationBubbles component. - late ConversationBubblesModel conversationBubblesModel; + //late ConversationBubblesModel conversationBubblesModel; // Model for PromptBox component. late PromptBoxModel promptBoxModel; @override void initState(BuildContext context) { - conversationBubblesModel = - createModel(context, () => ConversationBubblesModel()); + //conversationBubblesModel = createModel(context, () => ConversationBubblesModel()); promptBoxModel = createModel(context, () => PromptBoxModel()); } @override void dispose() { - conversationBubblesModel.dispose(); + //conversationBubblesModel.dispose(); promptBoxModel.dispose(); } } diff --git a/mobile/app/lib/components/conversation_thread/conversation_thread_widget.dart b/mobile/app/lib/components/conversation_thread/conversation_thread_widget.dart index fb4678f..869317f 100644 --- a/mobile/app/lib/components/conversation_thread/conversation_thread_widget.dart +++ b/mobile/app/lib/components/conversation_thread/conversation_thread_widget.dart @@ -6,6 +6,8 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'conversation_thread_model.dart'; export 'conversation_thread_model.dart'; @@ -44,8 +46,8 @@ class _ConversationThreadWidgetState extends State { return Container( width: double.infinity, height: double.infinity, - decoration: BoxDecoration( - color: AppAppAppAppAppAppAppAppAppTheme.primaryBackground, + decoration: const BoxDecoration( + color: AppTheme.primaryBackground, ), child: Column( mainAxisSize: MainAxisSize.max, @@ -71,20 +73,21 @@ class _ConversationThreadWidgetState extends State { minHeight: MediaQuery.sizeOf(context).height * 1, ), decoration: const BoxDecoration(), - child: wrapWithModel( - model: _model.conversationBubblesModel, - updateCallback: () => setState(() {}), - child: ConversationBubblesWidget(), - ), + //child: wrapWithModel( + //model: _model.conversationBubblesModel, + //updateCallback: () => setState(() {}), + //child: ConversationBubblesWidget(), + //child: const Text("test"), + //), ), ], ), ), Container( width: double.infinity, - decoration: BoxDecoration( - color: AppAppAppAppAppAppAppAppAppTheme.secondaryBackground, - boxShadow: const [ + decoration: const BoxDecoration( + color: AppTheme.secondaryBackground, + boxShadow: [ BoxShadow( blurRadius: 3, color: Color(0x33000000), @@ -95,6 +98,7 @@ class _ConversationThreadWidgetState extends State { ) ], ), + // TODO child: Column( mainAxisSize: MainAxisSize.max, children: [ @@ -110,44 +114,45 @@ class _ConversationThreadWidgetState extends State { mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.start, children: [ - FlutterFlowMediaDisplay( - path: '', - imageBuilder: (path) => ClipRRect( - borderRadius: BorderRadius.circular(8), - child: CachedNetworkImage( - fadeInDuration: const Duration(milliseconds: 500), - fadeOutDuration: - const Duration(milliseconds: 500), - imageUrl: path, - width: 120, - height: 100, - fit: BoxFit.cover, - ), - ), - videoPlayerBuilder: (path) => - FlutterFlowVideoPlayer( - path: path, - width: 300, - autoPlay: false, - looping: true, - showControls: true, - allowFullScreen: true, - allowPlaybackSpeedMenu: false, - ), - ), + // FlutterFlowMediaDisplay( + // path: '', + // imageBuilder: (path) => ClipRRect( + // borderRadius: BorderRadius.circular(8), + // child: CachedNetworkImage( + // fadeInDuration: const Duration(milliseconds: 500), + // fadeOutDuration: + // const Duration(milliseconds: 500), + // imageUrl: path, + // width: 120, + // height: 100, + // fit: BoxFit.cover, + // ), + // ), + // TODO + // videoPlayerBuilder: (path) => + // FlutterFlowVideoPlayer( + // path: path, + // width: 300, + // autoPlay: false, + // looping: true, + // showControls: true, + // allowFullScreen: true, + // allowPlaybackSpeedMenu: false, + // ), + // ), Align( alignment: const AlignmentDirectional(-1, -1), child: FlutterFlowIconButton( borderColor: - AppAppAppAppAppAppAppAppAppTheme.error, + AppTheme.error, borderRadius: 20, borderWidth: 2, buttonSize: 40, - fillColor: AppAppAppAppAppAppAppAppAppTheme + fillColor: AppTheme .primaryBackground, - icon: Icon( + icon: const Icon( Icons.delete_outline_rounded, - color: AppAppAppAppAppAppAppAppAppTheme.error, + color: AppTheme.error, size: 24, ), onPressed: () { @@ -173,7 +178,7 @@ class _ConversationThreadWidgetState extends State { child: wrapWithModel( model: _model.promptBoxModel, updateCallback: () => setState(() {}), - child: PromptBoxWidget(), + child: const PromptBoxWidget(), ), ), ), diff --git a/mobile/app/lib/components/model_item/model_item_widget.dart b/mobile/app/lib/components/model_item/model_item_widget.dart index 2d1eaeb..56656f7 100644 --- a/mobile/app/lib/components/model_item/model_item_widget.dart +++ b/mobile/app/lib/components/model_item/model_item_widget.dart @@ -3,6 +3,8 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'model_item_model.dart'; export 'model_item_model.dart'; @@ -48,7 +50,7 @@ class _ModelItemWidgetState extends State { }), child: Container( decoration: BoxDecoration( - color: AppAppAppAppAppAppAppAppAppTheme.primaryBackground, + color: AppTheme.primaryBackground, borderRadius: BorderRadius.circular(0), ), child: Padding( @@ -60,29 +62,25 @@ class _ModelItemWidgetState extends State { width: 40, height: 40, decoration: BoxDecoration( - color: AppAppAppAppAppAppAppAppAppTheme.accent1, + color: AppTheme.accent1, borderRadius: BorderRadius.circular(12), border: Border.all( - color: AppAppAppAppAppAppAppAppAppTheme.primary, + color: AppTheme.primary, width: 2, ), ), - child: Align( - alignment: const AlignmentDirectional(0, 0), + child: const Align( + alignment: AlignmentDirectional(0, 0), child: Text( 'A', textAlign: TextAlign.center, - style: AppAppAppAppAppAppAppAppAppTheme.bodyLarge.override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - fontWeight: FontWeight.bold, - ), + style: AppTheme.bodyLarge, ), ), ), - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB(12, 0, 8, 0), + padding: EdgeInsetsDirectional.fromSTEB(12, 0, 8, 0), child: Column( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, @@ -90,22 +88,13 @@ class _ModelItemWidgetState extends State { children: [ Text( 'Randy Peterson', - style: AppAppAppAppAppAppAppAppAppTheme.bodyMedium.override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - fontWeight: FontWeight.bold, - ), + style: AppTheme.bodyMedium, ), Padding( - padding: const EdgeInsetsDirectional.fromSTEB(0, 4, 0, 0), + padding: EdgeInsetsDirectional.fromSTEB(0, 4, 0, 0), child: Text( 'name@domainname.com', - style: - AppAppAppAppAppAppAppAppAppTheme.bodySmall.override( - fontFamily: 'Readex Pro', - color: AppAppAppAppAppAppAppAppAppTheme.primary, - letterSpacing: 0, - ), + style: AppTheme.bodySmall, ), ), ], diff --git a/mobile/app/lib/components/no_chats_widget.dart b/mobile/app/lib/components/no_chats_widget.dart index 5ce3259..3fca32d 100644 --- a/mobile/app/lib/components/no_chats_widget.dart +++ b/mobile/app/lib/components/no_chats_widget.dart @@ -3,6 +3,8 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'no_chats_model.dart'; export 'no_chats_model.dart'; @@ -59,11 +61,7 @@ class _NoChatsWidgetState extends State { child: Text( widget.title, textAlign: TextAlign.center, - style: AppAppAppAppAppAppAppAppAppTheme.headlineSmall.override( - fontFamily: 'Outfit', - color: AppAppAppAppAppAppAppAppAppTheme.primaryText, - letterSpacing: 0, - ), + style: AppTheme.headlineSmall, ), ), Padding( @@ -71,10 +69,7 @@ class _NoChatsWidgetState extends State { child: Text( widget.body, textAlign: TextAlign.center, - style: AppAppAppAppAppAppAppAppAppTheme.labelMedium.override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelMedium, ), ), ], diff --git a/mobile/app/lib/components/options_dialog/options_dialog_model.dart b/mobile/app/lib/components/options_dialog/options_dialog_model.dart index d178ffe..b8c73cb 100644 --- a/mobile/app/lib/components/options_dialog/options_dialog_model.dart +++ b/mobile/app/lib/components/options_dialog/options_dialog_model.dart @@ -1,10 +1,10 @@ import 'package:flutterflow_ui/flutterflow_ui.dart'; -import 'options_dialog_widget.dart' show OptionsDialogWidget; +import 'options_dialog_widget.dart' show PopupWidget; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; -class OptionsDialogModel extends FlutterFlowModel { +class OptionsDialogModel extends FlutterFlowModel { /// State fields for stateful widgets in this component. // State field(s) for MouseRegion widget. diff --git a/mobile/app/lib/components/options_dialog/options_dialog_widget.dart b/mobile/app/lib/components/options_dialog/options_dialog_widget.dart index c645d80..93692f2 100644 --- a/mobile/app/lib/components/options_dialog/options_dialog_widget.dart +++ b/mobile/app/lib/components/options_dialog/options_dialog_widget.dart @@ -3,6 +3,8 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import '/components/popup/popup_model.dart'; export '/components/popup/popup_model.dart'; @@ -78,20 +80,12 @@ class _PopupWidgetState extends State { Row( mainAxisSize: MainAxisSize.max, children: [ - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB(0, 0, 12, 0), + padding: EdgeInsetsDirectional.fromSTEB(0, 0, 12, 0), child: Text( 'Refine the components modal.', - style: AppAppAppAppAppAppAppAppAppTheme - .headlineMedium - .override( - fontFamily: 'Outfit', - color: const Color(0xFF14181B), - fontSize: 24, - letterSpacing: 0, - fontWeight: FontWeight.normal, - ), + style: AppTheme.headlineMedium, ), ), ), @@ -116,15 +110,9 @@ class _PopupWidgetState extends State { thickness: 2, color: Color(0xFFF1F4F8), ), - Text( + const Text( 'FlutterFlow is a visual development platform that allows you to easily create beautiful and responsive user interfaces for your mobile and web applications. With its drag-and-drop interface and pre-built components, you can quickly prototype and build your app without writing any code. \nAdditionally, FlutterFlow\'s real-time preview feature allows you to see your changes in real-time and make adjustments on the fly.', - style: AppAppAppAppAppAppAppAppAppTheme.labelMedium.override( - fontFamily: 'Readex Pro', - color: const Color(0xFF57636C), - fontSize: 14, - letterSpacing: 0, - fontWeight: FontWeight.normal, - ), + style: AppTheme.labelMedium, ), Padding( padding: const EdgeInsetsDirectional.fromSTEB(0, 16, 0, 0), @@ -144,14 +132,7 @@ class _PopupWidgetState extends State { iconPadding: const EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0), color: Colors.white, - textStyle: - AppAppAppAppAppAppAppAppAppTheme.bodySmall.override( - fontFamily: 'Readex Pro', - color: const Color(0xFF14181B), - fontSize: 12, - letterSpacing: 0, - fontWeight: FontWeight.normal, - ), + textStyle: AppTheme.bodySmall, elevation: 0, borderSide: const BorderSide( color: Color(0xFFF1F4F8), @@ -174,15 +155,7 @@ class _PopupWidgetState extends State { iconPadding: const EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0), color: const Color(0xFF4B39EF), - textStyle: AppAppAppAppAppAppAppAppAppTheme - .titleSmall - .override( - fontFamily: 'Readex Pro', - color: Colors.white, - fontSize: 16, - letterSpacing: 0, - fontWeight: FontWeight.w500, - ), + textStyle: AppTheme.titleSmall, elevation: 3, borderSide: const BorderSide( color: Colors.transparent, diff --git a/mobile/app/lib/components/popup/popup_widget.dart b/mobile/app/lib/components/popup/popup_widget.dart index 32175e6..fdf314b 100644 --- a/mobile/app/lib/components/popup/popup_widget.dart +++ b/mobile/app/lib/components/popup/popup_widget.dart @@ -3,6 +3,8 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'popup_model.dart'; export 'popup_model.dart'; @@ -78,20 +80,12 @@ class _PopupWidgetState extends State { Row( mainAxisSize: MainAxisSize.max, children: [ - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB(0, 0, 12, 0), + padding: EdgeInsetsDirectional.fromSTEB(0, 0, 12, 0), child: Text( 'Refine the components modal.', - style: AppAppAppAppAppAppAppAppAppTheme - .headlineMedium - .override( - fontFamily: 'Outfit', - color: const Color(0xFF14181B), - fontSize: 24, - letterSpacing: 0, - fontWeight: FontWeight.normal, - ), + style: AppTheme.headlineMedium, ), ), ), @@ -116,15 +110,9 @@ class _PopupWidgetState extends State { thickness: 2, color: Color(0xFFF1F4F8), ), - Text( + const Text( 'FlutterFlow is a visual development platform that allows you to easily create beautiful and responsive user interfaces for your mobile and web applications. With its drag-and-drop interface and pre-built components, you can quickly prototype and build your app without writing any code. \nAdditionally, FlutterFlow\'s real-time preview feature allows you to see your changes in real-time and make adjustments on the fly.', - style: AppAppAppAppAppAppAppAppAppTheme.labelMedium.override( - fontFamily: 'Readex Pro', - color: const Color(0xFF57636C), - fontSize: 14, - letterSpacing: 0, - fontWeight: FontWeight.normal, - ), + style: AppTheme.labelMedium, ), Padding( padding: const EdgeInsetsDirectional.fromSTEB(0, 16, 0, 0), @@ -144,14 +132,7 @@ class _PopupWidgetState extends State { iconPadding: const EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0), color: Colors.white, - textStyle: - AppAppAppAppAppAppAppAppAppTheme.bodySmall.override( - fontFamily: 'Readex Pro', - color: const Color(0xFF14181B), - fontSize: 12, - letterSpacing: 0, - fontWeight: FontWeight.normal, - ), + textStyle: AppTheme.bodySmall, elevation: 0, borderSide: const BorderSide( color: Color(0xFFF1F4F8), @@ -174,15 +155,7 @@ class _PopupWidgetState extends State { iconPadding: const EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0), color: const Color(0xFF4B39EF), - textStyle: AppAppAppAppAppAppAppAppAppTheme - .titleSmall - .override( - fontFamily: 'Readex Pro', - color: Colors.white, - fontSize: 16, - letterSpacing: 0, - fontWeight: FontWeight.w500, - ), + textStyle: AppTheme.titleSmall, elevation: 3, borderSide: const BorderSide( color: Colors.transparent, diff --git a/mobile/app/lib/components/prompt_box/prompt_box_widget.dart b/mobile/app/lib/components/prompt_box/prompt_box_widget.dart index 77a7119..81688c0 100644 --- a/mobile/app/lib/components/prompt_box/prompt_box_widget.dart +++ b/mobile/app/lib/components/prompt_box/prompt_box_widget.dart @@ -4,6 +4,8 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'prompt_box_model.dart'; export 'prompt_box_model.dart'; @@ -45,7 +47,7 @@ class _PromptBoxWidgetState extends State { child: Container( width: double.infinity, decoration: BoxDecoration( - color: AppAppAppAppAppAppAppAppAppTheme.secondaryBackground, + color: AppTheme.secondaryBackground, borderRadius: BorderRadius.circular(10), ), alignment: const AlignmentDirectional(0, 0), @@ -65,9 +67,9 @@ class _PromptBoxWidgetState extends State { borderRadius: 30, borderWidth: 1, buttonSize: 40, - icon: Icon( + icon: const Icon( Icons.file_upload_outlined, - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + color: AppTheme.secondaryText, size: 30, ), onPressed: () { @@ -84,9 +86,9 @@ class _PromptBoxWidgetState extends State { borderRadius: 30, borderWidth: 1, buttonSize: 40, - icon: Icon( + icon: const Icon( Icons.photo_outlined, - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + color: AppTheme.secondaryText, size: 30, ), onPressed: () { @@ -103,9 +105,9 @@ class _PromptBoxWidgetState extends State { borderRadius: 30, borderWidth: 1, buttonSize: 40, - icon: Icon( + icon: const Icon( Icons.mic_none, - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + color: AppTheme.secondaryText, size: 30, ), onPressed: () { @@ -122,9 +124,9 @@ class _PromptBoxWidgetState extends State { borderRadius: 30, borderWidth: 1, buttonSize: 40, - icon: Icon( + icon: const Icon( Icons.videocam_outlined, - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + color: AppTheme.secondaryText, size: 30, ), onPressed: () { @@ -141,9 +143,9 @@ class _PromptBoxWidgetState extends State { borderRadius: 30, borderWidth: 1, buttonSize: 40, - icon: Icon( + icon: const Icon( Icons.camera_alt_outlined, - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + color: AppTheme.secondaryText, size: 30, ), onPressed: () { @@ -175,16 +177,10 @@ class _PromptBoxWidgetState extends State { obscureText: false, decoration: InputDecoration( isDense: false, - counterStyle: AppAppAppAppAppAppAppAppAppTheme - .bodyMedium - .override( - fontFamily: 'Readex Pro', - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, - letterSpacing: 0, - ), + counterStyle: AppTheme.bodyMedium, enabledBorder: OutlineInputBorder( - borderSide: BorderSide( - color: AppAppAppAppAppAppAppAppAppTheme.secondaryText, + borderSide: const BorderSide( + color: AppTheme.secondaryText, width: 2, ), borderRadius: BorderRadius.circular(12), @@ -211,19 +207,14 @@ class _PromptBoxWidgetState extends State { borderRadius: BorderRadius.circular(12), ), filled: true, - fillColor: AppAppAppAppAppAppAppAppAppTheme.alternate, - suffixIcon: Icon( + fillColor: AppTheme.alternate, + suffixIcon: const Icon( Icons.send, - color: AppAppAppAppAppAppAppAppAppTheme.primary, + color: AppTheme.primary, size: 30, ), ), - style: AppAppAppAppAppAppAppAppAppTheme.bodyMedium.override( - fontFamily: 'Lato', - fontSize: 14, - letterSpacing: 0, - fontWeight: FontWeight.normal, - ), + style: AppTheme.bodyMedium, textAlign: TextAlign.start, maxLines: 5, minLines: 1, diff --git a/mobile/app/lib/pages/conversation_widget.dart b/mobile/app/lib/pages/conversation_widget.dart index 76aa4cb..dc5990f 100644 --- a/mobile/app/lib/pages/conversation_widget.dart +++ b/mobile/app/lib/pages/conversation_widget.dart @@ -6,7 +6,7 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; -import '/theme.dart'; +import 'package:app/theme.dart'; import 'conversation_model.dart'; export 'conversation_model.dart'; @@ -44,37 +44,39 @@ class _ConversationWidgetState extends State { : FocusScope.of(context).unfocus(), child: Scaffold( key: scaffoldKey, - backgroundColor: myAppTheme.of(context).secondaryBackground, + backgroundColor: AppTheme.secondaryBackground, appBar: AppBar( - backgroundColor: myAppTheme.of(context).primaryBackground, + backgroundColor: AppTheme.primaryBackground, automaticallyImplyLeading: false, leading: FlutterFlowIconButton( borderColor: Colors.transparent, borderRadius: 30, borderWidth: 1, buttonSize: 60, - icon: Icon( + icon: const Icon( Icons.arrow_back_rounded, - color: AppTheme.primaryText, + color: AppTheme.primaryTextColor, size: 30, ), onPressed: () async { - context.goNamed( - 'ConversationsList', - extra: { - kTransitionInfoKey: TransitionInfo( - hasTransition: true, - transitionType: PageTransitionType.leftToRight, - duration: const Duration(milliseconds: 250), - ), - }, - ); + print("something pressed in conversation_widget.dart"); + // TODO + // context.goNamed( + // 'ConversationsList', + // extra: { + // kTransitionInfoKey: TransitionInfo( + // hasTransition: true, + // transitionType: PageTransitionType.leftToRight, + // duration: const Duration(milliseconds: 250), + // ), + // }, + // ); }, ), title: wrapWithModel( model: _model.modelItemModel, updateCallback: () => setState(() {}), - child: ModelItemWidget(), + child: const ModelItemWidget(), ), actions: [ Padding( @@ -85,9 +87,9 @@ class _ConversationWidgetState extends State { borderWidth: 2, buttonSize: 40, fillColor: AppTheme.primaryBackground, - icon: Icon( + icon: const Icon( Icons.more_vert, - color: AppTheme.primaryText, + color: AppTheme.primaryTextColor, size: 24, ), onPressed: () async { @@ -104,7 +106,7 @@ class _ConversationWidgetState extends State { : FocusScope.of(context).unfocus(), child: Padding( padding: MediaQuery.viewInsetsOf(context), - child: ConversationDetailsOverlayWidget(), + child: const ConversationDetailsOverlayWidget(), ), ); }, @@ -121,7 +123,7 @@ class _ConversationWidgetState extends State { child: wrapWithModel( model: _model.conversationThreadModel, updateCallback: () => setState(() {}), - child: ConversationThreadWidget(), + child: const ConversationThreadWidget(), ), ), ), diff --git a/mobile/app/lib/pages/conversations_list_widget.dart b/mobile/app/lib/pages/conversations_list_widget.dart index 1a2eff3..c2fe95b 100644 --- a/mobile/app/lib/pages/conversations_list_widget.dart +++ b/mobile/app/lib/pages/conversations_list_widget.dart @@ -1,9 +1,13 @@ +import 'dart:nativewrappers/_internal/vm/lib/internal_patch.dart'; + import '/components/conversation_options/conversation_options_widget.dart'; import 'package:flutterflow_ui/flutterflow_ui.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'conversations_list_model.dart'; export 'conversations_list_model.dart'; @@ -60,21 +64,26 @@ class _ConversationsListWidgetState extends State { : FocusScope.of(context).unfocus(), child: Padding( padding: MediaQuery.viewInsetsOf(context), - child: ConversationOptionsWidget(), + child: const ConversationOptionsWidget(), ), ); }, ).then((value) => safeSetState(() {})); - context.pushNamed('Conversation'); + // TODO + //context.pushNamed('Conversation'); }, child: FloatingActionButton( - onPressed: () async { - context.pushNamed('Conversation'); + // TODO + // onPressed: () async { + // context.pushNamed('Conversation'); + // }, + onPressed: () { + print("fab pressed"); }, backgroundColor: AppTheme.primary, elevation: 8, - child: Icon( + child: const Icon( Icons.add, color: AppTheme.info, size: 24, @@ -84,12 +93,9 @@ class _ConversationsListWidgetState extends State { appBar: AppBar( backgroundColor: AppTheme.secondaryBackground, automaticallyImplyLeading: false, - title: Text( + title: const Text( 'My Chats', - style: AppTheme.headlineLarge.override( - fontFamily: 'Outfit', - letterSpacing: 0, - ), + style: AppTheme.headlineLarge, ), actions: const [], centerTitle: false, @@ -101,14 +107,11 @@ class _ConversationsListWidgetState extends State { mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsetsDirectional.fromSTEB(16, 0, 0, 0), + const Padding( + padding: EdgeInsetsDirectional.fromSTEB(16, 0, 0, 0), child: Text( 'AI conversations', - style: AppTheme.labelMedium.override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelMedium, ), ), Expanded( @@ -126,9 +129,10 @@ class _ConversationsListWidgetState extends State { focusColor: Colors.transparent, hoverColor: Colors.transparent, highlightColor: Colors.transparent, - onTap: () async { - context.pushNamed('Conversation'); - }, + // TODO + // onTap: () async { + // context.pushNamed('Conversation'); + // }, child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.start, @@ -137,12 +141,12 @@ class _ConversationsListWidgetState extends State { Container( width: 100, height: 100, - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppTheme .secondaryBackground, ), - child: Align( - alignment: const AlignmentDirectional(0, 0), + child: const Align( + alignment: AlignmentDirectional(0, 0), child: Icon( Icons.settings_outlined, color: AppTheme @@ -161,12 +165,12 @@ class _ConversationsListWidgetState extends State { minWidth: MediaQuery.sizeOf(context).width, ), - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppTheme .secondaryBackground, shape: BoxShape.rectangle, ), - child: Column( + child: const Column( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceEvenly, @@ -175,40 +179,27 @@ class _ConversationsListWidgetState extends State { children: [ Align( alignment: - const AlignmentDirectional(-1, 0), + AlignmentDirectional(-1, 0), child: Row( mainAxisSize: MainAxisSize.max, children: [ Text( 'Hello World', - style: - AppTheme - .headlineLarge - .override( - fontFamily: 'Outfit', - letterSpacing: 0, - ), + style: AppTheme.headlineLarge, ), ], ), ), Align( alignment: - const AlignmentDirectional(-1, 0), + AlignmentDirectional(-1, 0), child: Row( mainAxisSize: MainAxisSize.max, children: [ Expanded( child: Text( 'Hello World', - style: FlutterFlowAppTheme.of( - context) - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.bodyMedium, ), ), ], @@ -222,11 +213,11 @@ class _ConversationsListWidgetState extends State { Container( width: 100, height: 100, - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppTheme .secondaryBackground, ), - child: Icon( + child: const Icon( Icons.chevron_right_rounded, color: AppTheme .secondaryText, diff --git a/mobile/app/lib/pages/image_details_widget.dart b/mobile/app/lib/pages/image_details_widget.dart index 2694247..6efcc8c 100644 --- a/mobile/app/lib/pages/image_details_widget.dart +++ b/mobile/app/lib/pages/image_details_widget.dart @@ -6,6 +6,7 @@ import 'package:flutter_animate/flutter_animate.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; import 'image_details_model.dart'; export 'image_details_model.dart'; @@ -106,19 +107,20 @@ class _ImageDetailsWidgetState extends State appBar: AppBar( backgroundColor: AppTheme.secondaryBackground, automaticallyImplyLeading: false, - leading: FlutterFlowIconButton( + leading: const FlutterFlowIconButton( borderColor: Colors.transparent, borderRadius: 30, borderWidth: 1, buttonSize: 60, icon: Icon( Icons.arrow_back_rounded, - color: AppTheme.primaryText, + color: AppTheme.primaryTextColor, size: 30, ), - onPressed: () async { - context.pop(); - }, + // TODO + // onPressed: () async { + // context.pop(); + // }, ), actions: const [], centerTitle: false, @@ -199,47 +201,30 @@ class _ImageDetailsWidgetState extends State mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.end, children: [ - SelectionArea( + const SelectionArea( child: AutoSizeText( 'Thanks so much! We really do appreciate it!', textAlign: TextAlign.start, - style: AppTheme - .bodyMedium - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - lineHeight: 1.5, - ), + style: AppTheme.bodyMedium, )), - Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + const Padding( + padding: EdgeInsetsDirectional.fromSTEB( 0, 4, 0, 0), child: Text( 'Just Now', - style: AppTheme - .labelSmall - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelSmall, ), ), ].divide(const SizedBox(width: 4)), ), - Padding( + const Padding( padding: - const EdgeInsetsDirectional.fromSTEB(0, 4, 0, 0), + EdgeInsetsDirectional.fromSTEB(0, 4, 0, 0), child: SelectionArea( child: AutoSizeText( 'Thanks so much! We really do appreciate it!', textAlign: TextAlign.start, - style: AppTheme - .labelLarge - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - lineHeight: 1.5, - ), + style: AppTheme.labelLarge, )), ), ], diff --git a/mobile/app/lib/pages/settings_widget.dart b/mobile/app/lib/pages/settings_widget.dart index 2558ae0..5c62546 100644 --- a/mobile/app/lib/pages/settings_widget.dart +++ b/mobile/app/lib/pages/settings_widget.dart @@ -6,6 +6,8 @@ import 'package:flutter_animate/flutter_animate.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'settings_model.dart'; export 'settings_model.dart'; @@ -93,12 +95,9 @@ class _SettingsWidgetState extends State ? AppBar( backgroundColor: AppTheme.secondaryBackground, automaticallyImplyLeading: false, - title: Text( + title: const Text( 'My Profile', - style: AppTheme.headlineMedium.override( - fontFamily: 'Outfit', - letterSpacing: 0, - ), + style: AppTheme.headlineMedium, ), actions: const [], centerTitle: false, @@ -134,9 +133,9 @@ class _SettingsWidgetState extends State mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( + const Padding( padding: - const EdgeInsetsDirectional.fromSTEB(16, 0, 16, 12), + EdgeInsetsDirectional.fromSTEB(16, 0, 16, 12), child: Row( mainAxisSize: MainAxisSize.max, children: [ @@ -146,22 +145,17 @@ class _SettingsWidgetState extends State size: 32, ), Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + padding: EdgeInsetsDirectional.fromSTEB( 12, 0, 0, 0), child: Text( 'check.io', - style: AppTheme - .headlineMedium - .override( - fontFamily: 'Outfit', - letterSpacing: 0, - ), + style: AppTheme.headlineMedium, ), ), ], ), ), - Divider( + const Divider( height: 12, thickness: 2, color: AppTheme.alternate, @@ -171,17 +165,12 @@ class _SettingsWidgetState extends State mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + const Padding( + padding: EdgeInsetsDirectional.fromSTEB( 16, 12, 0, 0), child: Text( 'Platform Navigation', - style: AppTheme - .labelMedium - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelMedium, ), ), Padding( @@ -198,32 +187,25 @@ class _SettingsWidgetState extends State borderRadius: BorderRadius.circular(12), shape: BoxShape.rectangle, ), - child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + child: const Padding( + padding: EdgeInsetsDirectional.fromSTEB( 8, 0, 6, 0), child: Row( mainAxisSize: MainAxisSize.max, children: [ Icon( Icons.space_dashboard, - color: AppTheme - .primaryText, + color: AppTheme.primaryTextColor, size: 24, ), Padding( padding: - const EdgeInsetsDirectional.fromSTEB( + EdgeInsetsDirectional.fromSTEB( 12, 0, 0, 0), child: Text( 'Dashboard', style: - AppTheme - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + AppTheme.bodyMedium, ), ), ], @@ -240,37 +222,28 @@ class _SettingsWidgetState extends State width: double.infinity, height: 44, decoration: BoxDecoration( - color: AppTheme - .primaryBackground, + color: AppTheme.primaryBackground, borderRadius: BorderRadius.circular(12), shape: BoxShape.rectangle, ), - child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + child: const Padding( + padding: EdgeInsetsDirectional.fromSTEB( 8, 0, 6, 0), child: Row( mainAxisSize: MainAxisSize.max, children: [ Icon( Icons.forum_rounded, - color: AppTheme - .primaryText, + color: AppTheme.primaryTextColor, size: 24, ), Padding( padding: - const EdgeInsetsDirectional.fromSTEB( + EdgeInsetsDirectional.fromSTEB( 12, 0, 0, 0), child: Text( 'Chats', - style: - AppTheme - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.bodyMedium, ), ), ], @@ -292,32 +265,24 @@ class _SettingsWidgetState extends State borderRadius: BorderRadius.circular(12), shape: BoxShape.rectangle, ), - child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + child: const Padding( + padding: EdgeInsetsDirectional.fromSTEB( 8, 0, 6, 0), child: Row( mainAxisSize: MainAxisSize.max, children: [ Icon( Icons.work, - color: AppTheme - .primaryText, + color: AppTheme.primaryTextColor, size: 24, ), Padding( padding: - const EdgeInsetsDirectional.fromSTEB( + EdgeInsetsDirectional.fromSTEB( 12, 0, 0, 0), child: Text( 'Projects', - style: - AppTheme - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.bodyMedium, ), ), ], @@ -345,26 +310,19 @@ class _SettingsWidgetState extends State child: Row( mainAxisSize: MainAxisSize.max, children: [ - Icon( + const Icon( Icons.receipt_rounded, color: AppTheme .primary, size: 24, ), - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional + padding: EdgeInsetsDirectional .fromSTEB(12, 0, 0, 0), child: Text( 'Recent Orders', - style: - AppTheme - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.bodyMedium, ), ), ), @@ -377,26 +335,15 @@ class _SettingsWidgetState extends State borderRadius: BorderRadius.circular(8), ), - child: Align( + child: const Align( alignment: - const AlignmentDirectional(0, 0), + AlignmentDirectional(0, 0), child: Padding( - padding: const EdgeInsetsDirectional + padding: EdgeInsetsDirectional .fromSTEB(8, 4, 8, 4), child: Text( '12', - style: FlutterFlowAppTheme.of( - context) - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - color: - FlutterFlowAppTheme.of( - context) - .info, - letterSpacing: 0, - ), + style: AppTheme.bodyMedium, ), ), ), @@ -406,17 +353,12 @@ class _SettingsWidgetState extends State ), ), ), - Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + const Padding( + padding: EdgeInsetsDirectional.fromSTEB( 16, 0, 0, 0), child: Text( 'Settings', - style: AppTheme - .labelMedium - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelMedium, ), ), Padding( @@ -433,32 +375,25 @@ class _SettingsWidgetState extends State borderRadius: BorderRadius.circular(12), shape: BoxShape.rectangle, ), - child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + child: const Padding( + padding: EdgeInsetsDirectional.fromSTEB( 8, 0, 6, 0), child: Row( mainAxisSize: MainAxisSize.max, children: [ Icon( Icons.attach_money_rounded, - color: AppTheme - .primaryText, + color: AppTheme.primaryTextColor, size: 24, ), Padding( padding: - const EdgeInsetsDirectional.fromSTEB( + EdgeInsetsDirectional.fromSTEB( 12, 0, 0, 0), child: Text( 'Billing', style: - AppTheme - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + AppTheme.bodyMedium, ), ), ], @@ -480,32 +415,25 @@ class _SettingsWidgetState extends State borderRadius: BorderRadius.circular(12), shape: BoxShape.rectangle, ), - child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + child: const Padding( + padding: EdgeInsetsDirectional.fromSTEB( 8, 0, 6, 0), child: Row( mainAxisSize: MainAxisSize.max, children: [ Icon( Icons.wifi_tethering_rounded, - color: AppTheme - .primaryText, + color: AppTheme.primaryTextColor, size: 24, ), Padding( padding: - const EdgeInsetsDirectional.fromSTEB( + EdgeInsetsDirectional.fromSTEB( 12, 0, 0, 0), child: Text( 'Explore', style: - AppTheme - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + AppTheme.bodyMedium, ), ), ], @@ -546,82 +474,42 @@ class _SettingsWidgetState extends State focusColor: Colors.transparent, hoverColor: Colors.transparent, highlightColor: Colors.transparent, - onTap: () async { - setDarkModeSetting( - context, AppThemeMode.light); - }, + //TODO + // onTap: () async { + // setDarkModeSetting( + // context, AppThemeMode.light); + // }, child: Container( width: 115, height: 100, decoration: BoxDecoration( - color: AppTheme.of(context) - .brightness == - Brightness.light - ? AppTheme - .secondaryBackground - : AppTheme - .primaryBackground, + color: AppTheme.primaryBackground, borderRadius: BorderRadius.circular(10), border: Border.all( color: valueOrDefault( - AppTheme.of(context) - .brightness == - Brightness.light - ? FlutterFlowAppTheme.of( - context) - .alternate - : FlutterFlowAppTheme.of( - context) - .primaryBackground, - AppTheme - .alternate, + AppTheme.primaryBackground, + AppTheme.alternate, ), width: 1, ), ), - child: Row( + child: const Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [ Icon( Icons.wb_sunny_rounded, - color: AppTheme.of(context) - .brightness == - Brightness.light - ? FlutterFlowAppTheme.of( - context) - .primaryText - : FlutterFlowAppTheme.of( - context) - .secondaryText, + color: AppTheme.secondaryText, size: 16, ), Padding( - padding: const EdgeInsetsDirectional + padding: EdgeInsetsDirectional .fromSTEB(4, 0, 0, 0), child: Text( 'Light Mode', - style: - FlutterFlowAppTheme.of( - context) - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - color: AppTheme.of(context) - .brightness == - Brightness - .light - ? FlutterFlowAppTheme.of( - context) - .primaryText - : FlutterFlowAppTheme.of( - context) - .secondaryText, - letterSpacing: 0, - ), + style: AppTheme.primaryText, ), ), ], @@ -635,82 +523,39 @@ class _SettingsWidgetState extends State focusColor: Colors.transparent, hoverColor: Colors.transparent, highlightColor: Colors.transparent, - onTap: () async { - setDarkModeSetting( - context, AppThemeMode.dark); - }, + // TODO + // onTap: () async { + // setDarkModeSetting( + // context, AppThemeMode.dark); + // }, child: Container( width: 115, height: 100, decoration: BoxDecoration( - color: AppTheme.of(context) - .brightness == - Brightness.dark - ? AppTheme - .secondaryBackground - : AppTheme - .primaryBackground, + color: AppTheme.primaryBackground, borderRadius: BorderRadius.circular(10), border: Border.all( - color: valueOrDefault( - AppTheme.of(context) - .brightness == - Brightness.dark - ? FlutterFlowAppTheme.of( - context) - .alternate - : FlutterFlowAppTheme.of( - context) - .primaryBackground, - AppTheme - .primaryBackground, - ), + color: AppTheme.primaryBackground, width: 1, ), ), - child: Row( + child: const Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [ Icon( Icons.nightlight_round, - color: AppTheme.of(context) - .brightness == - Brightness.dark - ? FlutterFlowAppTheme.of( - context) - .primaryText - : FlutterFlowAppTheme.of( - context) - .secondaryText, + color: AppTheme.primaryTextColor, size: 16, ), Padding( - padding: const EdgeInsetsDirectional + padding: EdgeInsetsDirectional .fromSTEB(4, 0, 0, 0), child: Text( 'Dark Mode', - style: - FlutterFlowAppTheme.of( - context) - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - color: AppTheme.of(context) - .brightness == - Brightness - .dark - ? FlutterFlowAppTheme.of( - context) - .primaryText - : FlutterFlowAppTheme.of( - context) - .secondaryText, - letterSpacing: 0, - ), + style: AppTheme.bodyMedium, ), ), ], @@ -724,7 +569,7 @@ class _SettingsWidgetState extends State ), ), ), - Divider( + const Divider( height: 12, thickness: 2, color: AppTheme.alternate, @@ -765,9 +610,9 @@ class _SettingsWidgetState extends State ), ), ), - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB( + padding: EdgeInsetsDirectional.fromSTEB( 12, 0, 0, 0), child: Column( mainAxisSize: MainAxisSize.max, @@ -776,21 +621,11 @@ class _SettingsWidgetState extends State children: [ Text( 'Casper Ghost', - style: AppTheme - .bodyLarge - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.bodyLarge, ), Text( 'admin@gmail.com', - style: AppTheme - .labelMedium - .override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelMedium, ), ], ), @@ -799,9 +634,9 @@ class _SettingsWidgetState extends State ], ), ), - Padding( + const Padding( padding: - const EdgeInsetsDirectional.fromSTEB(16, 0, 16, 0), + EdgeInsetsDirectional.fromSTEB(16, 0, 16, 0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.end, @@ -878,15 +713,11 @@ class _SettingsWidgetState extends State width: 72, height: 72, decoration: BoxDecoration( - color: FlutterFlowAppTheme.of( - context) - .accent1, + color: AppTheme.accent1, borderRadius: BorderRadius.circular(12), border: Border.all( - color: FlutterFlowAppTheme.of( - context) - .primary, + color: AppTheme.primary, width: 2, ), ), @@ -910,9 +741,9 @@ class _SettingsWidgetState extends State ), ), ), - Expanded( + const Expanded( child: Padding( - padding: const EdgeInsetsDirectional + padding: EdgeInsetsDirectional .fromSTEB(16, 4, 0, 4), child: Column( mainAxisSize: @@ -923,31 +754,16 @@ class _SettingsWidgetState extends State children: [ Text( 'Casper Ghost', - style: FlutterFlowAppTheme - .of(context) - .headlineSmall - .override( - fontFamily: - 'Outfit', - letterSpacing: 0, - ), + style: AppTheme.headlineSmall, ), Padding( padding: - const EdgeInsetsDirectional + EdgeInsetsDirectional .fromSTEB( 0, 4, 0, 0), child: Text( 'casper@ghustbusters.com', - style: FlutterFlowAppTheme - .of(context) - .labelMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: - 0, - ), + style: AppTheme.labelMedium, ), ), ], @@ -957,7 +773,7 @@ class _SettingsWidgetState extends State ], ), ), - Divider( + const Divider( height: 2, thickness: 1, color: AppTheme @@ -973,16 +789,14 @@ class _SettingsWidgetState extends State child: Container( width: 200, decoration: BoxDecoration( - color: FlutterFlowAppTheme.of( - context) - .secondaryBackground, + color: AppTheme.secondaryBackground, borderRadius: BorderRadius.circular( 8), ), - child: Padding( + child: const Padding( padding: - const EdgeInsetsDirectional + EdgeInsetsDirectional .fromSTEB( 12, 12, 12, 0), child: Column( @@ -994,44 +808,26 @@ class _SettingsWidgetState extends State children: [ Icon( Icons.receipt_rounded, - color: FlutterFlowAppTheme - .of(context) - .primary, + color: AppTheme.primary, size: 44, ), Padding( padding: - const EdgeInsetsDirectional + EdgeInsetsDirectional .fromSTEB(0, 8, 0, 4), child: Text( '2,200', textAlign: TextAlign .center, - style: FlutterFlowAppTheme - .of(context) - .headlineSmall - .override( - fontFamily: - 'Outfit', - letterSpacing: - 0, - ), + style: AppTheme.headlineSmall, ), ), Text( 'Orders Placed', textAlign: TextAlign.center, - style: FlutterFlowAppTheme - .of(context) - .labelMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: - 0, - ), + style: AppTheme.labelMedium, ), ], ), @@ -1047,16 +843,14 @@ class _SettingsWidgetState extends State child: Container( width: 200, decoration: BoxDecoration( - color: FlutterFlowAppTheme.of( - context) - .secondaryBackground, + color: AppTheme.secondaryBackground, borderRadius: BorderRadius.circular( 8), ), - child: Padding( + child: const Padding( padding: - const EdgeInsetsDirectional + EdgeInsetsDirectional .fromSTEB( 12, 12, 12, 0), child: Column( @@ -1069,44 +863,26 @@ class _SettingsWidgetState extends State Icon( Icons .ssid_chart_rounded, - color: FlutterFlowAppTheme - .of(context) - .primary, + color: AppTheme.primary, size: 44, ), Padding( padding: - const EdgeInsetsDirectional + EdgeInsetsDirectional .fromSTEB(0, 8, 0, 4), child: Text( '\$212.4k', textAlign: TextAlign .center, - style: FlutterFlowAppTheme - .of(context) - .headlineSmall - .override( - fontFamily: - 'Outfit', - letterSpacing: - 0, - ), + style: AppTheme.headlineSmall, ), ), Text( 'Money Earned', textAlign: TextAlign.center, - style: FlutterFlowAppTheme - .of(context) - .labelMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: - 0, - ), + style: AppTheme.labelMedium, ), ], ), @@ -1144,20 +920,14 @@ class _SettingsWidgetState extends State .alternate, ), ), - child: Padding( + child: const Padding( padding: - const EdgeInsetsDirectional.fromSTEB( + EdgeInsetsDirectional.fromSTEB( 16, 12, 0, 12), child: Text( 'My Account Information', style: - AppTheme - .labelMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + AppTheme.labelMedium, ), ), ), @@ -1168,17 +938,15 @@ class _SettingsWidgetState extends State child: Container( width: double.infinity, height: 60, - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppTheme .secondaryBackground, boxShadow: [ BoxShadow( blurRadius: 0, - color: FlutterFlowAppTheme.of( - context) - .alternate, - offset: const Offset( + color: AppTheme.alternate, + offset: Offset( 0, 1, ), @@ -1186,8 +954,8 @@ class _SettingsWidgetState extends State ], shape: BoxShape.rectangle, ), - child: Padding( - padding: const EdgeInsetsDirectional + child: const Padding( + padding: EdgeInsetsDirectional .fromSTEB(16, 0, 16, 0), child: Column( mainAxisSize: MainAxisSize.max, @@ -1200,26 +968,17 @@ class _SettingsWidgetState extends State children: [ Text( 'Change Password', - style: FlutterFlowAppTheme - .of(context) - .bodyLarge - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.bodyLarge, ), Expanded( child: Align( alignment: - const AlignmentDirectional( + AlignmentDirectional( 1, 0), child: Icon( Icons .chevron_right_rounded, - color: FlutterFlowAppTheme - .of(context) - .secondaryText, + color: AppTheme.secondaryText, size: 20, ), ), @@ -1238,17 +997,15 @@ class _SettingsWidgetState extends State child: Container( width: double.infinity, height: 60, - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppTheme .secondaryBackground, boxShadow: [ BoxShadow( blurRadius: 0, - color: FlutterFlowAppTheme.of( - context) - .alternate, - offset: const Offset( + color: AppTheme.alternate, + offset: Offset( 0, 1, ), @@ -1256,8 +1013,8 @@ class _SettingsWidgetState extends State ], shape: BoxShape.rectangle, ), - child: Padding( - padding: const EdgeInsetsDirectional + child: const Padding( + padding: EdgeInsetsDirectional .fromSTEB(16, 0, 16, 0), child: Column( mainAxisSize: MainAxisSize.max, @@ -1270,31 +1027,17 @@ class _SettingsWidgetState extends State children: [ Text( 'Edit Profile', - style: - FlutterFlowAppTheme.of( - context) - .bodyLarge - .override( - fontFamily: - 'Readex Pro', - color: FlutterFlowAppTheme.of( - context) - .primaryText, - letterSpacing: - 0, - ), + style: AppTheme.bodyLarge, ), Expanded( child: Align( alignment: - const AlignmentDirectional( + AlignmentDirectional( 1, 0), child: Icon( Icons .chevron_right_rounded, - color: FlutterFlowAppTheme - .of(context) - .secondaryText, + color: AppTheme.secondaryText, size: 20, ), ), @@ -1324,19 +1067,13 @@ class _SettingsWidgetState extends State .alternate, ), ), - child: Padding( - padding: const EdgeInsetsDirectional + child: const Padding( + padding: EdgeInsetsDirectional .fromSTEB(16, 12, 0, 12), child: Text( 'Support', style: - AppTheme - .labelMedium - .override( - fontFamily: - 'Readex Pro', - letterSpacing: 0, - ), + AppTheme.labelMedium, ), ), ), @@ -1350,36 +1087,35 @@ class _SettingsWidgetState extends State focusColor: Colors.transparent, hoverColor: Colors.transparent, highlightColor: Colors.transparent, - onTap: () async { - context.pushNamed( - 'SupportForm', - extra: { - kTransitionInfoKey: - TransitionInfo( - hasTransition: true, - transitionType: - PageTransitionType - .rightToLeft, - duration: const Duration( - milliseconds: 250), - ), - }, - ); - }, + // TODO + // onTap: () async { + // context.pushNamed( + // 'SupportForm', + // extra: { + // kTransitionInfoKey: + // TransitionInfo( + // hasTransition: true, + // transitionType: + // PageTransitionType + // .rightToLeft, + // duration: const Duration( + // milliseconds: 250), + // ), + // }, + // ); + // }, child: Container( width: double.infinity, height: 60, - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppTheme .secondaryBackground, boxShadow: [ BoxShadow( blurRadius: 0, - color: FlutterFlowAppTheme.of( - context) - .alternate, - offset: const Offset( + color: AppTheme.alternate, + offset: Offset( 0, 1, ), @@ -1387,8 +1123,8 @@ class _SettingsWidgetState extends State ], shape: BoxShape.rectangle, ), - child: Padding( - padding: const EdgeInsetsDirectional + child: const Padding( + padding: EdgeInsetsDirectional .fromSTEB(16, 0, 16, 0), child: Column( mainAxisSize: @@ -1402,30 +1138,16 @@ class _SettingsWidgetState extends State children: [ Text( 'Bug or Feature Request', - style: FlutterFlowAppTheme - .of(context) - .bodyLarge - .override( - fontFamily: - 'Readex Pro', - color: FlutterFlowAppTheme.of( - context) - .primaryText, - letterSpacing: - 0, - ), + style: AppTheme.bodyLarge, ), Expanded( child: Align( alignment: - const AlignmentDirectional( + AlignmentDirectional( 1, 0), child: Icon( - Icons - .chevron_right_rounded, - color: FlutterFlowAppTheme - .of(context) - .secondaryText, + Icons.chevron_right_rounded, + color: AppTheme.secondaryText, size: 20, ), ), @@ -1460,7 +1182,7 @@ class _SettingsWidgetState extends State padding: MediaQuery.viewInsetsOf( context), - child: PopupWidget(), + child: const PopupWidget(), ); }, ).then((value) => @@ -1469,17 +1191,15 @@ class _SettingsWidgetState extends State child: Container( width: double.infinity, height: 60, - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppTheme .secondaryBackground, boxShadow: [ BoxShadow( blurRadius: 0, - color: FlutterFlowAppTheme.of( - context) - .alternate, - offset: const Offset( + color: AppTheme.alternate, + offset: Offset( 0, 1, ), @@ -1487,8 +1207,8 @@ class _SettingsWidgetState extends State ], shape: BoxShape.rectangle, ), - child: Padding( - padding: const EdgeInsetsDirectional + child: const Padding( + padding: EdgeInsetsDirectional .fromSTEB(16, 0, 16, 0), child: Column( mainAxisSize: @@ -1502,27 +1222,16 @@ class _SettingsWidgetState extends State children: [ Text( 'Open-source licenses & other info', - style: FlutterFlowAppTheme - .of(context) - .bodyLarge - .override( - fontFamily: - 'Readex Pro', - letterSpacing: - 0, - ), + style: AppTheme.bodyLarge, ), Expanded( child: Align( alignment: - const AlignmentDirectional( + AlignmentDirectional( 1, 0), child: Icon( - Icons - .chevron_right_rounded, - color: FlutterFlowAppTheme - .of(context) - .secondaryText, + Icons.chevron_right_rounded, + color: AppTheme.secondaryText, size: 20, ), ), @@ -1553,9 +1262,7 @@ class _SettingsWidgetState extends State borderRadius: BorderRadius.circular(12), border: Border.all( - color: FlutterFlowAppTheme.of( - context) - .alternate, + color: AppTheme.alternate, width: 1, ), ), @@ -1577,52 +1284,28 @@ class _SettingsWidgetState extends State Colors.transparent, highlightColor: Colors.transparent, - onTap: () async { - setDarkModeSetting( - context, - AppThemeMode.light); - }, + // TODO + // onTap: () async { + // setDarkModeSetting( + // context, + // AppThemeMode.light); + // }, child: Container( width: 115, height: 100, decoration: BoxDecoration( - color: AppTheme.of(context) - .brightness == - Brightness - .light - ? FlutterFlowAppTheme.of( - context) - .secondaryBackground - : FlutterFlowAppTheme.of( - context) - .primaryBackground, + color: AppTheme.primaryBackground, borderRadius: BorderRadius .circular( 10), border: Border.all( - color: - valueOrDefault< - Color>( - AppTheme.of(context) - .brightness == - Brightness - .light - ? FlutterFlowAppTheme.of( - context) - .alternate - : FlutterFlowAppTheme.of( - context) - .primaryBackground, - FlutterFlowAppTheme.of( - context) - .alternate, - ), + color: AppTheme.primaryBackground, width: 1, ), ), - child: Row( + child: const Row( mainAxisSize: MainAxisSize .max, @@ -1633,21 +1316,12 @@ class _SettingsWidgetState extends State Icon( Icons .wb_sunny_rounded, - color: AppTheme.of(context) - .brightness == - Brightness - .light - ? FlutterFlowAppTheme.of( - context) - .primaryText - : FlutterFlowAppTheme.of( - context) - .secondaryText, + color: AppTheme.primaryTextColor, size: 16, ), Padding( padding: - const EdgeInsetsDirectional + EdgeInsetsDirectional .fromSTEB( 4, 0, @@ -1655,19 +1329,7 @@ class _SettingsWidgetState extends State 0), child: Text( 'Light ', - style: FlutterFlowAppTheme.of( - context) - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - color: AppTheme.of(context).brightness == - Brightness.light - ? AppTheme.primaryText - : AppTheme.secondaryText, - letterSpacing: - 0, - ), + style: AppTheme.primaryText, ), ), ], @@ -1685,45 +1347,28 @@ class _SettingsWidgetState extends State Colors.transparent, highlightColor: Colors.transparent, - onTap: () async { - setDarkModeSetting( - context, - AppThemeMode.dark); - }, + // TODO + // onTap: () async { + // setDarkModeSetting( + // context, + // AppThemeMode.dark); + // }, child: Container( width: 115, height: 100, decoration: BoxDecoration( - color: AppTheme.of(context) - .brightness == - Brightness - .dark - ? FlutterFlowAppTheme.of( - context) - .secondaryBackground - : FlutterFlowAppTheme.of( - context) - .primaryBackground, + color: AppTheme.primaryBackground, borderRadius: BorderRadius .circular( 10), border: Border.all( - color: AppTheme.of(context) - .brightness == - Brightness - .dark - ? FlutterFlowAppTheme.of( - context) - .alternate - : FlutterFlowAppTheme.of( - context) - .primaryBackground, + color: AppTheme.primaryBackground, width: 1, ), ), - child: Row( + child: const Row( mainAxisSize: MainAxisSize .max, @@ -1734,21 +1379,12 @@ class _SettingsWidgetState extends State Icon( Icons .nightlight_round, - color: AppTheme.of(context) - .brightness == - Brightness - .dark - ? FlutterFlowAppTheme.of( - context) - .primaryText - : FlutterFlowAppTheme.of( - context) - .secondaryText, + color: AppTheme.secondaryText, size: 16, ), Padding( padding: - const EdgeInsetsDirectional + EdgeInsetsDirectional .fromSTEB( 4, 0, @@ -1756,19 +1392,7 @@ class _SettingsWidgetState extends State 0), child: Text( 'Dark', - style: FlutterFlowAppTheme.of( - context) - .bodyMedium - .override( - fontFamily: - 'Readex Pro', - color: AppTheme.of(context).brightness == - Brightness.dark - ? AppTheme.primaryText - : AppTheme.secondaryText, - letterSpacing: - 0, - ), + style: AppTheme.bodyMedium, ), ), ], diff --git a/mobile/app/lib/pages/setup_widget.dart b/mobile/app/lib/pages/setup_widget.dart index 8483283..94dd717 100644 --- a/mobile/app/lib/pages/setup_widget.dart +++ b/mobile/app/lib/pages/setup_widget.dart @@ -4,6 +4,8 @@ import 'package:flutter_animate/flutter_animate.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; +import 'package:app/theme.dart'; + import 'setup_model.dart'; export 'setup_model.dart'; @@ -155,30 +157,30 @@ class _SetupWidgetState extends State child: Container( width: double.infinity, height: 500, - decoration: BoxDecoration( + decoration: const BoxDecoration( gradient: LinearGradient( colors: [ AppTheme.primary, AppTheme.error, AppTheme.tertiary ], - stops: const [0, 0.5, 1], - begin: const AlignmentDirectional(-1, -1), - end: const AlignmentDirectional(1, 1), + stops: [0, 0.5, 1], + begin: AlignmentDirectional(-1, -1), + end: AlignmentDirectional(1, 1), ), ), child: Container( width: 100, height: 100, - decoration: BoxDecoration( + decoration: const BoxDecoration( gradient: LinearGradient( colors: [ - const Color(0x00FFFFFF), + Color(0x00FFFFFF), AppTheme.secondaryBackground ], - stops: const [0, 1], - begin: const AlignmentDirectional(0, -1), - end: const AlignmentDirectional(0, 1), + stops: [0, 1], + begin: AlignmentDirectional(0, -1), + end: AlignmentDirectional(0, 1), ), ), child: Column( @@ -188,7 +190,7 @@ class _SetupWidgetState extends State Container( width: 120, height: 120, - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppTheme.accent4, shape: BoxShape.circle, ), @@ -205,27 +207,18 @@ class _SetupWidgetState extends State animationsMap['containerOnPageLoadAnimation2']!), Padding( padding: const EdgeInsetsDirectional.fromSTEB(0, 44, 0, 0), - child: Text( + child: const Text( 'Welcome!', - style: AppTheme - .displaySmall - .override( - fontFamily: 'Outfit', - letterSpacing: 0, - ), + style: AppTheme.displaySmall, ).animateOnPageLoad( animationsMap['textOnPageLoadAnimation1']!), ), Padding( padding: const EdgeInsetsDirectional.fromSTEB(44, 8, 44, 0), - child: Text( + child: const Text( 'Thanks for joining! Access or create your account below, and get started on your journey!', textAlign: TextAlign.center, - style: - AppTheme.labelMedium.override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + style: AppTheme.labelMedium, ).animateOnPageLoad( animationsMap['textOnPageLoadAnimation2']!), ), @@ -258,13 +251,9 @@ class _SetupWidgetState extends State const EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0), color: AppTheme .secondaryBackground, - textStyle: - AppTheme.bodyLarge.override( - fontFamily: 'Readex Pro', - letterSpacing: 0, - ), + textStyle: AppTheme.bodyLarge, elevation: 0, - borderSide: BorderSide( + borderSide: const BorderSide( color: AppTheme.alternate, width: 2, ), @@ -291,13 +280,7 @@ class _SetupWidgetState extends State iconPadding: const EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0), color: AppTheme.primary, - textStyle: AppTheme - .titleSmall - .override( - fontFamily: 'Readex Pro', - color: Colors.white, - letterSpacing: 0, - ), + textStyle: AppTheme.titleSmall, elevation: 3, borderSide: const BorderSide( color: Colors.transparent, diff --git a/mobile/app/lib/pages/support_form_widget.dart b/mobile/app/lib/pages/support_form_widget.dart index 402285e..5037056 100644 --- a/mobile/app/lib/pages/support_form_widget.dart +++ b/mobile/app/lib/pages/support_form_widget.dart @@ -131,11 +131,11 @@ class _SupportFormWidgetState extends State buttonSize: 60, icon: const Icon( Icons.arrow_back_rounded, - color: AppTheme.primaryText, + color: AppTheme.primaryTextColor, size: 30, ), onPressed: () async { - context.pop(); + //TODO: context.pop(); }, ), title: const Text( diff --git a/mobile/app/lib/theme.dart b/mobile/app/lib/theme.dart index 42fbdec..b947a32 100644 --- a/mobile/app/lib/theme.dart +++ b/mobile/app/lib/theme.dart @@ -6,19 +6,32 @@ class AppTheme { static const tertiary = Colors.white; static const alternate = Colors.purple; + static const accent1 = Colors.amber; + static const accent4 = Colors.amber; + static const primaryBackground = Colors.purple; static const secondaryBackground = Colors.purpleAccent; - static const primaryText = Colors.white; + static const primaryTextColor = Colors.white; + static const primaryText = TextStyle(color: primaryTextColor, fontSize: 12); static const secondaryText = Colors.white; + + static const bodyLarge = TextStyle(color: Colors.white, fontSize: 24); static const bodyMedium = TextStyle(color: Colors.white, fontSize: 12); + static const bodySmall = TextStyle(color: Colors.white, fontSize: 10); static const error = Colors.red; + static const info = Colors.grey; + + static const displaySmall = TextStyle(color: Colors.white, fontSize: 12); - static const labelMedium = TextStyle(color: Colors.grey, fontSize: 16); static const labelLarge = TextStyle(color: Colors.black, fontSize: 24); + static const labelMedium = TextStyle(color: Colors.grey, fontSize: 16); + static const labelSmall = TextStyle(color: Colors.grey, fontSize: 12); + static const headlineLarge = TextStyle(color: Colors.blue, fontWeight: FontWeight.bold); static const headlineMedium = TextStyle(color: Colors.blue, fontWeight: FontWeight.bold); + static const headlineSmall = TextStyle(color: Colors.blue, fontWeight: FontWeight.bold); static const titleLarge = TextStyle(fontFamily: 'Outfit', letterSpacing: 0, fontSize: 24); static const titleSmall = TextStyle(fontFamily: 'Outfit', letterSpacing: 0, fontSize: 16); diff --git a/mobile/app/macos/Flutter/Flutter-Debug.xcconfig b/mobile/app/macos/Flutter/Flutter-Debug.xcconfig index c2efd0b..4b81f9b 100644 --- a/mobile/app/macos/Flutter/Flutter-Debug.xcconfig +++ b/mobile/app/macos/Flutter/Flutter-Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mobile/app/macos/Flutter/Flutter-Release.xcconfig b/mobile/app/macos/Flutter/Flutter-Release.xcconfig index c2efd0b..5caa9d1 100644 --- a/mobile/app/macos/Flutter/Flutter-Release.xcconfig +++ b/mobile/app/macos/Flutter/Flutter-Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mobile/app/macos/Flutter/GeneratedPluginRegistrant.swift b/mobile/app/macos/Flutter/GeneratedPluginRegistrant.swift index 40a1f70..513efaa 100644 --- a/mobile/app/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/mobile/app/macos/Flutter/GeneratedPluginRegistrant.swift @@ -10,6 +10,7 @@ import rive_common import shared_preferences_foundation import sqflite import url_launcher_macos +import video_player_avfoundation func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) @@ -17,4 +18,5 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) + FVPVideoPlayerPlugin.register(with: registry.registrar(forPlugin: "FVPVideoPlayerPlugin")) } diff --git a/mobile/app/macos/Podfile b/mobile/app/macos/Podfile new file mode 100644 index 0000000..c795730 --- /dev/null +++ b/mobile/app/macos/Podfile @@ -0,0 +1,43 @@ +platform :osx, '10.14' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/mobile/app/pubspec.lock b/mobile/app/pubspec.lock index 664298d..ac7fad9 100644 --- a/mobile/app/pubspec.lock +++ b/mobile/app/pubspec.lock @@ -524,18 +524,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -572,10 +572,10 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" maybe_just_nothing: dependency: transitive description: @@ -588,10 +588,10 @@ packages: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: "25dfcaf170a0190f47ca6355bdd4552cb8924b430512ff0cafb8db9bd41fe33b" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.14.0" mime_type: dependency: transitive description: @@ -1001,10 +1001,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "2419f20b0c8677b2d67c8ac4d1ac7372d862dc6c460cdbb052b40155408cd794" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.1" timeago: dependency: transitive description: @@ -1101,14 +1101,54 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + video_player: + dependency: "direct main" + description: + name: video_player + sha256: e30df0d226c4ef82e2c150ebf6834b3522cf3f654d8e2f9419d376cdc071425d + url: "https://pub.dev" + source: hosted + version: "2.9.1" + video_player_android: + dependency: transitive + description: + name: video_player_android + sha256: fdc0331ce9f808cc2714014cb8126bd6369943affefd54f8fdab0ea0bb617b7f + url: "https://pub.dev" + source: hosted + version: "2.5.2" + video_player_avfoundation: + dependency: transitive + description: + name: video_player_avfoundation + sha256: d1e9a824f2b324000dc8fb2dcb2a3285b6c1c7c487521c63306cc5b394f68a7c + url: "https://pub.dev" + source: hosted + version: "2.6.1" + video_player_platform_interface: + dependency: transitive + description: + name: video_player_platform_interface + sha256: "236454725fafcacf98f0f39af0d7c7ab2ce84762e3b63f2cbb3ef9a7e0550bc6" + url: "https://pub.dev" + source: hosted + version: "6.2.2" + video_player_web: + dependency: transitive + description: + name: video_player_web + sha256: ff4d69a6614b03f055397c27a71c9d3ddea2b2a23d71b2ba0164f59ca32b8fe2 + url: "https://pub.dev" + source: hosted + version: "2.3.1" vm_service: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "7475cb4dd713d57b6f7464c0e13f06da0d535d8b2067e188962a59bac2cf280b" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.2" web: dependency: transitive description: diff --git a/mobile/app/pubspec.yaml b/mobile/app/pubspec.yaml index a8ff033..7fe9796 100644 --- a/mobile/app/pubspec.yaml +++ b/mobile/app/pubspec.yaml @@ -43,6 +43,7 @@ dependencies: google_fonts: any provider: any easy_debounce: any + video_player: ^2.9.1 dev_dependencies: flutter_test: sdk: flutter diff --git a/one-ai-mobile b/one-ai-mobile new file mode 160000 index 0000000..dd29a00 --- /dev/null +++ b/one-ai-mobile @@ -0,0 +1 @@ +Subproject commit dd29a001e9eea051ccfc5b1061edbea077e8f723 diff --git a/output.txt b/output.txt new file mode 100644 index 0000000..e69de29