
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
실수로 history 페이지를 따로 만들었는데 괜찮겠죠?
보고 계신 화면

전체를 캡처해 주시면, 튜터님들이 빠르게 상황을 이해할 수 있어요.
작성한 코드 및 에러 메세지
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import 'home_page_model.dart';
export 'home_page_model.dart';
class HomePageWidget extends StatefulWidget {
const HomePageWidget({super.key});
@override
State<HomePageWidget> createState() => _HomePageWidgetState();
}
class _HomePageWidgetState extends State<HomePageWidget> {
late HomePageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
@override
void initState() {
super.initState();
_model = createModel(context, () => HomePageModel());
_model.textController ??= TextEditingController();
_model.textFieldFocusNode ??= FocusNode();
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
FocusScope.of(context).unfocus();
FocusManager.instance.primaryFocus?.unfocus();
},
child: Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
drawer: Drawer(
elevation: 16,
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Material(
color: Colors.transparent,
child: ListTile(
title: Text(
'Home',
style: FlutterFlowTheme.of(context).titleLarge.override(
fontFamily: 'Inter Tight',
letterSpacing: 0.0,
),
),
trailing: Icon(
Icons.arrow_forward_ios_rounded,
color: FlutterFlowTheme.of(context).secondaryText,
size: 24,
),
tileColor: FlutterFlowTheme.of(context).secondaryBackground,
dense: false,
contentPadding: EdgeInsetsDirectional.fromSTEB(12, 64, 12, 0),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
),
Material(
color: Colors.transparent,
child: ListTile(
title: Text(
'History',
style: FlutterFlowTheme.of(context).titleLarge.override(
fontFamily: 'Inter Tight',
letterSpacing: 0.0,
),
),
trailing: Icon(
Icons.arrow_forward_ios_rounded,
color: FlutterFlowTheme.of(context).secondaryText,
size: 24,
),
tileColor: FlutterFlowTheme.of(context).secondaryBackground,
dense: false,
contentPadding: EdgeInsetsDirectional.fromSTEB(12, 0, 12, 0),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
),
],
),
),
appBar: AppBar(
backgroundColor: FlutterFlowTheme.of(context).primary,
automaticallyImplyLeading: true,
title: Text(
'Home',
style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: 'Inter Tight',
color: Colors.white,
fontSize: 22,
letterSpacing: 0.0,
),
),
actions: [],
centerTitle: false,
elevation: 2,
),
body: SafeArea(
top: true,
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(16, 0, 16, 0),
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'입력하기',
style: FlutterFlowTheme.of(context).titleLarge.override(
fontFamily: 'Inter Tight',
letterSpacing: 0.0,
),
),
Align(
alignment: AlignmentDirectional(-1, 0),
child: Container(
width: 500,
child: TextFormField(
controller: _model.textController,
focusNode: _model.textFieldFocusNode,
autofocus: false,
obscureText: false,
decoration: InputDecoration(
isDense: true,
labelText: '만들고 싶은 수식',
labelStyle:
FlutterFlowTheme.of(context).labelMedium.override(
fontFamily: 'Pretendard',
letterSpacing: 0.0,
useGoogleFonts: false,
),
alignLabelWithHint: true,
hintStyle:
FlutterFlowTheme.of(context).labelMedium.override(
fontFamily: 'Pretendard',
letterSpacing: 0.0,
useGoogleFonts: false,
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).secondaryText,
width: 1,
),
borderRadius: BorderRadius.circular(12),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 1,
),
borderRadius: BorderRadius.circular(12),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 1,
),
borderRadius: BorderRadius.circular(12),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 1,
),
borderRadius: BorderRadius.circular(12),
),
filled: true,
fillColor: FlutterFlowTheme.of(context).alternate,
),
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Pretendard',
letterSpacing: 0.0,
useGoogleFonts: false,
),
textAlign: TextAlign.start,
maxLines: 5,
cursorColor: FlutterFlowTheme.of(context).primaryText,
validator:
_model.textControllerValidator.asValidator(context),
),
),
),
Align(
alignment: AlignmentDirectional(0, 0),
child: FFButtonWidget(
onPressed: () {
print('Button pressed ...');
},
text: '제출',
options: FFButtonOptions(
height: 40,
padding: EdgeInsetsDirectional.fromSTEB(16, 0, 16, 0),
iconPadding: EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0),
color: FlutterFlowTheme.of(context).primary,
textStyle:
FlutterFlowTheme.of(context).titleSmall.override(
fontFamily: 'Inter Tight',
color: Colors.white,
letterSpacing: 0.0,
),
elevation: 0,
borderRadius: BorderRadius.circular(8),
),
),
),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'출력결과',
style: FlutterFlowTheme.of(context).titleLarge.override(
fontFamily: 'Inter Tight',
letterSpacing: 0.0,
fontWeight: FontWeight.bold,
),
),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 0, 8, 0),
child: Text(
'복사하기',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Pretendard',
color: FlutterFlowTheme.of(context)
.secondaryText,
letterSpacing: 0.0,
fontWeight: FontWeight.w600,
useGoogleFonts: false,
),
),
),
Icon(
Icons.content_copy,
color: FlutterFlowTheme.of(context).secondaryText,
size: 24,
),
],
),
],
),
Align(
alignment: AlignmentDirectional(0, 0),
child: Container(
width: MediaQuery.sizeOf(context).width,
height: 120,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).alternate,
borderRadius: BorderRadius.circular(8),
border: Border.all(
color: FlutterFlowTheme.of(context).secondaryText,
),
),
alignment: AlignmentDirectional(-1, -1),
child: Text(
'결과값',
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Pretendard',
letterSpacing: 0.0,
useGoogleFonts: false,
),
),
),
),
].divide(SizedBox(height: 16)).addToStart(SizedBox(height: 32)),
),
),
),
),
);
}
}
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import 'home_page_model.dart';
export 'home_page_model.dart';
class HomePageWidget extends StatefulWidget {
const HomePageWidget({super.key});
@override
State<HomePageWidget> createState() => _HomePageWidgetState();
}
class _HomePageWidgetState extends State<HomePageWidget> {
late HomePageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
@override
void initState() {
super.initState();
_model = createModel(context, () => HomePageModel());
_model.textController ??= TextEditingController();
_model.textFieldFocusNode ??= FocusNode();
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
FocusScope.of(context).unfocus();
FocusManager.instance.primaryFocus?.unfocus();
},
child: Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
appBar: AppBar(
backgroundColor: FlutterFlowTheme.of(context).primary,
automaticallyImplyLeading: false,
title: Stack(
children: [
Padding(
padding: EdgeInsetsDirectional.fromSTEB(72, 0, 0, 0),
child: Text(
'History',
style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: 'Inter Tight',
color: Colors.white,
fontSize: 22,
letterSpacing: 0.0,
),
),
),
Icon(
Icons.menu,
color: Colors.white,
size: 24,
),
],
),
actions: [],
centerTitle: false,
elevation: 2,
),
body: SafeArea(
top: true,
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Stack(
children: [
Align(
alignment: AlignmentDirectional(0, -0.06),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(8, 16, 8, 16),
child: Container(
width: MediaQuery.sizeOf(context).width,
child: TextFormField(
controller: _model.textController,
focusNode: _model.textFieldFocusNode,
autofocus: false,
obscureText: false,
decoration: InputDecoration(
isDense: true,
labelText: ' 검색어 입력',
labelStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily: 'Inter',
color: Color(0xFF47474C),
letterSpacing: 0.0,
),
hintStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color:
FlutterFlowTheme.of(context).secondaryText,
width: 1,
),
borderRadius: BorderRadius.circular(8),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 1,
),
borderRadius: BorderRadius.circular(8),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 1,
),
borderRadius: BorderRadius.circular(8),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 1,
),
borderRadius: BorderRadius.circular(8),
),
filled: true,
fillColor: FlutterFlowTheme.of(context)
.secondaryBackground,
),
style:
FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
cursorColor: FlutterFlowTheme.of(context).primaryText,
validator: _model.textControllerValidator
.asValidator(context),
),
),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(16, 24, 0, 0),
child: Icon(
Icons.search_sharp,
color: FlutterFlowTheme.of(context).secondaryText,
size: 24,
),
),
],
),
Row(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: EdgeInsetsDirectional.fromSTEB(16, 0, 0, 0),
child: Icon(
Icons.mail,
color: FlutterFlowTheme.of(context).primary,
size: 24,
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(8, 0, 0, 0),
child: Text(
'[request_formula]',
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Inter',
color: FlutterFlowTheme.of(context).primaryText,
letterSpacing: 0.0,
),
),
),
Align(
alignment: AlignmentDirectional(1, -1),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(172, 0, 0, 0),
child: Text(
'[Md]',
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
),
),
),
],
),
Stack(
children: [
Align(
alignment: AlignmentDirectional(-0.88, 0),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 4, 0, 0),
child: Text(
'[response_formula]',
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Inter',
color: FlutterFlowTheme.of(context).primary,
letterSpacing: 0.0,
),
),
),
),
Align(
alignment: AlignmentDirectional(0.86, 0),
child: FaIcon(
FontAwesomeIcons.trash,
color: FlutterFlowTheme.of(context).primaryText,
size: 24,
),
),
],
),
Opacity(
opacity: 0.5,
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 32, 0, 0),
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: EdgeInsetsDirectional.fromSTEB(16, 0, 0, 0),
child: Icon(
Icons.mail,
color: FlutterFlowTheme.of(context).primary,
size: 24,
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(8, 0, 0, 0),
child: Text(
'[request_formula]',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: FlutterFlowTheme.of(context).primaryText,
letterSpacing: 0.0,
),
),
),
Align(
alignment: AlignmentDirectional(1, -1),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(172, 0, 0, 0),
child: Text(
'[Md]',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
),
),
),
],
),
),
),
Opacity(
opacity: 0.5,
child: Stack(
children: [
Align(
alignment: AlignmentDirectional(-0.88, 0),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 4, 0, 0),
child: Text(
'[response_formula]',
style:
FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Inter',
color: FlutterFlowTheme.of(context).primary,
letterSpacing: 0.0,
),
),
),
),
Align(
alignment: AlignmentDirectional(0.86, 0),
child: FaIcon(
FontAwesomeIcons.trash,
color: FlutterFlowTheme.of(context).primaryText,
size: 24,
),
),
],
),
),
Opacity(
opacity: 0.5,
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 32, 0, 0),
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: EdgeInsetsDirectional.fromSTEB(16, 0, 0, 0),
child: Icon(
Icons.mail,
color: FlutterFlowTheme.of(context).primary,
size: 24,
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(8, 0, 0, 0),
child: Text(
'[request_formula]',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: FlutterFlowTheme.of(context).primaryText,
letterSpacing: 0.0,
),
),
),
Align(
alignment: AlignmentDirectional(1, -1),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(172, 0, 0, 0),
child: Text(
'[Md]',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
),
),
),
],
),
),
),
Opacity(
opacity: 0.5,
child: Stack(
children: [
Align(
alignment: AlignmentDirectional(-0.88, 0),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 4, 0, 0),
child: Text(
'[response_formula]',
style:
FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Inter',
color: FlutterFlowTheme.of(context).primary,
letterSpacing: 0.0,
),
),
),
),
Align(
alignment: AlignmentDirectional(0.86, 0),
child: FaIcon(
FontAwesomeIcons.trash,
color: FlutterFlowTheme.of(context).primaryText,
size: 24,
),
),
],
),
),
Opacity(
opacity: 0.5,
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 32, 0, 0),
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: EdgeInsetsDirectional.fromSTEB(16, 0, 0, 0),
child: Icon(
Icons.mail,
color: FlutterFlowTheme.of(context).primary,
size: 24,
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(8, 0, 0, 0),
child: Text(
'[request_formula]',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: FlutterFlowTheme.of(context).primaryText,
letterSpacing: 0.0,
),
),
),
Align(
alignment: AlignmentDirectional(1, -1),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(172, 0, 0, 0),
child: Text(
'[Md]',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
),
),
),
],
),
),
),
Opacity(
opacity: 0.5,
child: Stack(
children: [
Align(
alignment: AlignmentDirectional(-0.88, 0),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 4, 0, 0),
child: Text(
'[response_formula]',
style:
FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Inter',
color: FlutterFlowTheme.of(context).primary,
letterSpacing: 0.0,
),
),
),
),
Align(
alignment: AlignmentDirectional(0.86, 0),
child: FaIcon(
FontAwesomeIcons.trash,
color: FlutterFlowTheme.of(context).primaryText,
size: 24,
),
),
],
),
),
],
),
),
),
);
}
}
