fixed errors and removed dependency on flutterflowtheme. next working on getting it running.

This commit is contained in:
Joshua
2024-07-06 13:00:36 -06:00
parent 12481487d9
commit a568151b2c
29 changed files with 604 additions and 977 deletions
+1
View File
@@ -1 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
+1
View File
@@ -1 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
+44
View File
@@ -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
@@ -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
@@ -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,
),
),
@@ -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<ConversationOptionsWidget> {
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<ConversationOptionsWidget> {
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<ConversationOptionsWidget> {
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<ConversationOptionsWidget> {
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<ConversationOptionsWidget> {
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,
),
],
),
@@ -13,20 +13,19 @@ class ConversationThreadModel
final formKey = GlobalKey<FormState>();
// 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();
}
}
@@ -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<ConversationThreadWidget> {
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<ConversationThreadWidget> {
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<ConversationThreadWidget> {
)
],
),
// TODO
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
@@ -110,44 +114,45 @@ class _ConversationThreadWidgetState extends State<ConversationThreadWidget> {
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<ConversationThreadWidget> {
child: wrapWithModel(
model: _model.promptBoxModel,
updateCallback: () => setState(() {}),
child: PromptBoxWidget(),
child: const PromptBoxWidget(),
),
),
),
@@ -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<ModelItemWidget> {
}),
child: Container(
decoration: BoxDecoration(
color: AppAppAppAppAppAppAppAppAppTheme.primaryBackground,
color: AppTheme.primaryBackground,
borderRadius: BorderRadius.circular(0),
),
child: Padding(
@@ -60,29 +62,25 @@ class _ModelItemWidgetState extends State<ModelItemWidget> {
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<ModelItemWidget> {
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,
),
),
],
@@ -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<NoChatsWidget> {
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<NoChatsWidget> {
child: Text(
widget.body,
textAlign: TextAlign.center,
style: AppAppAppAppAppAppAppAppAppTheme.labelMedium.override(
fontFamily: 'Readex Pro',
letterSpacing: 0,
),
style: AppTheme.labelMedium,
),
),
],
@@ -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<OptionsDialogWidget> {
class OptionsDialogModel extends FlutterFlowModel<PopupWidget> {
/// State fields for stateful widgets in this component.
// State field(s) for MouseRegion widget.
@@ -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<PopupWidget> {
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<PopupWidget> {
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<PopupWidget> {
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<PopupWidget> {
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,
@@ -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<PopupWidget> {
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<PopupWidget> {
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<PopupWidget> {
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<PopupWidget> {
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,
@@ -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<PromptBoxWidget> {
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<PromptBoxWidget> {
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<PromptBoxWidget> {
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<PromptBoxWidget> {
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<PromptBoxWidget> {
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<PromptBoxWidget> {
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<PromptBoxWidget> {
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<PromptBoxWidget> {
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,
+22 -20
View File
@@ -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<ConversationWidget> {
: 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: <String, dynamic>{
kTransitionInfoKey: TransitionInfo(
hasTransition: true,
transitionType: PageTransitionType.leftToRight,
duration: const Duration(milliseconds: 250),
),
},
);
print("something pressed in conversation_widget.dart");
// TODO
// context.goNamed(
// 'ConversationsList',
// extra: <String, dynamic>{
// 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<ConversationWidget> {
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<ConversationWidget> {
: FocusScope.of(context).unfocus(),
child: Padding(
padding: MediaQuery.viewInsetsOf(context),
child: ConversationDetailsOverlayWidget(),
child: const ConversationDetailsOverlayWidget(),
),
);
},
@@ -121,7 +123,7 @@ class _ConversationWidgetState extends State<ConversationWidget> {
child: wrapWithModel(
model: _model.conversationThreadModel,
updateCallback: () => setState(() {}),
child: ConversationThreadWidget(),
child: const ConversationThreadWidget(),
),
),
),
@@ -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<ConversationsListWidget> {
: 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<ConversationsListWidget> {
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<ConversationsListWidget> {
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<ConversationsListWidget> {
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<ConversationsListWidget> {
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<ConversationsListWidget> {
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<ConversationsListWidget> {
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<ConversationsListWidget> {
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,
+15 -30
View File
@@ -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<ImageDetailsWidget>
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<ImageDetailsWidget>
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,
)),
),
],
File diff suppressed because it is too large Load Diff
+19 -36
View File
@@ -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<SetupWidget>
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<SetupWidget>
Container(
width: 120,
height: 120,
decoration: BoxDecoration(
decoration: const BoxDecoration(
color: AppTheme.accent4,
shape: BoxShape.circle,
),
@@ -205,27 +207,18 @@ class _SetupWidgetState extends State<SetupWidget>
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<SetupWidget>
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<SetupWidget>
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,
@@ -131,11 +131,11 @@ class _SupportFormWidgetState extends State<SupportFormWidget>
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(
+15 -2
View File
@@ -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);
@@ -1 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
@@ -1 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
@@ -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"))
}
+43
View File
@@ -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
+52 -12
View File
@@ -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:
+1
View File
@@ -43,6 +43,7 @@ dependencies:
google_fonts: any
provider: any
easy_debounce: any
video_player: ^2.9.1
dev_dependencies:
flutter_test:
sdk: flutter
Submodule
+1
Submodule one-ai-mobile added at dd29a001e9
View File