Feat: add slicing login_screen
This commit is contained in:
parent
329530d382
commit
ebc8bbc356
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"configVersion": 2,
|
"configVersion": 2,
|
||||||
"packages": [
|
"packages": [
|
||||||
|
{
|
||||||
|
"name": "args",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.6.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "async",
|
"name": "async",
|
||||||
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0",
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0",
|
||||||
|
@ -85,6 +91,12 @@
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "flutter_svg",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_svg-2.0.17",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_test",
|
"name": "flutter_test",
|
||||||
"rootUri": "file:///D:/Flutter/flutter_sdk/flutter_3.24.0/packages/flutter_test",
|
"rootUri": "file:///D:/Flutter/flutter_sdk/flutter_3.24.0/packages/flutter_test",
|
||||||
|
@ -103,6 +115,12 @@
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.15"
|
"languageVersion": "2.15"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "http",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.3.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "http_parser",
|
"name": "http_parser",
|
||||||
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2",
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2",
|
||||||
|
@ -151,6 +169,24 @@
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "path_parsing",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/path_parsing-1.1.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "petitparser",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/petitparser-6.0.2",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pin_code_fields",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/pin_code_fields-8.0.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.12"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "plugin_platform_interface",
|
"name": "plugin_platform_interface",
|
||||||
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
|
||||||
|
@ -205,6 +241,24 @@
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.5"
|
"languageVersion": "3.5"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "vector_graphics",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics-1.1.18",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vector_graphics_codec",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_codec-1.1.13",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vector_graphics_compiler",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_compiler-1.1.16",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_math",
|
"name": "vector_math",
|
||||||
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4",
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4",
|
||||||
|
@ -223,6 +277,18 @@
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "xml",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/xml-6.5.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zoom_tap_animation",
|
||||||
|
"rootUri": "file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/zoom_tap_animation-1.1.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.12"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "e_porter",
|
"name": "e_porter",
|
||||||
"rootUri": "../",
|
"rootUri": "../",
|
||||||
|
@ -230,7 +296,7 @@
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"generated": "2025-02-10T08:20:42.126262Z",
|
"generated": "2025-02-11T13:49:26.295004Z",
|
||||||
"generator": "pub",
|
"generator": "pub",
|
||||||
"generatorVersion": "3.5.0",
|
"generatorVersion": "3.5.0",
|
||||||
"flutterRoot": "file:///D:/Flutter/flutter_sdk/flutter_3.24.0",
|
"flutterRoot": "file:///D:/Flutter/flutter_sdk/flutter_3.24.0",
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
args
|
||||||
|
3.3
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.6.0/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.6.0/lib/
|
||||||
async
|
async
|
||||||
2.18
|
2.18
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0/
|
||||||
|
@ -50,10 +54,18 @@ flutter_screenutil
|
||||||
2.17
|
2.17
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_screenutil-5.9.3/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_screenutil-5.9.3/
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_screenutil-5.9.3/lib/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_screenutil-5.9.3/lib/
|
||||||
|
flutter_svg
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_svg-2.0.17/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_svg-2.0.17/lib/
|
||||||
get
|
get
|
||||||
2.15
|
2.15
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/lib/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/lib/
|
||||||
|
http
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.3.0/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.3.0/lib/
|
||||||
http_parser
|
http_parser
|
||||||
2.12
|
2.12
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2/
|
||||||
|
@ -86,6 +98,18 @@ path
|
||||||
3.0
|
3.0
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.0/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.0/
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.0/lib/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.0/lib/
|
||||||
|
path_parsing
|
||||||
|
3.3
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/path_parsing-1.1.0/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/path_parsing-1.1.0/lib/
|
||||||
|
petitparser
|
||||||
|
3.2
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/petitparser-6.0.2/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/petitparser-6.0.2/lib/
|
||||||
|
pin_code_fields
|
||||||
|
2.12
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/pin_code_fields-8.0.1/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/pin_code_fields-8.0.1/lib/
|
||||||
plugin_platform_interface
|
plugin_platform_interface
|
||||||
3.0
|
3.0
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8/
|
||||||
|
@ -118,6 +142,18 @@ typed_data
|
||||||
3.5
|
3.5
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0/
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0/lib/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0/lib/
|
||||||
|
vector_graphics
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics-1.1.18/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics-1.1.18/lib/
|
||||||
|
vector_graphics_codec
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_codec-1.1.13/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_codec-1.1.13/lib/
|
||||||
|
vector_graphics_compiler
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_compiler-1.1.16/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_compiler-1.1.16/lib/
|
||||||
vector_math
|
vector_math
|
||||||
2.14
|
2.14
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/
|
||||||
|
@ -130,6 +166,14 @@ web
|
||||||
3.4
|
3.4
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.0/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.0/
|
||||||
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.0/lib/
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.0/lib/
|
||||||
|
xml
|
||||||
|
3.2
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/xml-6.5.0/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/xml-6.5.0/lib/
|
||||||
|
zoom_tap_animation
|
||||||
|
2.12
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/zoom_tap_animation-1.1.0/
|
||||||
|
file:///C:/Users/ASUS/AppData/Local/Pub/Cache/hosted/pub.dev/zoom_tap_animation-1.1.0/lib/
|
||||||
e_porter
|
e_porter
|
||||||
3.4
|
3.4
|
||||||
file:///D:/Flutter/Flutter%20Project/e_porter/
|
file:///D:/Flutter/Flutter%20Project/e_porter/
|
||||||
|
|
|
@ -2,6 +2,13 @@
|
||||||
<library name="Dart Packages" type="DartPackagesLibraryType">
|
<library name="Dart Packages" type="DartPackagesLibraryType">
|
||||||
<properties>
|
<properties>
|
||||||
<option name="packageNameToDirsMap">
|
<option name="packageNameToDirsMap">
|
||||||
|
<entry key="args">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.6.0/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
<entry key="async">
|
<entry key="async">
|
||||||
<value>
|
<value>
|
||||||
<list>
|
<list>
|
||||||
|
@ -100,6 +107,13 @@
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry key="flutter_svg">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_svg-2.0.17/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
<entry key="flutter_test">
|
<entry key="flutter_test">
|
||||||
<value>
|
<value>
|
||||||
<list>
|
<list>
|
||||||
|
@ -121,6 +135,13 @@
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry key="http">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.3.0/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
<entry key="http_parser">
|
<entry key="http_parser">
|
||||||
<value>
|
<value>
|
||||||
<list>
|
<list>
|
||||||
|
@ -177,6 +198,27 @@
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry key="path_parsing">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/path_parsing-1.1.0/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="petitparser">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/petitparser-6.0.2/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="pin_code_fields">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/pin_code_fields-8.0.1/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
<entry key="plugin_platform_interface">
|
<entry key="plugin_platform_interface">
|
||||||
<value>
|
<value>
|
||||||
<list>
|
<list>
|
||||||
|
@ -240,6 +282,27 @@
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry key="vector_graphics">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics-1.1.18/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="vector_graphics_codec">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_codec-1.1.13/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="vector_graphics_compiler">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_compiler-1.1.16/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
<entry key="vector_math">
|
<entry key="vector_math">
|
||||||
<value>
|
<value>
|
||||||
<list>
|
<list>
|
||||||
|
@ -261,9 +324,24 @@
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry key="xml">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/xml-6.5.0/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="zoom_tap_animation">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/zoom_tap_animation-1.1.0/lib" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
</option>
|
</option>
|
||||||
</properties>
|
</properties>
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.6.0/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.3.0/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.3.0/lib" />
|
||||||
|
@ -277,7 +355,9 @@
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/firebase_core_platform_interface-5.4.0/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/firebase_core_platform_interface-5.4.0/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/firebase_core_web-2.20.0/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/firebase_core_web-2.20.0/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_screenutil-5.9.3/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_screenutil-5.9.3/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_svg-2.0.17/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.3.0/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker-10.0.5/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker-10.0.5/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.5/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.5/lib" />
|
||||||
|
@ -286,6 +366,9 @@
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.11.1/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.11.1/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.15.0/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.15.0/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.0/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.0/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/path_parsing-1.1.0/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/petitparser-6.0.2/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/pin_code_fields-8.0.1/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.10.0/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.10.0/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.11.1/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.11.1/lib" />
|
||||||
|
@ -294,9 +377,14 @@
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.7.2/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.7.2/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics-1.1.18/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_codec-1.1.13/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vector_graphics_compiler-1.1.16/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vm_service-14.2.4/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/vm_service-14.2.4/lib" />
|
||||||
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.0/lib" />
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.0/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/xml-6.5.0/lib" />
|
||||||
|
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/zoom_tap_animation-1.1.0/lib" />
|
||||||
<root url="file://$PROJECT_DIR$/../../flutter_sdk/flutter_3.24.0/bin/cache/pkg/sky_engine/lib" />
|
<root url="file://$PROJECT_DIR$/../../flutter_sdk/flutter_3.24.0/bin/cache/pkg/sky_engine/lib" />
|
||||||
<root url="file://$PROJECT_DIR$/../../flutter_sdk/flutter_3.24.0/packages/flutter/lib" />
|
<root url="file://$PROJECT_DIR$/../../flutter_sdk/flutter_3.24.0/packages/flutter/lib" />
|
||||||
<root url="file://$PROJECT_DIR$/../../flutter_sdk/flutter_3.24.0/packages/flutter_test/lib" />
|
<root url="file://$PROJECT_DIR$/../../flutter_sdk/flutter_3.24.0/packages/flutter_test/lib" />
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"accessibility.signalOptions.volume": 0
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M5.25 4C3.46403 4 2 5.46403 2 7.25V16.75C2 18.536 3.46403 20 5.25 20H18.75C20.536 20 22 18.536 22 16.75V7.25C22 5.46403 20.536 4 18.75 4H5.25ZM5.25 5.5H18.75C19.725 5.5 20.5 6.27497 20.5 7.25V7.80273L12 12.3975L3.5 7.80273V7.25C3.5 6.27497 4.27497 5.5 5.25 5.5ZM3.5 9.50781L11.6436 13.9102C11.7531 13.9693 11.8755 14.0003 12 14.0003C12.1245 14.0003 12.2469 13.9693 12.3564 13.9102L20.5 9.50781V16.75C20.5 17.725 19.725 18.5 18.75 18.5H5.25C4.27497 18.5 3.5 17.725 3.5 16.75V9.50781Z" fill="#6B7280"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 613 B |
|
@ -0,0 +1,3 @@
|
||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12 2C9.79971 2 8 3.79971 8 6V8H6.25C5.01625 8 4 9.01625 4 10.25V19.75C4 20.9838 5.01625 22 6.25 22H17.75C18.9838 22 20 20.9838 20 19.75V10.25C20 9.01625 18.9838 8 17.75 8H9.5V6C9.5 4.61029 10.6103 3.5 12 3.5C13.3239 3.5 14.3905 4.5127 14.4893 5.80664C14.4967 5.90489 14.5234 6.00072 14.5678 6.08864C14.6123 6.17657 14.6736 6.25488 14.7484 6.3191C14.8231 6.38332 14.9097 6.43219 15.0033 6.46292C15.097 6.49365 15.1957 6.50564 15.294 6.4982C15.3922 6.49076 15.488 6.46404 15.5759 6.41957C15.6639 6.37509 15.7422 6.31373 15.8064 6.23899C15.8706 6.16426 15.9194 6.0776 15.9501 5.98398C15.9808 5.89036 15.9928 5.79161 15.9854 5.69336C15.8281 3.6323 14.0971 2 12 2ZM6.25 9.5H8.62695C8.70747 9.51323 8.7896 9.51323 8.87012 9.5H17.75C18.1732 9.5 18.5 9.82675 18.5 10.25V19.75C18.5 20.1733 18.1732 20.5 17.75 20.5H6.25C5.82675 20.5 5.5 20.1733 5.5 19.75V10.25C5.5 9.82675 5.82675 9.5 6.25 9.5ZM12 13.5C11.6022 13.5 11.2206 13.658 10.9393 13.9393C10.658 14.2206 10.5 14.6022 10.5 15C10.5 15.3978 10.658 15.7794 10.9393 16.0607C11.2206 16.342 11.6022 16.5 12 16.5C12.3978 16.5 12.7794 16.342 13.0607 16.0607C13.342 15.7794 13.5 15.3978 13.5 15C13.5 14.6022 13.342 14.2206 13.0607 13.9393C12.7794 13.658 12.3978 13.5 12 13.5Z" fill="#6B7280"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
||||||
df71d99f2ae79f9e146eee08a8e7c0be
|
e5a42601b737771ef8a4800cd9e66dbd
|
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -1,4 +1,4 @@
|
||||||
#Mon Feb 10 16:38:11 WIB 2025
|
#Wed Feb 12 14:53:15 WIB 2025
|
||||||
base.0=D\:\\Flutter\\Flutter Project\\e_porter\\build\\app\\intermediates\\dex\\debug\\mergeExtDexDebug\\classes.dex
|
base.0=D\:\\Flutter\\Flutter Project\\e_porter\\build\\app\\intermediates\\dex\\debug\\mergeExtDexDebug\\classes.dex
|
||||||
base.1=D\:\\Flutter\\Flutter Project\\e_porter\\build\\app\\intermediates\\dex\\debug\\mergeLibDexDebug\\0\\classes.dex
|
base.1=D\:\\Flutter\\Flutter Project\\e_porter\\build\\app\\intermediates\\dex\\debug\\mergeLibDexDebug\\0\\classes.dex
|
||||||
base.2=D\:\\Flutter\\Flutter Project\\e_porter\\build\\app\\intermediates\\dex\\debug\\mergeProjectDexDebug\\0\\classes.dex
|
base.2=D\:\\Flutter\\Flutter Project\\e_porter\\build\\app\\intermediates\\dex\\debug\\mergeProjectDexDebug\\0\\classes.dex
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
||||||
9f4a1c54eb2544888931426d785c0f33f0e35bf1
|
904ddde6bbe97a19b187c2e25fce28a59ea87dc8
|
|
@ -0,0 +1,69 @@
|
||||||
|
import 'package:e_porter/_core/constants/colors.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
|
||||||
|
import '../../constants/typography.dart';
|
||||||
|
|
||||||
|
class ButtonFill extends StatelessWidget {
|
||||||
|
final String text;
|
||||||
|
final Color? textColor;
|
||||||
|
final VoidCallback? onTap;
|
||||||
|
final bool isLoading;
|
||||||
|
|
||||||
|
const ButtonFill({
|
||||||
|
Key? key,
|
||||||
|
required this.text,
|
||||||
|
required this.textColor,
|
||||||
|
this.onTap,
|
||||||
|
this.isLoading = false,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return SizedBox(
|
||||||
|
width: double.infinity,
|
||||||
|
child: ElevatedButton(
|
||||||
|
onPressed: onTap,
|
||||||
|
style: ElevatedButton.styleFrom(
|
||||||
|
backgroundColor: isLoading ? GrayColors.gray500 : PrimaryColors.primary800,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(35.r),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 14.h),
|
||||||
|
child: isLoading
|
||||||
|
? _rowLoading()
|
||||||
|
: TypographyStyles.h6(
|
||||||
|
text,
|
||||||
|
color: textColor,
|
||||||
|
letterSpacing: 1.5,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _rowLoading() {
|
||||||
|
return Row(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
TypographyStyles.h6(
|
||||||
|
'Loading...',
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
SizedBox(width: 10.w),
|
||||||
|
SizedBox(
|
||||||
|
width: 20.w,
|
||||||
|
height: 20.h,
|
||||||
|
child: CircularProgressIndicator(
|
||||||
|
color: Colors.white,
|
||||||
|
strokeWidth: 2.5.w,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,72 @@
|
||||||
|
import 'package:e_porter/_core/constants/colors.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
|
||||||
|
import '../../constants/typography.dart';
|
||||||
|
|
||||||
|
class ButtonOutline extends StatelessWidget {
|
||||||
|
final String text;
|
||||||
|
final Color? textColor;
|
||||||
|
final VoidCallback? onTap;
|
||||||
|
final bool isLoading;
|
||||||
|
|
||||||
|
const ButtonOutline({
|
||||||
|
Key? key,
|
||||||
|
required this.text,
|
||||||
|
required this.textColor,
|
||||||
|
this.onTap,
|
||||||
|
this.isLoading = false,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return SizedBox(
|
||||||
|
width: double.infinity,
|
||||||
|
child: ElevatedButton(
|
||||||
|
onPressed: onTap,
|
||||||
|
style: ElevatedButton.styleFrom(
|
||||||
|
backgroundColor: Colors.white,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(35.r),
|
||||||
|
),
|
||||||
|
side: BorderSide(
|
||||||
|
width: 2.w,
|
||||||
|
color: PrimaryColors.primary800,
|
||||||
|
)),
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 14.h),
|
||||||
|
child: isLoading
|
||||||
|
? _rowLoading()
|
||||||
|
: TypographyStyles.h6(
|
||||||
|
text,
|
||||||
|
color: textColor,
|
||||||
|
letterSpacing: 1.5,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _rowLoading() {
|
||||||
|
return Row(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
TypographyStyles.h6(
|
||||||
|
'Loading...',
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
SizedBox(width: 10.w),
|
||||||
|
SizedBox(
|
||||||
|
width: 20.w,
|
||||||
|
height: 20.h,
|
||||||
|
child: CircularProgressIndicator(
|
||||||
|
color: Colors.white,
|
||||||
|
strokeWidth: 2.5.w,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,6 +13,7 @@ class TypographyStyles extends StatelessWidget {
|
||||||
final double? height;
|
final double? height;
|
||||||
final double? fontSize;
|
final double? fontSize;
|
||||||
final FontWeight? fontWeight;
|
final FontWeight? fontWeight;
|
||||||
|
final double? letterSpacing;
|
||||||
|
|
||||||
// final TextDirection? textDirection;
|
// final TextDirection? textDirection;
|
||||||
// final Locale? locale;
|
// final Locale? locale;
|
||||||
|
@ -33,174 +34,185 @@ class TypographyStyles extends StatelessWidget {
|
||||||
this.fontSize,
|
this.fontSize,
|
||||||
this.fontWeight,
|
this.fontWeight,
|
||||||
this.height,
|
this.height,
|
||||||
|
this.letterSpacing,
|
||||||
}) : style = TextStyle(
|
}) : style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 80.sp,
|
fontSize: fontSize ?? 80.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
TypographyStyles.h2(
|
TypographyStyles.h2(this.text,
|
||||||
this.text, {
|
{super.key,
|
||||||
super.key,
|
this.textAlign = TextAlign.start,
|
||||||
this.textAlign = TextAlign.start,
|
this.overflow = TextOverflow.ellipsis,
|
||||||
this.overflow = TextOverflow.ellipsis,
|
this.maxlines,
|
||||||
this.maxlines,
|
this.color,
|
||||||
this.color,
|
this.fontSize,
|
||||||
this.fontSize,
|
this.fontWeight,
|
||||||
this.fontWeight,
|
this.height,
|
||||||
this.height,
|
this.letterSpacing})
|
||||||
}) : style = TextStyle(
|
: style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 60.sp,
|
fontSize: fontSize ?? 60.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
TypographyStyles.h3(
|
TypographyStyles.h3(this.text,
|
||||||
this.text, {
|
{super.key,
|
||||||
super.key,
|
this.textAlign = TextAlign.start,
|
||||||
this.textAlign = TextAlign.start,
|
this.overflow = TextOverflow.ellipsis,
|
||||||
this.overflow = TextOverflow.ellipsis,
|
this.maxlines,
|
||||||
this.maxlines,
|
this.color,
|
||||||
this.color,
|
this.fontSize,
|
||||||
this.fontSize,
|
this.fontWeight,
|
||||||
this.fontWeight,
|
this.height,
|
||||||
this.height,
|
this.letterSpacing})
|
||||||
}) : style = TextStyle(
|
: style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 40.sp,
|
fontSize: fontSize ?? 40.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
TypographyStyles.h4(
|
TypographyStyles.h4(this.text,
|
||||||
this.text, {
|
{super.key,
|
||||||
super.key,
|
this.textAlign = TextAlign.start,
|
||||||
this.textAlign = TextAlign.start,
|
this.overflow = TextOverflow.ellipsis,
|
||||||
this.overflow = TextOverflow.ellipsis,
|
this.maxlines,
|
||||||
this.maxlines,
|
this.color,
|
||||||
this.color,
|
this.fontSize,
|
||||||
this.fontSize,
|
this.fontWeight,
|
||||||
this.fontWeight,
|
this.height,
|
||||||
this.height,
|
this.letterSpacing})
|
||||||
}) : style = TextStyle(
|
: style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 30.sp,
|
fontSize: fontSize ?? 30.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
TypographyStyles.h5(
|
TypographyStyles.h5(this.text,
|
||||||
this.text, {
|
{super.key,
|
||||||
super.key,
|
this.textAlign = TextAlign.start,
|
||||||
this.textAlign = TextAlign.start,
|
this.overflow = TextOverflow.ellipsis,
|
||||||
this.overflow = TextOverflow.ellipsis,
|
this.maxlines,
|
||||||
this.maxlines,
|
this.color,
|
||||||
this.color,
|
this.fontSize,
|
||||||
this.fontSize,
|
this.fontWeight,
|
||||||
this.fontWeight,
|
this.height,
|
||||||
this.height,
|
this.letterSpacing})
|
||||||
}) : style = TextStyle(
|
: style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 24.sp,
|
fontSize: fontSize ?? 24.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
TypographyStyles.h6(
|
TypographyStyles.h6(this.text,
|
||||||
this.text, {
|
{super.key,
|
||||||
super.key,
|
this.textAlign = TextAlign.start,
|
||||||
this.textAlign = TextAlign.start,
|
this.overflow = TextOverflow.ellipsis,
|
||||||
this.overflow = TextOverflow.ellipsis,
|
this.maxlines,
|
||||||
this.maxlines,
|
this.color,
|
||||||
this.color,
|
this.fontSize,
|
||||||
this.fontSize,
|
this.fontWeight,
|
||||||
this.fontWeight,
|
this.height,
|
||||||
this.height,
|
this.letterSpacing})
|
||||||
}) : style = TextStyle(
|
: style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 20.sp,
|
fontSize: fontSize ?? 20.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
TypographyStyles.body(
|
TypographyStyles.body(this.text,
|
||||||
this.text, {
|
{super.key,
|
||||||
super.key,
|
this.textAlign = TextAlign.start,
|
||||||
this.textAlign = TextAlign.start,
|
this.overflow = TextOverflow.ellipsis,
|
||||||
this.overflow = TextOverflow.ellipsis,
|
this.maxlines,
|
||||||
this.maxlines,
|
this.color,
|
||||||
this.color,
|
this.fontSize,
|
||||||
this.fontSize,
|
this.fontWeight,
|
||||||
this.fontWeight,
|
this.height,
|
||||||
this.height,
|
this.letterSpacing})
|
||||||
}) : style = TextStyle(
|
: style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 16.sp,
|
fontSize: fontSize ?? 16.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
TypographyStyles.caption(
|
TypographyStyles.caption(this.text,
|
||||||
this.text, {
|
{super.key,
|
||||||
super.key,
|
this.textAlign = TextAlign.start,
|
||||||
this.textAlign = TextAlign.start,
|
this.overflow = TextOverflow.ellipsis,
|
||||||
this.overflow = TextOverflow.ellipsis,
|
this.maxlines,
|
||||||
this.maxlines,
|
this.color,
|
||||||
this.color,
|
this.fontSize,
|
||||||
this.fontSize,
|
this.fontWeight,
|
||||||
this.fontWeight,
|
this.height,
|
||||||
this.height,
|
this.letterSpacing})
|
||||||
}) : style = TextStyle(
|
: style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 14.sp,
|
fontSize: fontSize ?? 14.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
TypographyStyles.small(
|
TypographyStyles.small(this.text,
|
||||||
this.text, {
|
{super.key,
|
||||||
super.key,
|
this.textAlign = TextAlign.start,
|
||||||
this.textAlign = TextAlign.start,
|
this.overflow = TextOverflow.ellipsis,
|
||||||
this.overflow = TextOverflow.ellipsis,
|
this.maxlines,
|
||||||
this.maxlines,
|
this.color,
|
||||||
this.color,
|
this.fontSize,
|
||||||
this.fontSize,
|
this.fontWeight,
|
||||||
this.fontWeight,
|
this.height,
|
||||||
this.height,
|
this.letterSpacing})
|
||||||
}) : style = TextStyle(
|
: style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 12.sp,
|
fontSize: fontSize ?? 12.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
TypographyStyles.tiny(
|
TypographyStyles.tiny(this.text,
|
||||||
this.text, {
|
{super.key,
|
||||||
super.key,
|
this.textAlign = TextAlign.start,
|
||||||
this.textAlign = TextAlign.start,
|
this.overflow = TextOverflow.ellipsis,
|
||||||
this.overflow = TextOverflow.ellipsis,
|
this.maxlines,
|
||||||
this.maxlines,
|
this.color,
|
||||||
this.color,
|
this.fontSize,
|
||||||
this.fontSize,
|
this.fontWeight,
|
||||||
this.fontWeight,
|
this.height,
|
||||||
this.height,
|
this.letterSpacing})
|
||||||
}) : style = TextStyle(
|
: style = TextStyle(
|
||||||
fontFamily: fontFamily,
|
fontFamily: fontFamily,
|
||||||
fontSize: fontSize ?? 10.sp,
|
fontSize: fontSize ?? 10.sp,
|
||||||
fontWeight: fontWeight ?? FontWeight.w900,
|
fontWeight: fontWeight ?? FontWeight.w900,
|
||||||
color: color,
|
color: color,
|
||||||
height: height,
|
height: height,
|
||||||
|
letterSpacing: letterSpacing ?? 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
// ignore_for_file: deprecated_member_use
|
||||||
|
|
||||||
|
import 'package:e_porter/_core/constants/colors.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
|
||||||
|
class InputForm extends StatefulWidget {
|
||||||
|
final String hintText;
|
||||||
|
final String svgIconPath;
|
||||||
|
final TextEditingController? controller;
|
||||||
|
final String? Function(String?)? validator;
|
||||||
|
final TextInputType textInputType;
|
||||||
|
final List<TextInputFormatter>? inputFormatters;
|
||||||
|
|
||||||
|
const InputForm({
|
||||||
|
Key? key,
|
||||||
|
required this.hintText,
|
||||||
|
required this.svgIconPath,
|
||||||
|
this.controller,
|
||||||
|
this.validator,
|
||||||
|
this.textInputType = TextInputType.text,
|
||||||
|
this.inputFormatters,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<InputForm> createState() => _InputFormState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _InputFormState extends State<InputForm> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: GrayColors.gray50,
|
||||||
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
|
),
|
||||||
|
child: TextFormField(
|
||||||
|
controller: widget.controller,
|
||||||
|
validator: widget.validator,
|
||||||
|
keyboardType: widget.textInputType,
|
||||||
|
inputFormatters: widget.inputFormatters ??
|
||||||
|
<TextInputFormatter>[
|
||||||
|
FilteringTextInputFormatter.singleLineFormatter
|
||||||
|
],
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: widget.hintText,
|
||||||
|
hintStyle: TextStyle(
|
||||||
|
fontFamily: 'DMSans',
|
||||||
|
fontSize: 14.sp,
|
||||||
|
fontWeight: FontWeight.w400,
|
||||||
|
color: GrayColors.gray600,
|
||||||
|
),
|
||||||
|
prefixIcon: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 14.h, horizontal: 14.w),
|
||||||
|
child: SvgPicture.asset(
|
||||||
|
widget.svgIconPath,
|
||||||
|
color: GrayColors.gray500,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
enabledBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
width: 1.w,
|
||||||
|
color: GrayColors.gray200,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
focusedBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
width: 1.w,
|
||||||
|
color: GrayColors.gray200,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
border: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
width: 1.w,
|
||||||
|
color: GrayColors.gray200,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,110 @@
|
||||||
|
// ignore_for_file: deprecated_member_use
|
||||||
|
|
||||||
|
import 'package:e_porter/_core/constants/colors.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
|
||||||
|
class InputPassword extends StatefulWidget {
|
||||||
|
final String hintText;
|
||||||
|
final String svgIconPath;
|
||||||
|
final TextEditingController? controller;
|
||||||
|
final String? Function(String?)? validator;
|
||||||
|
final bool obscureText;
|
||||||
|
|
||||||
|
const InputPassword({
|
||||||
|
Key? key,
|
||||||
|
required this.hintText,
|
||||||
|
required this.svgIconPath,
|
||||||
|
this.controller,
|
||||||
|
this.validator,
|
||||||
|
this.obscureText = true,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<InputPassword> createState() => _InputPasswordState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _InputPasswordState extends State<InputPassword> {
|
||||||
|
late bool _isObscure;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
_isObscure = widget.obscureText;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: GrayColors.gray50,
|
||||||
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
|
),
|
||||||
|
child: TextFormField(
|
||||||
|
controller: widget.controller,
|
||||||
|
obscureText: _isObscure,
|
||||||
|
validator: widget.validator,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: widget.hintText,
|
||||||
|
hintStyle: TextStyle(
|
||||||
|
fontFamily: 'DMSans',
|
||||||
|
fontSize: 16.sp,
|
||||||
|
fontWeight: FontWeight.w400,
|
||||||
|
color: GrayColors.gray500,
|
||||||
|
letterSpacing: 1.w,
|
||||||
|
),
|
||||||
|
prefixIcon: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
vertical: 14.h,
|
||||||
|
horizontal: 13.w,
|
||||||
|
),
|
||||||
|
child: SvgPicture.asset(
|
||||||
|
widget.svgIconPath,
|
||||||
|
color: GrayColors.gray500,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
suffixIcon: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 16.w,
|
||||||
|
),
|
||||||
|
child: IconButton(
|
||||||
|
icon: Icon(
|
||||||
|
_isObscure
|
||||||
|
? Icons.visibility_off_outlined
|
||||||
|
: Icons.visibility_outlined,
|
||||||
|
color: GrayColors.gray500,
|
||||||
|
),
|
||||||
|
onPressed: () {
|
||||||
|
setState(() {
|
||||||
|
_isObscure = !_isObscure;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
enabledBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
width: 1.w,
|
||||||
|
color: GrayColors.gray200,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
focusedBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
width: 1.w,
|
||||||
|
color: GrayColors.gray200,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
border: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
width: 1.w,
|
||||||
|
color: GrayColors.gray200,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
import 'package:e_porter/_core/constants/colors.dart';
|
||||||
|
import 'package:e_porter/_core/constants/typography.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:zoom_tap_animation/zoom_tap_animation.dart';
|
||||||
|
|
||||||
|
class FooterText extends StatelessWidget {
|
||||||
|
final String firstText;
|
||||||
|
final String secondText;
|
||||||
|
final VoidCallback onTab;
|
||||||
|
|
||||||
|
const FooterText({
|
||||||
|
super.key,
|
||||||
|
required this.firstText,
|
||||||
|
required this.secondText,
|
||||||
|
required this.onTab,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
TypographyStyles.body(
|
||||||
|
firstText,
|
||||||
|
color: GrayColors.gray500,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 6,
|
||||||
|
),
|
||||||
|
InkWell(
|
||||||
|
onTap: onTab,
|
||||||
|
child: ZoomTapAnimation(
|
||||||
|
child: TypographyStyles.body(
|
||||||
|
secondText,
|
||||||
|
color: Colors.blue.shade600,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
import 'package:e_porter/_core/constants/typography.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:zoom_tap_animation/zoom_tap_animation.dart';
|
||||||
|
|
||||||
|
class ForgetPasswordText extends StatelessWidget {
|
||||||
|
final VoidCallback onTab;
|
||||||
|
|
||||||
|
const ForgetPasswordText({super.key, required this.onTab});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return ZoomTapAnimation(
|
||||||
|
child: GestureDetector(
|
||||||
|
onTap: onTab,
|
||||||
|
child: Align(
|
||||||
|
alignment: FractionalOffset.centerRight,
|
||||||
|
child: TypographyStyles.body(
|
||||||
|
'Lupa password?',
|
||||||
|
color: Colors.blue.shade600,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,102 @@
|
||||||
|
import 'package:e_porter/_core/component/button/button_fill.dart';
|
||||||
|
import 'package:e_porter/_core/constants/colors.dart';
|
||||||
|
import 'package:e_porter/_core/constants/typography.dart';
|
||||||
|
import 'package:e_porter/presentation/screens/auth/component/Input_form.dart';
|
||||||
|
import 'package:e_porter/presentation/screens/auth/component/Input_password.dart';
|
||||||
|
import 'package:e_porter/presentation/screens/auth/component/footer_text.dart';
|
||||||
|
import 'package:e_porter/presentation/screens/auth/component/forget_password.dart';
|
||||||
|
import 'package:e_porter/routes/app_rountes.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:zoom_tap_animation/zoom_tap_animation.dart';
|
||||||
|
|
||||||
|
class LoginScreen extends StatefulWidget {
|
||||||
|
const LoginScreen({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<LoginScreen> createState() => _LoginScreenState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _LoginScreenState extends State<LoginScreen> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: Colors.white,
|
||||||
|
body: SafeArea(
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h),
|
||||||
|
child: Form(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
TypographyStyles.h3(
|
||||||
|
'Masuk',
|
||||||
|
color: GrayColors.gray800,
|
||||||
|
),
|
||||||
|
SizedBox(height: 32.h),
|
||||||
|
TypographyStyles.h6(
|
||||||
|
'Selamat datang kembali! Masuk untuk mengakses pengalaman personal Anda',
|
||||||
|
color: GrayColors.gray600,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
maxlines: 3,
|
||||||
|
),
|
||||||
|
SizedBox(height: 50.h),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 8.w),
|
||||||
|
child: TypographyStyles.body(
|
||||||
|
'Email',
|
||||||
|
color: GrayColors.gray800,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(height: 16.h),
|
||||||
|
InputForm(
|
||||||
|
hintText: 'example@gmail.com',
|
||||||
|
svgIconPath: 'assets/icons/ic_email.svg',
|
||||||
|
),
|
||||||
|
SizedBox(height: 20.h),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 8.w),
|
||||||
|
child: TypographyStyles.body(
|
||||||
|
'Password',
|
||||||
|
color: GrayColors.gray800,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(height: 16.h),
|
||||||
|
InputPassword(
|
||||||
|
hintText: '••••••••••',
|
||||||
|
svgIconPath: 'assets/icons/ic_padlock.svg',
|
||||||
|
),
|
||||||
|
SizedBox(height: 32.h),
|
||||||
|
ForgetPasswordText(
|
||||||
|
onTab: () {},
|
||||||
|
),
|
||||||
|
SizedBox(height: 40.h),
|
||||||
|
ZoomTapAnimation(
|
||||||
|
child: ButtonFill(
|
||||||
|
text: 'Masuk',
|
||||||
|
textColor: Colors.white,
|
||||||
|
onTap: () {},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
bottomNavigationBar: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 20.h),
|
||||||
|
child: FooterText(
|
||||||
|
firstText: 'Belum punya akun?',
|
||||||
|
secondText: 'Daftar',
|
||||||
|
onTab: () {
|
||||||
|
Get.toNamed(Routes.REGISTER);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class RegisterScreen extends StatefulWidget {
|
||||||
|
const RegisterScreen({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<RegisterScreen> createState() => _RegisterScreenState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _RegisterScreenState extends State<RegisterScreen> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: Colors.white,
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,11 @@
|
||||||
|
import 'package:e_porter/_core/component/button/button_fill.dart';
|
||||||
|
import 'package:e_porter/_core/component/button/button_outline.dart';
|
||||||
|
import 'package:e_porter/_core/constants/colors.dart';
|
||||||
|
import 'package:e_porter/routes/app_rountes.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:zoom_tap_animation/zoom_tap_animation.dart';
|
||||||
|
|
||||||
class OnboardingScreen extends StatelessWidget {
|
class OnboardingScreen extends StatelessWidget {
|
||||||
const OnboardingScreen({super.key});
|
const OnboardingScreen({super.key});
|
||||||
|
@ -7,14 +13,41 @@ class OnboardingScreen extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: Center(
|
backgroundColor: Colors.white,
|
||||||
child: Text(
|
body: SafeArea(
|
||||||
'Onboarding',
|
child: Padding(
|
||||||
style: TextStyle(
|
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h),
|
||||||
fontSize: 32.sp,
|
child: Column(
|
||||||
|
children: [],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
bottomNavigationBar: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h),
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
ZoomTapAnimation(
|
||||||
|
child: ButtonFill(
|
||||||
|
text: 'Masuk sebagai Penumpang',
|
||||||
|
textColor: Colors.white,
|
||||||
|
onTap: () {
|
||||||
|
Get.toNamed(Routes.LOGIN);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 10.h,
|
||||||
|
),
|
||||||
|
ZoomTapAnimation(
|
||||||
|
child: ButtonOutline(
|
||||||
|
text: 'Masuk sebagai Porter',
|
||||||
|
textColor: PrimaryColors.primary800,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import 'package:e_porter/presentation/screens/auth/pages/login_screen.dart';
|
||||||
|
import 'package:e_porter/presentation/screens/auth/pages/register_screen.dart';
|
||||||
import 'package:e_porter/presentation/screens/onboarding/onboarding_screen.dart';
|
import 'package:e_porter/presentation/screens/onboarding/onboarding_screen.dart';
|
||||||
import 'package:e_porter/presentation/screens/splash/splash_screen.dart';
|
import 'package:e_porter/presentation/screens/splash/splash_screen.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
@ -14,10 +16,20 @@ class AppRoutes {
|
||||||
name: Routes.ONBOARDING,
|
name: Routes.ONBOARDING,
|
||||||
page: () => OnboardingScreen(),
|
page: () => OnboardingScreen(),
|
||||||
),
|
),
|
||||||
|
GetPage(
|
||||||
|
name: Routes.LOGIN,
|
||||||
|
page: () => LoginScreen(),
|
||||||
|
),
|
||||||
|
GetPage(
|
||||||
|
name: Routes.REGISTER,
|
||||||
|
page: () => RegisterScreen(),
|
||||||
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
class Routes {
|
class Routes {
|
||||||
static const SPLASH = '/splash';
|
static const SPLASH = '/splash';
|
||||||
static const ONBOARDING = '/onboarding';
|
static const ONBOARDING = '/onboarding';
|
||||||
|
static const LOGIN = '/login';
|
||||||
|
static const REGISTER = '/register';
|
||||||
}
|
}
|
||||||
|
|
88
pubspec.lock
88
pubspec.lock
|
@ -1,6 +1,14 @@
|
||||||
# Generated by pub
|
# Generated by pub
|
||||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||||
packages:
|
packages:
|
||||||
|
args:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: args
|
||||||
|
sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.6.0"
|
||||||
async:
|
async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -110,6 +118,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.9.3"
|
version: "5.9.3"
|
||||||
|
flutter_svg:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: flutter_svg
|
||||||
|
sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.17"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -128,6 +144,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.6.6"
|
version: "4.6.6"
|
||||||
|
http:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: http
|
||||||
|
sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.3.0"
|
||||||
http_parser:
|
http_parser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -192,6 +216,30 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.0"
|
version: "1.9.0"
|
||||||
|
path_parsing:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path_parsing
|
||||||
|
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
|
petitparser:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: petitparser
|
||||||
|
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "6.0.2"
|
||||||
|
pin_code_fields:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: pin_code_fields
|
||||||
|
sha256: "4c0db7fbc889e622e7c71ea54b9ee624bb70c7365b532abea0271b17ea75b729"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "8.0.1"
|
||||||
plugin_platform_interface:
|
plugin_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -261,6 +309,30 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.4.0"
|
version: "1.4.0"
|
||||||
|
vector_graphics:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: vector_graphics
|
||||||
|
sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.18"
|
||||||
|
vector_graphics_codec:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: vector_graphics_codec
|
||||||
|
sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.13"
|
||||||
|
vector_graphics_compiler:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: vector_graphics_compiler
|
||||||
|
sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.16"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -285,6 +357,22 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "1.1.0"
|
||||||
|
xml:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: xml
|
||||||
|
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "6.5.0"
|
||||||
|
zoom_tap_animation:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: zoom_tap_animation
|
||||||
|
sha256: d9f7a73cab65aa1546ba6886b5e21d3c8ccccb34e4e5f770301c306d4868bee0
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=3.5.0 <4.0.0"
|
dart: ">=3.5.0 <4.0.0"
|
||||||
flutter: ">=3.22.0"
|
flutter: ">=3.22.0"
|
||||||
|
|
|
@ -39,6 +39,9 @@ dependencies:
|
||||||
dio: ^5.8.0+1
|
dio: ^5.8.0+1
|
||||||
firebase_core: ^3.11.0
|
firebase_core: ^3.11.0
|
||||||
flutter_screenutil: ^5.9.3
|
flutter_screenutil: ^5.9.3
|
||||||
|
zoom_tap_animation: ^1.1.0
|
||||||
|
pin_code_fields: ^8.0.1
|
||||||
|
flutter_svg: ^2.0.17
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|
Loading…
Reference in New Issue