fixed errors and removed dependency on flutterflowtheme. next working on getting it running.
This commit is contained in:
+2
-2
@@ -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
|
||||
|
||||
+27
-40
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user