Commit 7b871c4c by songkhram.l

Merge branch 'develop' into 'master'

Develop

See merge request art/NBT_APP!1
parents 8fb7d726 b02b71a1
...@@ -3,145 +3,187 @@ ...@@ -3,145 +3,187 @@
"packages": [ "packages": [
{ {
"name": "async", "name": "async",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.8.2", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.8.2",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "boolean_selector", "name": "boolean_selector",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "carousel_slider",
"rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/carousel_slider-4.0.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "characters", "name": "characters",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "charcode", "name": "charcode",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.3.1", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.3.1",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "clock", "name": "clock",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "collection", "name": "collection",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.15.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.15.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "cupertino_icons", "name": "cupertino_icons",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.4", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.4",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "dots_indicator",
"rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/dots_indicator-2.1.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "fake_async", "name": "fake_async",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.2.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.2.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "flutter", "name": "flutter",
"rootUri": "file:///Users/artza007/development/flutter/packages/flutter", "rootUri": "file:///C:/src/flutter/packages/flutter",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "flutter_lints", "name": "flutter_lints",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-1.0.4", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-1.0.4",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "flutter_screenutil",
"rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_screenutil-5.3.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "flutter_slider_drawer",
"rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_slider_drawer-2.1.1",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "flutter_test", "name": "flutter_test",
"rootUri": "file:///Users/artza007/development/flutter/packages/flutter_test", "rootUri": "file:///C:/src/flutter/packages/flutter_test",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "lints", "name": "lints",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/lints-1.0.1", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/lints-1.0.1",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "matcher", "name": "matcher",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "material_color_utilities",
"rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.3",
"packageUri": "lib/",
"languageVersion": "2.13"
},
{
"name": "meta", "name": "meta",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.7.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.7.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "path", "name": "path",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "rflutter_alert",
"rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/rflutter_alert-1.1.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "sky_engine", "name": "sky_engine",
"rootUri": "file:///Users/artza007/development/flutter/bin/cache/pkg/sky_engine", "rootUri": "file:///C:/src/flutter/bin/cache/pkg/sky_engine",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "smooth_page_indicator",
"rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/smooth_page_indicator-1.0.0+2",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "source_span", "name": "source_span",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.8.1", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.8.1",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "stack_trace", "name": "stack_trace",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "stream_channel", "name": "stream_channel",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "string_scanner", "name": "string_scanner",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "term_glyph", "name": "term_glyph",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "test_api", "name": "test_api",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.3", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.8",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "typed_data", "name": "typed_data",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.0", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "vector_math", "name": "vector_math",
"rootUri": "file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.1", "rootUri": "file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.1",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
...@@ -152,7 +194,7 @@ ...@@ -152,7 +194,7 @@
"languageVersion": "2.15" "languageVersion": "2.15"
} }
], ],
"generated": "2022-02-24T03:19:34.128214Z", "generated": "2022-03-15T05:28:58.719814Z",
"generator": "pub", "generator": "pub",
"generatorVersion": "2.15.1" "generatorVersion": "2.16.1"
} }
2.8.1 2.10.3
\ No newline at end of file \ No newline at end of file
<component name="libraryTable">
<library name="Dart SDK">
<CLASSES>
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/async" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/cli" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/collection" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/convert" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/core" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/developer" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/ffi" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/html" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/indexed_db" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/io" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/isolate" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/js" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/js_util" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/math" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/mirrors" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/svg" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/typed_data" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/web_audio" />
<root url="file://$PROJECT_DIR$/../../../../../src/flutter/bin/cache/dart-sdk/lib/web_gl" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="Flutter Plugins" type="FlutterPluginsLibraryType">
<CLASSES />
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
</set>
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="NONE" />
</component>
<component name="ChangeListManager">
<list default="true" id="c1439925-efc2-4fdb-a5ea-1a37e7dbf139" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/lib/screen/favorite/favouriteList_Page.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/nbt_app.iml" beforeDir="false" afterPath="$PROJECT_DIR$/nbt_app.iml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Dart File" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="ProjectId" id="25XTl1I3iMTwUPve7TQ4tAd3hxM" />
<component name="ProjectLevelVcsManager">
<ConfirmationsSetting value="2" id="Add" />
</component>
<component name="ProjectViewState">
<option name="autoscrollToSource" value="true" />
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
<option name="showMembers" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="android.sdk.path" value="$USER_HOME$/Library/Android/sdk" />
<property name="dart.analysis.tool.window.visible" value="false" />
<property name="io.flutter.reload.alreadyRun" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="settings.editor.selected.configurable" value="flutter.settings" />
<property name="show.migrate.to.gradle.popup" value="false" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\Kim\AndroidStudioProjects\project\NBT_APP\lib\screen\favorite" />
<recent name="$PROJECT_DIR$/lib/screen/home" />
<recent name="$PROJECT_DIR$/lib/components" />
<recent name="$PROJECT_DIR$/assets/images" />
<recent name="$PROJECT_DIR$/lib/screen" />
</key>
</component>
<component name="RunManager">
<configuration name="main.dart" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="filePath" value="$PROJECT_DIR$/lib/main.dart" />
<method v="2" />
</configuration>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="c1439925-efc2-4fdb-a5ea-1a37e7dbf139" name="Default Changelist" comment="" />
<created>1645672587689</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1645672587689</updated>
</task>
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
</component>
</project>
\ No newline at end of file
...@@ -3,29 +3,36 @@ ...@@ -3,29 +3,36 @@
# #
# For more info see: https://dart.dev/go/dot-packages-deprecation # For more info see: https://dart.dev/go/dot-packages-deprecation
# #
# Generated by pub on 2022-02-24 10:19:34.111667. # Generated by pub on 2022-03-15 12:28:58.705851.
async:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.8.2/lib/ async:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.8.2/lib/
boolean_selector:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/lib/ boolean_selector:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/lib/
characters:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.0/lib/ carousel_slider:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/carousel_slider-4.0.0/lib/
charcode:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.3.1/lib/ characters:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.0/lib/
clock:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.0/lib/ charcode:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.3.1/lib/
collection:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.15.0/lib/ clock:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.0/lib/
cupertino_icons:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.4/lib/ collection:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.15.0/lib/
fake_async:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.2.0/lib/ cupertino_icons:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.4/lib/
flutter:file:///Users/artza007/development/flutter/packages/flutter/lib/ dots_indicator:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/dots_indicator-2.1.0/lib/
flutter_lints:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-1.0.4/lib/ fake_async:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.2.0/lib/
flutter_test:file:///Users/artza007/development/flutter/packages/flutter_test/lib/ flutter:file:///C:/src/flutter/packages/flutter/lib/
lints:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/lints-1.0.1/lib/ flutter_lints:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-1.0.4/lib/
matcher:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11/lib/ flutter_screenutil:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_screenutil-5.3.1/lib/
meta:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.7.0/lib/ flutter_slider_drawer:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_slider_drawer-2.1.1/lib/
path:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.0/lib/ flutter_test:file:///C:/src/flutter/packages/flutter_test/lib/
sky_engine:file:///Users/artza007/development/flutter/bin/cache/pkg/sky_engine/lib/ lints:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/lints-1.0.1/lib/
source_span:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.8.1/lib/ matcher:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11/lib/
stack_trace:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/lib/ material_color_utilities:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.3/lib/
stream_channel:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/lib/ meta:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.7.0/lib/
string_scanner:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.0/lib/ path:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.0/lib/
term_glyph:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.0/lib/ rflutter_alert:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/rflutter_alert-1.1.0/lib/
test_api:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.3/lib/ sky_engine:file:///C:/src/flutter/bin/cache/pkg/sky_engine/lib/
typed_data:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.0/lib/ smooth_page_indicator:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/smooth_page_indicator-1.0.0+2/lib/
vector_math:file:///Users/artza007/development/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.1/lib/ source_span:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.8.1/lib/
stack_trace:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/lib/
stream_channel:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/lib/
string_scanner:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.0/lib/
term_glyph:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.0/lib/
test_api:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.8/lib/
typed_data:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.0/lib/
vector_math:file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.1/lib/
nbt_app:lib/ nbt_app:lib/
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_slider_drawer/flutter_slider_drawer.dart';
import 'package:nbt_app/components/bottombar.dart';
import 'package:nbt_app/globalvariables/global_variables.dart';
import 'package:nbt_app/screen/catch%20up/catchup_page.dart';
import 'package:nbt_app/screen/history/history_page.dart';
import 'package:nbt_app/screen/home/home_page.dart';
import 'package:nbt_app/screen/home/home_search.dart';
import 'package:nbt_app/screen/livetv/tvonline_page.dart';
import 'package:nbt_app/screen/login/login_page.dart';
import 'package:nbt_app/screen/news/news_page.dart';
import 'package:nbt_app/screen/notification/FavouriteList_Page.dart';
import 'package:nbt_app/screen/notification/notification_page.dart';
import 'package:nbt_app/screen/programs/programs_page.dart';
import 'package:nbt_app/screen/register/register_page.dart';
import 'package:nbt_app/screen/setting/setting_page.dart';
class AppBarLogo extends StatefulWidget {
bool isShowBackButton;
AppBarLogo({
this.isShowBackButton = true,
});
@override
_AppBarLogoState createState() => _AppBarLogoState();
}
class _AppBarLogoState extends State<AppBarLogo> {
GlobalKey<SliderDrawerState> _key = GlobalKey<SliderDrawerState>();
// final screens = [
// const HomePage(),
// const TvOnlinePage(),
// const NewsPage(),
// const ProgramsPage(),
// const CatchupPage()
// ];
@override
Widget build(BuildContext context) {
// ScreenUtil.init(
// BoxConstraints(
// maxWidth: MediaQuery.of(context).size.width,
// maxHeight: MediaQuery.of(context).size.height),
// designSize: Size(360, 690),
// context: context,
// minTextAdapt: true,
// orientation: Orientation.portrait);
return PreferredSize(
preferredSize: Size.fromHeight(80),
child: AppBar(
elevation: 0,
shadowColor: Color.fromRGBO(77, 32, 126, 1),
bottomOpacity: 0,
backgroundColor: Color.fromRGBO(77, 32, 126, 1),
toolbarHeight: 80.h,
title: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(
width: 100.w,
),
Image.asset(
'assets/images/title_logo.png',
fit: BoxFit.contain,
height: 80,
width: 80,
),
SizedBox(
width: 50.w,
),
GestureDetector(
onTap: () {
setState(() {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => NotificationPage()));
});
},
child: Icon(Icons.notifications_none),
),
SizedBox(
width: 10.w,
),
GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const HomeSearchPage()));
},
child: Icon(Icons.search)),
],
),
),
);
// ScreenUtil.init(
// BoxConstraints(
// maxWidth: MediaQuery.of(context).size.width,
// maxHeight: MediaQuery.of(context).size.height),
// designSize: Size(360, 690),
// context: context,
// minTextAdapt: true,
// orientation: Orientation.portrait);
// return MaterialApp(
// debugShowCheckedModeBanner: false,
// home: Scaffold(
// appBar: AppBar(
// elevation: 0,
// shadowColor: Color.fromRGBO(77, 32, 126, 1),
// bottomOpacity: 0,
// backgroundColor: Color.fromRGBO(77, 32, 126, 1),
// toolbarHeight: 80.h,
// title: Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// SizedBox(
// width: 100.w,
// ),
// Image.asset(
// 'assets/images/title_logo.png',
// fit: BoxFit.contain,
// height: 80,
// width: 80,
// ),
// SizedBox(
// width: 50.w,
// ),
// GestureDetector(
// onTap: () {
// setState(() {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => NotificationPage()));
// });
// },
// child: Icon(Icons.notifications_none),
// ),
// SizedBox(
// width: 10.w,
// ),
// GestureDetector(
// onTap: () {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => const HomeSearchPage()));
// },
// child: Icon(Icons.search)),
// ],
// ),
// ),
// //body: const HomePage(),
// //body: const BottomBar(),
// //bottomNavigationBar: const BottomBar(),
// // drawer: Drawer(
// // backgroundColor: Color.fromRGBO(77, 32, 126, 1),
// // child: SingleChildScrollView(
// // child: notMember(),
// // ),
// // ),
// ),
// );
}
}
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:nbt_app/components/appbar_logo.dart';
class AppbarTitle extends StatelessWidget {
// const AppbarTitle({required this.title}) : super(key: title);
AppbarTitle({
required this.title,
Key? key,
}) : super(key: key);
String title;
@override
Widget build(BuildContext context) {
ScreenUtil.init(
BoxConstraints(
maxWidth: MediaQuery.of(context).size.width,
maxHeight: MediaQuery.of(context).size.height),
designSize: Size(360, 690),
context: context,
minTextAdapt: true,
orientation: Orientation.portrait);
return Row(
children: [
SizedBox(
height: 50.h,
),
// Container(
// alignment: Alignment.topLeft,
// margin: EdgeInsets.only(left: 30),
// child: GestureDetector(
// onTap: () {
// print("bbb");
//
// // setState(() {
// // Navigator.pop(context);
// Navigator.push(context,
// MaterialPageRoute(builder: (context) => AppBarLogo()));
// // });
// },
// child: Icon(
// Icons.arrow_back_ios,
// color: Colors.black,
// ),
// ),
// ),
// Spacer(),
SizedBox(
width: 100,
),
Container(
// alignment: Alignment.topCenter,
child: Text(
"${title}",
style: TextStyle(
color: Colors.white,
fontFamily: 'DBHeavent',
fontSize: 25,
fontWeight: FontWeight.w500,
letterSpacing: 1,
),
),
),
Spacer(),
],
);
}
}
import 'package:flutter/material.dart';
abstract class BasePre {}
class BasePresenter<T extends StatefulWidget> {
State<T> state;
bool loader = true;
BasePresenter(this.state);
// setState(Function v){
// state.setState(v);
// }
// loading(){
// ShowAlert.loading(context: state.context);
// setState((){
// loader = true;
// });
// }
// dispose() {
// state = null;
// }
// loaded(){
// ShowAlert.loaded(context: state.context);
// setState((){
// loader = false;
// });
// }
}
int selectedIndex = 2;
\ No newline at end of file
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:nbt_app/components/appbar_logo.dart';
import 'package:nbt_app/components/bottombar.dart';
import 'package:nbt_app/screen/home/home_page.dart';
import 'package:nbt_app/screen/splashscreen/splashscreen_page.dart';
void main() { void main() {
runApp(const MyApp()); runApp(const MyApp());
...@@ -12,104 +16,11 @@ class MyApp extends StatelessWidget { ...@@ -12,104 +16,11 @@ class MyApp extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
title: 'Flutter Demo', title: 'Flutter Demo',
debugShowCheckedModeBanner: false,
theme: ThemeData( theme: ThemeData(
// This is the theme of your application.
//
// Try running your application with "flutter run". You'll see the
// application has a blue toolbar. Then, without quitting the app, try
// changing the primarySwatch below to Colors.green and then invoke
// "hot reload" (press "r" in the console where you ran "flutter run",
// or simply save your changes to "hot reload" in a Flutter IDE).
// Notice that the counter didn't reset back to zero; the application
// is not restarted.
primarySwatch: Colors.blue, primarySwatch: Colors.blue,
), ),
home: const MyHomePage(title: 'Flutter Demo Home Page'), home: BottomBar(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
// This widget is the home page of your application. It is stateful, meaning
// that it has a State object (defined below) that contains fields that affect
// how it looks.
// This class is the configuration for the state. It holds the values (in this
// case the title) provided by the parent (in this case the App widget) and
// used by the build method of the State. Fields in a Widget subclass are
// always marked "final".
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
// This call to setState tells the Flutter framework that something has
// changed in this State, which causes it to rerun the build method below
// so that the display can reflect the updated values. If we changed
// _counter without calling setState(), then the build method would not be
// called again, and so nothing would appear to happen.
_counter++;
});
}
@override
Widget build(BuildContext context) {
// This method is rerun every time setState is called, for instance as done
// by the _incrementCounter method above.
//
// The Flutter framework has been optimized to make rerunning build methods
// fast, so that you can just rebuild anything that needs updating rather
// than having to individually change instances of widgets.
return Scaffold(
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: Text(widget.title),
),
body: Center(
// Center is a layout widget. It takes a single child and positions it
// in the middle of the parent.
child: Column(
// Column is also a layout widget. It takes a list of children and
// arranges them vertically. By default, it sizes itself to fit its
// children horizontally, and tries to be as tall as its parent.
//
// Invoke "debug painting" (press "p" in the console, choose the
// "Toggle Debug Paint" action from the Flutter Inspector in Android
// Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
// to see the wireframe for each widget.
//
// Column has various properties to control how it sizes itself and
// how it positions its children. Here we use mainAxisAlignment to
// center the children vertically; the main axis here is the vertical
// axis because Columns are vertical (the cross axis would be
// horizontal).
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
); );
} }
} }
import 'package:flutter/material.dart';
class CatchupPage extends StatefulWidget {
const CatchupPage({ Key? key }) : super(key: key);
@override
State<CatchupPage> createState() => _CatchupPageState();
}
class _CatchupPageState extends State<CatchupPage> {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:nbt_app/components/appbar_logo.dart';
class HistoryPage extends StatefulWidget {
const HistoryPage({Key? key}) : super(key: key);
@override
_HistoryPageState createState() => _HistoryPageState();
}
class _HistoryPageState extends State<HistoryPage> {
@override
Widget build(BuildContext context) {
ScreenUtil.init(
BoxConstraints(
maxWidth: MediaQuery.of(context).size.width,
maxHeight: MediaQuery.of(context).size.height),
designSize: Size(360, 690),
context: context,
minTextAdapt: true,
orientation: Orientation.portrait);
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
elevation: 0.55,
shadowColor: Color.fromRGBO(77, 32, 126, 1),
bottomOpacity: 0,
backgroundColor: Color.fromRGBO(77, 32, 126, 1),
toolbarHeight: 80.h,
title: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.only(top: 10),
child: GestureDetector(
onTap: () {
setState(() {
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => AppBarLogo()));
// Navigator.pop(context);
});
},
child: Icon(Icons.arrow_back_ios),
),
),
SizedBox(
width: 115,
),
Container(
margin: EdgeInsets.only(top: 10),
child: Text(
'ประวัติการรับชม',
style: TextStyle(
fontSize: 30,
letterSpacing: 1,
fontWeight: FontWeight.w700,
// color: Color.fromRGBO(77, 32, 126, 1),
color: Colors.white,
fontFamily: 'DBHeavent'),
),
)
],
),
),
body: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: Stack(alignment: AlignmentDirectional.topStart, children: [
Container(
color: Color.fromRGBO(77, 32, 126, 1),
height: 60.h,
),
ListView.separated(
scrollDirection: Axis.vertical,
itemBuilder: (context, index) {
return buildCard(item: listitem[index]);
},
separatorBuilder: (context, position) => SizedBox(
height: 10,
),
itemCount: listitem.length),
]),
),
));
}
}
Widget buildCard({required Model item}) => Container(
child: Column(
children: [
Container(
height: 100,
width: 385,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.14),
spreadRadius: 0.5,
blurRadius: 6,
offset: Offset(0, 3))
]),
child: Row(
children: [
SizedBox(
width: 10,
),
Container(
width: 125,
height: 80,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5),
image: DecorationImage(
image: NetworkImage(item.image), fit: BoxFit.cover)),
),
SizedBox(
width: 15,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
// height: 70,
padding: EdgeInsets.only(top: 10),
width: 200,
// color: Colors.red,
child: Text(
item.title,
maxLines: 2,
softWrap: true,
style: TextStyle(
fontSize: 22,
letterSpacing: 1,
fontWeight: FontWeight.w700,
// color: Color.fromRGBO(77, 32, 126, 1),
color: Colors.black,
fontFamily: 'DBHeavent'),
),
),
Container(
margin: EdgeInsets.only(top: 5),
child: Text(
item.time,
style: TextStyle(
fontSize: 18,
letterSpacing: 1,
fontWeight: FontWeight.w500,
color: Color.fromRGBO(77, 32, 126, 1),
// color: Colors.white,
fontFamily: 'DBHeavent'),
),
)
],
),
Container(
margin: EdgeInsets.only(top: 10, left: 5),
alignment: Alignment.topRight,
child: Icon(
Icons.clear,
color: Colors.grey,
),
),
],
),
)
],
),
);
class Model {
String image, title, time;
Model({required this.image, required this.title, required this.time});
}
List<Model> listitem = [
Model(
image:
'https://images.unsplash.com/photo-1645894183288-9c43d07958fa?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw2Mnx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60',
title: 'รายการคุยถึงแก่นได้ Update วิดีโอตอนใหม่แล้ว',
time: '15 นาทีที่ผ่านมา'),
Model(
image:
'https://images.unsplash.com/photo-1645894183288-9c43d07958fa?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw2Mnx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60',
title: 'รายการคุยถึงแก่นได้ Update วิดีโอตอนใหม่แล้ว',
time: '15 นาทีที่ผ่านมา'),
Model(
image:
'https://images.unsplash.com/photo-1645894183288-9c43d07958fa?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw2Mnx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60',
title: 'รายการคุยถึงแก่นได้ Update วิดีโอตอนใหม่แล้ว',
time: '15 นาทีที่ผ่านมา'),
Model(
image:
'https://images.unsplash.com/photo-1645894183288-9c43d07958fa?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw2Mnx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60',
title: 'รายการคุยถึงแก่นได้ Update วิดีโอตอนใหม่แล้ว',
time: '15 นาทีที่ผ่านมา',
),
];
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:nbt_app/screen/home/home_page.dart';
class HomeSearchResult extends StatefulWidget {
const HomeSearchResult({ Key? key }) : super(key: key);
@override
State<HomeSearchResult> createState() => _HomeSearchResultState();
}
class _HomeSearchResultState extends State<HomeSearchResult> {
//late String _selectedValue;
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
elevation: 0,
shadowColor: Color.fromRGBO(77, 32, 126, 1),
bottomOpacity: 0,
backgroundColor: Color.fromRGBO(77, 32, 126, 1),
toolbarHeight: 80.h,
title: const Text('ผลการค้นหา',
style: TextStyle(fontFamily: 'DBHeavent',fontSize: 28),
),
centerTitle: true,
leading: GestureDetector(
onTap: (){
Navigator.pop(context);
},
child: Icon(
Icons.arrow_back_ios,
color: Colors.white,
),
),
),
body: SingleChildScrollView(
child: Column(
children: [
Stack(alignment: Alignment.topCenter,children: [
Container(
color: Color.fromRGBO(77, 32, 126, 1),
height: 60.h,
),
Expanded(
child: Padding(
padding: const EdgeInsets.all(15.0),
child: Container(
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(25),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.1),
spreadRadius: 2,
blurRadius: 7,
offset: Offset(0,3)
)
]
),
child: Column(
children: [
Container(
padding: const EdgeInsets.all(20.0),
child: SizedBox(
height: 50,
child: TextFormField(
textAlign: TextAlign.start,
decoration: InputDecoration(
filled: true,
fillColor: Colors.white,
suffixIcon: IconButton(
icon: Icon(Icons.search,
color: Color.fromRGBO(77, 32, 126, 1),
),
onPressed: (){
setState(() {
Navigator.push(context, MaterialPageRoute(builder: (context) => const HomeSearchResult()));
});
},
),
contentPadding: const EdgeInsets.only(
left: 20.0
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey.withOpacity(0.3)),
borderRadius: BorderRadius.circular(50)
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey.withOpacity(0.3)),
borderRadius: BorderRadius.circular(50)
),
border: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey.withOpacity(0.3)),
borderRadius: BorderRadius.circular(50)),
hintText: 'ค้นหา'
//hintStyle: const TextStyle(fontFamily: 'DBHeavent'),
),
),
),
),
Padding(
padding: const EdgeInsets.only(right: 20.0),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.end,
children: [
Padding(
padding: const EdgeInsets.only(right: 10.0),
child: Text('เรียงตาม',
style: TextStyle(fontFamily: 'DBHeavent',fontSize: 18),
),
),
Container(
padding: EdgeInsets.only(left: 10.0,right: 10.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.0),
border: Border.all(
color: Color.fromRGBO(77, 32, 126, 1),
),
),
child: DropdownButtonHideUnderline(
child: DropdownButton(
icon: Icon(Icons.arrow_drop_down),
items: <String>[
'ยอดนิยม',
'แนะนำ',
'ก-ฮ , A-Z',
'ฮ-ก , Z-A'
].map<DropdownMenuItem<String>>((String value){
return DropdownMenuItem<String>(
value: value,
child: Text(
value,
style: TextStyle(fontFamily: 'DBHeavent',fontSize: 18),
),
);
}).toList(),
onChanged: (value) {
setState(() {
//_selectedValue = value.toString();
});
},
//value: _selectedValue,
hint: Text(
'ยอดนิยม',
style: TextStyle(fontFamily: 'DBHeavent',fontSize: 18),
),
),
),
),
],
),
),
SizedBox(
height: 20,
),
Container(
padding: EdgeInsets.only(left: 20.0,right: 20.0),
child: GridView.count(
crossAxisCount: 2,
shrinkWrap: true,
mainAxisSpacing: 10.0,
crossAxisSpacing: 8.0,
children: List.generate(cardItems.length, (index) {
return buildCardImage(item: cardItems[index]);
}
)
),
),
SizedBox(
height: 20,
),
],
),
),
),
),
],
),
]
),
),
),
);
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
import 'package:nbt_app/screen/home/home_page.dart';
class TvOnlinePage extends StatefulWidget {
const TvOnlinePage({ Key? key }) : super(key: key);
@override
State<TvOnlinePage> createState() => _TvOnlinePageState();
}
class _TvOnlinePageState extends State<TvOnlinePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
elevation: 0,
shadowColor: Color.fromRGBO(77, 32, 126, 1),
bottomOpacity: 0,
backgroundColor: Color.fromRGBO(77, 32, 126, 1),
toolbarHeight: 80,
title: const Text('ทีวีออนไลน์',
style: TextStyle(fontFamily: 'DBHeavent',fontSize: 28),
),
centerTitle: true,
),
body: SingleChildScrollView(
child: Column(
children: [
Stack(alignment: Alignment.topCenter, children: [
Container(
color: Color.fromRGBO(77, 32, 126, 1),
height: 60,
),
Expanded(
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.only(left: 15, right: 15),
child: Container(
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
//borderRadius: BorderRadius.circular(25),
color: Colors.transparent,
),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: 250,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15),
image: DecorationImage(
fit: BoxFit.cover,
image: NetworkImage('https://images.unsplash.com/photo-1643288178515-8b4ba815313a?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHwxMHx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60'),
),
),
),
SizedBox(
height: 20,
),
Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Text('15 ม.ค. 65',
style: TextStyle(
fontFamily: 'DBHeavent', fontSize: 20),
),
SizedBox(
width: 10,
),
Icon(
Icons.remove_red_eye,
size: 15,
color: Colors.grey.shade500,
),
SizedBox(
width: 5,
),
Text('999',
style: TextStyle(
fontFamily: 'DBHeavent', fontSize: 20),
),
Expanded(child: SizedBox()),
Text('Share : ',
style: TextStyle(
fontFamily: 'DBHeavent', fontSize: 20,color: Color.fromRGBO(77, 32, 126, 1),),
),
SizedBox(
width: 2,
),
Icon(
Icons.share,
size: 20,
color: Color.fromRGBO(77, 32, 126, 1),
),
],
),
Text('ข่าวเช้า NBT',
style: TextStyle(
fontFamily: 'DBHeavent', fontSize: 30),
),
],
),
underline(20, 20),
Row(
children: [
Text('Comments',
style: TextStyle(
fontFamily: 'DBHeavent', fontSize: 20,color: Color.fromRGBO(77, 32, 126, 1),),
),
Expanded(child: SizedBox()),
Icon(
Icons.unfold_more,
size: 20,
color: Color.fromRGBO(77, 32, 126, 1),
),
],
),
SizedBox(
height: 10,
),
Row(
children: [
CircleAvatar(
radius: 25, // Image radius
backgroundImage: NetworkImage('https://images.unsplash.com/photo-1643288178515-8b4ba815313a?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHwxMHx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60'),
),
SizedBox(
width: 20,
),
Text('Add a comment...',
style: TextStyle(
fontFamily: 'DBHeavent', fontSize: 20),
),
],
),
underline(20, 20),
Row(
children: [
Text('รายการต่อไป',
style: TextStyle(
fontFamily: 'DBHeavent', fontSize: 36),
),
Expanded(child: SizedBox()),
Text('ผังรายการ > ',
style: TextStyle(
fontFamily: 'DBHeavent', fontSize: 20,color: Color.fromRGBO(77, 32, 126, 1),),
),
],
),
Container(
child: ListView.builder(
padding: EdgeInsets.only(top: 20,bottom: 100),
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: cardItems.length,
itemBuilder: (context, index) {
return buildRoundedCard(
item: cardItems[index]);
}),
),
],
),
),
),
),
),
]),
]),
),
);
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class FavouriteListPage extends StatefulWidget {
const FavouriteListPage({Key? key}) : super(key: key);
@override
State<FavouriteListPage> createState() => _FavouriteListPageState();
}
class _FavouriteListPageState extends State<FavouriteListPage> {
@override
Widget build(BuildContext context) {
ScreenUtil.init(
BoxConstraints(
maxWidth: MediaQuery.of(context).size.width,
maxHeight: MediaQuery.of(context).size.height),
designSize: Size(360, 690),
context: context,
minTextAdapt: true,
orientation: Orientation.portrait);
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
elevation: 0.55,
shadowColor: Color.fromRGBO(77, 32, 126, 1),
bottomOpacity: 0,
backgroundColor: Color.fromRGBO(77, 32, 126, 1),
toolbarHeight: 80.h,
title: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.only(top: 10),
child: GestureDetector(
onTap: () {
Navigator.pop(context);
},
child: Icon(Icons.arrow_back_ios))),
SizedBox(
width: 110,
),
Container(
margin: EdgeInsets.only(top: 10),
child: Text(
'รายการโปรด',
style: TextStyle(
fontFamily: 'DBHeavent',
fontSize: 30,
color: Colors.white),
),
)
],
),
),
body: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child:
Stack(alignment: AlignmentDirectional.topStart, children: [
Container(
color: Color.fromRGBO(77, 32, 126, 1),
height: 60.h,
)
]))));
}
}
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:nbt_app/components/appbar_logo.dart';
class NotificationPage extends StatefulWidget {
const NotificationPage({Key? key}) : super(key: key);
@override
_NotificationPageState createState() => _NotificationPageState();
}
class _NotificationPageState extends State<NotificationPage> {
@override
Widget build(BuildContext context) {
ScreenUtil.init(
BoxConstraints(
maxWidth: MediaQuery.of(context).size.width,
maxHeight: MediaQuery.of(context).size.height),
designSize: Size(360, 690),
context: context,
minTextAdapt: true,
orientation: Orientation.portrait);
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
elevation: 0.55,
shadowColor: Color.fromRGBO(77, 32, 126, 1),
bottomOpacity: 0,
backgroundColor: Color.fromRGBO(77, 32, 126, 1),
toolbarHeight: 80.h,
title: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.only(top: 10),
child: GestureDetector(
onTap: () {
setState(() {
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => AppBarLogo()));
// Navigator.pop(context);
});
},
child: Icon(Icons.arrow_back_ios),
),
),
SizedBox(
width: 115,
),
Container(
margin: EdgeInsets.only(top: 10),
child: Text(
'การแจ้งเตือน',
style: TextStyle(
fontSize: 30,
letterSpacing: 1,
fontWeight: FontWeight.w700,
// color: Color.fromRGBO(77, 32, 126, 1),
color: Colors.white,
fontFamily: 'DBHeavent'),
),
)
],
),
),
body: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: Stack(alignment: AlignmentDirectional.topStart, children: [
Container(
color: Color.fromRGBO(77, 32, 126, 1),
height: 60.h,
),
ListView.separated(
scrollDirection: Axis.vertical,
itemBuilder: (context, index) {
return buildCard(item: listitem[index]);
},
separatorBuilder: (context, position) => SizedBox(
height: 10,
),
itemCount: listitem.length),
]),
),
));
}
}
Widget buildCard({required Model item}) => Container(
child: Column(
children: [
Container(
height: 100,
width: 385,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.14),
spreadRadius: 0.5,
blurRadius: 6,
offset: Offset(0, 3))
]),
child: Row(
children: [
SizedBox(
width: 10,
),
Container(
width: 125,
height: 80,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5),
image: DecorationImage(
image: NetworkImage(item.image), fit: BoxFit.cover)),
),
SizedBox(
width: 5,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
// height: 70,
padding: EdgeInsets.only(top: 10),
width: 200,
// color: Colors.red,
child: Text(
item.title,
maxLines: 2,
softWrap: true,
style: TextStyle(
fontSize: 22,
letterSpacing: 1,
fontWeight: FontWeight.w700,
// color: Color.fromRGBO(77, 32, 126, 1),
color: Colors.black,
fontFamily: 'DBHeavent'),
),
),
Container(
margin: EdgeInsets.only(top: 5),
child: Text(
item.time,
style: TextStyle(
fontSize: 18,
letterSpacing: 1,
fontWeight: FontWeight.w500,
color: Color.fromRGBO(77, 32, 126, 1),
// color: Colors.white,
fontFamily: 'DBHeavent'),
),
)
],
),
],
),
)
],
),
);
class Model {
String image, title, time;
Model({required this.image, required this.title, required this.time});
}
List<Model> listitem = [
Model(
image:
'https://images.unsplash.com/photo-1645894183288-9c43d07958fa?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw2Mnx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60',
title: 'รายการคุยถึงแก่นได้ Update วิดีโอตอนใหม่แล้ว',
time: '15 นาทีที่ผ่านมา'),
Model(
image:
'https://images.unsplash.com/photo-1645894183288-9c43d07958fa?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw2Mnx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60',
title: 'รายการคุยถึงแก่นได้ Update วิดีโอตอนใหม่แล้ว',
time: '15 นาทีที่ผ่านมา'),
Model(
image:
'https://images.unsplash.com/photo-1645894183288-9c43d07958fa?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw2Mnx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60',
title: 'รายการคุยถึงแก่นได้ Update วิดีโอตอนใหม่แล้ว',
time: '15 นาทีที่ผ่านมา'),
Model(
image:
'https://images.unsplash.com/photo-1645894183288-9c43d07958fa?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw2Mnx8fGVufDB8fHx8&auto=format&fit=crop&w=600&q=60',
title: 'รายการคุยถึงแก่นได้ Update วิดีโอตอนใหม่แล้ว',
time: '15 นาทีที่ผ่านมา',
),
];
import 'package:flutter/material.dart';
class ProgramsPage extends StatefulWidget {
const ProgramsPage({ Key? key }) : super(key: key);
@override
State<ProgramsPage> createState() => _ProgramsPageState();
}
class _ProgramsPageState extends State<ProgramsPage> {
@override
Widget build(BuildContext context) {
return Container(
child: Text('Programs'),
);
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:nbt_app/components/appbar_title.dart';
import 'package:nbt_app/screen/login/login_page.dart';
class RegisterCompletePage extends StatefulWidget {
const RegisterCompletePage({Key? key}) : super(key: key);
@override
_RegisterCompletePageState createState() => _RegisterCompletePageState();
}
class _RegisterCompletePageState extends State<RegisterCompletePage> {
@override
Widget build(BuildContext context) {
ScreenUtil.init(
BoxConstraints(
maxWidth: MediaQuery.of(context).size.width,
maxHeight: MediaQuery.of(context).size.height),
designSize: Size(360, 690),
context: context,
minTextAdapt: true,
orientation: Orientation.portrait);
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
elevation: 0.55,
shadowColor: Color.fromRGBO(77, 32, 126, 1),
bottomOpacity: 0,
backgroundColor: Color.fromRGBO(77, 32, 126, 1),
toolbarHeight: 80.h,
title: AppbarTitle(
title: 'เงื่อนไขการให้บริการ',
),
),
body: Stack(
children: [
Container(
color: Color.fromRGBO(77, 32, 126, 1),
height: 50.h,
),
Container(
margin: EdgeInsets.only(left: 15.h, right: 15.h),
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
border: Border.all(
color: Colors.white,
style: BorderStyle.solid,
width: 1.0,
),
color: Colors.white,
borderRadius: BorderRadius.circular(10.0),
),
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: 20.h, left: 20.h),
alignment: Alignment.topLeft,
child: Text(
"1. วัตถุประสงค์ของการเก็บรวบรวม ใช้ หรือเปิดเผย\nข้อมูลส่วนบุคคล เพื่อประโยชน์ต่อการให้บริการ ของ\nกรมประชาสัมพันธ์ ทั้งนี้",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
Container(
padding: EdgeInsets.only(top: 20.h, left: 30.h),
alignment: Alignment.topLeft,
child: Text(
"๏ ข้อมูลส่วนบุคคล",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
Container(
padding: EdgeInsets.only(top: 10.h, left: 30.h),
alignment: Alignment.topLeft,
child: Text(
"หมายความว่า ข้อมูลเกี่ยวกับบุคคลซึ่งทำให้สามารถระบุตัวบุคคลนั้นได้ไม่ว่าทางตรงหรือทางอ้อม อาทิเช่น ชื่อนามสกุล เพศ ที่อยู่ เบอร์โทรศัพท์ วัน เดือน ปี เกิด รูปถ่าย",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
Container(
padding: EdgeInsets.only(top: 20.h, left: 30.h),
alignment: Alignment.topLeft,
child: Text(
"๏ ผู้ควบคุมข้อมูลส่วนบุคคล",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
Container(
padding: EdgeInsets.only(top: 10.h, left: 30.h),
alignment: Alignment.topLeft,
child: Text(
"หมายความว่า บุคคลซึ่งมีอำนาจหน้าที่ตัดสินใจเกี่ยวกับการเก็บรวบรวม ใช้หรือเปิดเผยข้อมูลส่วนบุคคล",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
Container(
padding: EdgeInsets.only(top: 20.h, left: 30.h),
alignment: Alignment.topLeft,
child: Text(
"๏ ผู้ประมวลผลข้อมูลส่วนบุคคล",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
Container(
padding: EdgeInsets.only(top: 10.h, left: 30.h),
alignment: Alignment.topLeft,
child: Text(
"หมายความว่า บุคคลซึ่งดำเนินการเกี่ยวกับการเก็บรวบรวม ใช้หรือเปิดเผยข้อมูลส่วนบุคคลตามคำสั่ง หรือในนามของผู้ควบคุมข้อมูลส่วนบุคคล ทั้งนี้ บุคคลซึ่งดำเนินการดังกล่าวไม่เป็นผู้ควบคุมข้อมูลส่วนบุคคล",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
Expanded(child: Container()),
Row(
children: [
Spacer(),
btnCancel(),
Spacer(),
btnOk(),
Spacer(),
],
),
SizedBox(
height: 30.h,
),
],
),
),
],
),
);
}
Widget btnOk() {
return Align(
alignment: Alignment.bottomCenter,
child: Container(
width: 150.w,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(30.0)),
child: Container(
alignment: Alignment.center,
height: 35.h,
width: double.infinity,
child: Text(
"ยินยอม",
style: TextStyle(
fontSize: 24,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.white,
),
),
),
color: Color.fromRGBO(77, 32, 126, 1),
onPressed: () {
Navigator.pushReplacement(
context, MaterialPageRoute(builder: (context) => LoginPage()));
},
),
),
);
}
Widget btnCancel() {
return Align(
alignment: Alignment.bottomCenter,
child: Container(
width: 150.w,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(30.0)),
child: Container(
alignment: Alignment.center,
height: 35.h,
width: double.infinity,
child: Text(
"ไม่ยินยอม",
style: TextStyle(
fontSize: 24,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.white,
),
),
),
color: Color.fromRGBO(255, 186, 0, 1),
onPressed: () {
Navigator.pop(context);
// Navigator.pushReplacement(context,
// MaterialPageRoute(builder: (context) => RegisterPage()));
},
),
),
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:nbt_app/components/appbar_logo.dart';
import 'package:nbt_app/components/appbar_title.dart';
class SettingPage extends StatefulWidget {
const SettingPage({Key? key}) : super(key: key);
@override
_SettingPageState createState() => _SettingPageState();
}
class _SettingPageState extends State<SettingPage> {
bool isSwitched = false;
@override
Widget build(BuildContext context) {
ScreenUtil.init(
BoxConstraints(
maxWidth: MediaQuery.of(context).size.width,
maxHeight: MediaQuery.of(context).size.height),
designSize: Size(360, 690),
context: context,
minTextAdapt: true,
orientation: Orientation.portrait);
return Scaffold(
appBar: AppBar(
elevation: 0.55,
shadowColor: Color.fromRGBO(77, 32, 126, 1),
bottomOpacity: 0,
backgroundColor: Color.fromRGBO(77, 32, 126, 1),
toolbarHeight: 80.h,
title: AppbarTitle(
title: 'การตั้งค่า',
),
),
body: Stack(
children: [
Container(
color: Color.fromRGBO(77, 32, 126, 1),
height: 50.h,
),
Container(
margin: EdgeInsets.only(left: 15.h, right: 15.h),
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
border: Border.all(
color: Colors.white,
style: BorderStyle.solid,
width: 1.0,
),
color: Colors.white,
borderRadius: BorderRadius.circular(10.0),
),
child: Column(
children: [
SizedBox(
height: 10,
),
Row(
children: [
Container(
child: Text(
'การแจ้งเตือนข้อความ',
style: TextStyle(
color: Colors.black,
// color: Color.fromRGBO(77, 32, 126, 1),
fontFamily: 'DBHeavent',
fontSize: 24,
fontWeight: FontWeight.w500,
letterSpacing: 1,
),
),
margin: EdgeInsets.only(top: 10, left: 30),
alignment: Alignment.topLeft,
),
Spacer(),
Container(
margin: EdgeInsets.only(top: 10, left: 10),
child: Transform.scale(
scale: 1.5,
child: Switch(
activeColor: Color.fromRGBO(77, 32, 126, 1),
value: isSwitched,
onChanged: (value) {
setState(() {
isSwitched = value;
});
},
),
),
),
SizedBox(
width: 30,
),
],
),
Row(
children: [
Container(
child: Text(
'การแจ้งเตือนข้อความ',
style: TextStyle(
color: Colors.black,
// color: Color.fromRGBO(77, 32, 126, 1),
fontFamily: 'DBHeavent',
fontSize: 24,
fontWeight: FontWeight.w500,
letterSpacing: 1,
),
),
margin: EdgeInsets.only(top: 0, left: 30),
alignment: Alignment.topLeft,
),
Spacer(),
Container(
margin: EdgeInsets.only(top: 0, left: 10),
child: Transform.scale(
scale: 1.5,
child: Switch(
activeColor: Color.fromRGBO(77, 32, 126, 1),
value: isSwitched,
onChanged: (value) {
setState(() {
isSwitched = value;
});
},
),
),
),
SizedBox(
width: 30,
),
],
),
],
),
),
],
),
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:nbt_app/screen/splashscreen/splashscreen_presenter.dart';
class SplashScreenPage extends StatefulWidget {
const SplashScreenPage({Key? key}) : super(key: key);
@override
_SplashScreenPageState createState() => _SplashScreenPageState();
}
class _SplashScreenPageState extends State<SplashScreenPage> {
late SplashScreenPresenter _presenter;
@override
void initState() {
_presenter = SplashScreenPresenter(this);
super.initState();
_presenter.init();
}
@override
Widget build(BuildContext context) {
ScreenUtil.init(
BoxConstraints(
maxWidth: MediaQuery.of(context).size.width,
maxHeight: MediaQuery.of(context).size.height),
designSize: Size(360, 690),
context: context,
minTextAdapt: true,
orientation: Orientation.portrait);
return Scaffold(
body: Center(
child: Container(
height: 100.h,
width: 150.w,
child: Image.asset(
'assets/images/logo.png',
fit: BoxFit.fill,
),
),
),
);
}
}
import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:nbt_app/environment/base_presenter.dart';
import 'package:nbt_app/screen/home/home_page.dart';
import 'package:nbt_app/screen/splashscreen/splashscreen_page.dart';
class SplashScreenPresenter extends BasePresenter<SplashScreenPage> {
SplashScreenPresenter(State<SplashScreenPage> state) : super(state);
late Timer _timer;
init() async {
_timer = new Timer(
Duration(seconds: 2),
() async {
Navigator.pushReplacement(
state.context, CupertinoPageRoute(builder: (_) => HomePage()));
},
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:nbt_app/components/appbar_title.dart';
import 'package:nbt_app/screen/register/register_page.dart';
class TermPage extends StatefulWidget {
const TermPage({Key? key}) : super(key: key);
@override
_TermPageState createState() => _TermPageState();
}
class _TermPageState extends State<TermPage> {
@override
Widget build(BuildContext context) {
ScreenUtil.init(
BoxConstraints(
maxWidth: MediaQuery.of(context).size.width,
maxHeight: MediaQuery.of(context).size.height),
designSize: Size(360, 690),
context: context,
minTextAdapt: true,
orientation: Orientation.portrait);
return Scaffold(
appBar: AppBar(
elevation: 0.55,
shadowColor: Color.fromRGBO(77, 32, 126, 1),
bottomOpacity: 0,
backgroundColor: Color.fromRGBO(77, 32, 126, 1),
toolbarHeight: 80.h,
title: AppbarTitle(
title: 'ลงทะเบียน / ยืนยันตัวตน',
),
),
body: Stack(
children: [
Container(
color: Color.fromRGBO(77, 32, 126, 1),
height: 50.h,
),
Container(
margin: EdgeInsets.only(left: 15.h, right: 15.h),
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
border: Border.all(
color: Colors.white,
style: BorderStyle.solid,
width: 1.0,
),
color: Colors.white,
borderRadius: BorderRadius.circular(10.0),
),
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: 20.h, left: 20.h),
alignment: Alignment.topLeft,
child: Text(
"ยินดีต้อนรับเข้าสู่ระบบ สมัครสมาชิก ของ NBT",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
Container(
padding: EdgeInsets.only(top: 10.h, left: 20.h),
alignment: Alignment.topLeft,
child: Text(
"๏ สิทธิพิเศษเฉพาะสมาชิก เท่านั้น",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
Container(
padding: EdgeInsets.only(top: 10.h, left: 30.h),
alignment: Alignment.topLeft,
child: Text(
"1. สามารถดูประวัติรับชมส่วนตัวได้\n2. สามารถบันทึกลิงก์รายการโปรดได้\n3. สามารถ Comment ขณะรับชมรายการต่างๆ ได้\n4. สิทธิร่วมรับของรางวัลในโอกาสจัดกิจกรรมพิเศษต่างๆ",
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.black87,
),
),
),
],
),
),
Expanded(child: Container()),
btn(),
],
),
);
}
Widget btn() {
return Align(
alignment: Alignment.bottomCenter,
child: Container(
width: 300.w,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(30.0)),
child: Container(
alignment: Alignment.center,
height: 35.h,
width: double.infinity,
child: Text(
"ตกลง",
style: TextStyle(
fontSize: 24,
fontWeight: FontWeight.w500,
fontFamily: 'DBHeavent',
color: Colors.white,
),
),
),
color: Color.fromRGBO(77, 32, 126, 1),
onPressed: () {
Navigator.pushReplacement(context,
MaterialPageRoute(builder: (context) => RegisterPage()));
},
),
),
);
}
}
...@@ -15,6 +15,13 @@ packages: ...@@ -15,6 +15,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.1.0"
carousel_slider:
dependency: "direct main"
description:
name: carousel_slider
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.0"
characters: characters:
dependency: transitive dependency: transitive
description: description:
...@@ -50,6 +57,13 @@ packages: ...@@ -50,6 +57,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "1.0.4"
dots_indicator:
dependency: "direct main"
description:
name: dots_indicator
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
...@@ -69,6 +83,20 @@ packages: ...@@ -69,6 +83,20 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "1.0.4"
flutter_screenutil:
dependency: "direct main"
description:
name: flutter_screenutil
url: "https://pub.dartlang.org"
source: hosted
version: "5.3.1"
flutter_slider_drawer:
dependency: "direct main"
description:
name: flutter_slider_drawer
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
...@@ -88,6 +116,13 @@ packages: ...@@ -88,6 +116,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.12.11" version: "0.12.11"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.3"
meta: meta:
dependency: transitive dependency: transitive
description: description:
...@@ -102,11 +137,25 @@ packages: ...@@ -102,11 +137,25 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.0"
rflutter_alert:
dependency: "direct main"
description:
name: rflutter_alert
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.99" version: "0.0.99"
smooth_page_indicator:
dependency: "direct main"
description:
name: smooth_page_indicator
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0+2"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
...@@ -148,7 +197,7 @@ packages: ...@@ -148,7 +197,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.3" version: "0.4.8"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
......
...@@ -30,10 +30,13 @@ dependencies: ...@@ -30,10 +30,13 @@ dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2 cupertino_icons: ^1.0.2
flutter_screenutil: ^5.3.1
rflutter_alert: ^1.1.0
flutter_slider_drawer: ^2.1.1
dots_indicator: ^2.1.0
carousel_slider: ^4.0.0
smooth_page_indicator: ^1.0.0+2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
...@@ -56,34 +59,12 @@ flutter: ...@@ -56,34 +59,12 @@ flutter:
# included with your application, so that you can use the icons in # included with your application, so that you can use the icons in
# the material Icons class. # the material Icons class.
uses-material-design: true uses-material-design: true
assets:
- assets/images/
- assets/font/
# To add assets to your application, add an assets section, like this: fonts:
# assets: - family: DBHeavent
# - images/a_dot_burr.jpeg fonts:
# - images/a_dot_ham.jpeg - asset: assets/font/DBHeavent.ttf
weight: 500
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment