diff --git a/flutter_/.flutter-plugins-dependencies b/flutter_/.flutter-plugins-dependencies index 208f570..0d5ffa5 100644 --- a/flutter_/.flutter-plugins-dependencies +++ b/flutter_/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"assets_audio_player","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player-3.0.6/","native_build":true,"dependencies":["assets_audio_player_web"]},{"name":"assets_audio_player_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player_web-3.0.6/","native_build":true,"dependencies":[]},{"name":"flutter_secure_storage","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage-8.0.0/","native_build":true,"dependencies":[]},{"name":"flutter_sound","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_sound-8.5.0/","native_build":true,"dependencies":[]},{"name":"flutter_web_auth","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_web_auth-0.5.0/","native_build":true,"dependencies":[]},{"name":"google_sign_in_ios","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/google_sign_in_ios-5.6.1/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.0/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.1.5/","native_build":true,"dependencies":[]}],"android":[{"name":"assets_audio_player","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player-3.0.6/","native_build":true,"dependencies":["assets_audio_player_web"]},{"name":"assets_audio_player_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player_web-3.0.6/","native_build":true,"dependencies":[]},{"name":"flutter_secure_storage","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage-8.0.0/","native_build":true,"dependencies":[]},{"name":"flutter_sound","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_sound-8.5.0/","native_build":true,"dependencies":[]},{"name":"flutter_web_auth","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_web_auth-0.5.0/","native_build":true,"dependencies":[]},{"name":"google_sign_in_android","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/google_sign_in_android-6.1.8/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_android-2.0.24/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_android-2.0.17/","native_build":true,"dependencies":[]}],"macos":[{"name":"assets_audio_player","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player-3.0.6/","native_build":true,"dependencies":["assets_audio_player_web"]},{"name":"assets_audio_player_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player_web-3.0.6/","native_build":true,"dependencies":[]},{"name":"flutter_secure_storage_macos","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.0.0/","native_build":true,"dependencies":[]},{"name":"flutter_web_auth","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_web_auth-0.5.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.0/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.1.5/","native_build":true,"dependencies":[]}],"linux":[{"name":"flutter_secure_storage_linux","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.1.3/","native_build":true,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.10/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.1.5/","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"flutter_secure_storage_windows","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-2.0.0/","native_build":true,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.5/","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.1.5/","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"assets_audio_player_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player_web-3.0.6/","dependencies":[]},{"name":"flutter_secure_storage_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.1.1/","dependencies":[]},{"name":"flutter_sound_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_sound_web-8.5.0/","dependencies":[]},{"name":"flutter_web_auth","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_web_auth-0.5.0/","dependencies":[]},{"name":"google_sign_in_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/google_sign_in_web-0.10.2+1/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_web-2.0.6/","dependencies":[]}]},"dependencyGraph":[{"name":"assets_audio_player","dependencies":["path_provider","assets_audio_player_web"]},{"name":"assets_audio_player_web","dependencies":[]},{"name":"flutter_secure_storage","dependencies":["flutter_secure_storage_linux","flutter_secure_storage_macos","flutter_secure_storage_web","flutter_secure_storage_windows"]},{"name":"flutter_secure_storage_linux","dependencies":[]},{"name":"flutter_secure_storage_macos","dependencies":[]},{"name":"flutter_secure_storage_web","dependencies":[]},{"name":"flutter_secure_storage_windows","dependencies":[]},{"name":"flutter_sound","dependencies":["path_provider","flutter_sound_web"]},{"name":"flutter_sound_web","dependencies":[]},{"name":"flutter_web_auth","dependencies":[]},{"name":"google_sign_in","dependencies":["google_sign_in_android","google_sign_in_ios","google_sign_in_web"]},{"name":"google_sign_in_android","dependencies":[]},{"name":"google_sign_in_ios","dependencies":[]},{"name":"google_sign_in_web","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2023-03-25 22:01:38.871343","version":"3.7.8"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"assets_audio_player","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player-3.0.6/","native_build":true,"dependencies":["assets_audio_player_web"]},{"name":"assets_audio_player_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player_web-3.0.6/","native_build":true,"dependencies":[]},{"name":"flutter_secure_storage","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage-8.0.0/","native_build":true,"dependencies":[]},{"name":"flutter_sound","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_sound-8.5.0/","native_build":true,"dependencies":[]},{"name":"flutter_web_auth","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_web_auth-0.5.0/","native_build":true,"dependencies":[]},{"name":"google_sign_in_ios","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/google_sign_in_ios-5.6.1/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.0/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.1.5/","native_build":true,"dependencies":[]}],"android":[{"name":"assets_audio_player","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player-3.0.6/","native_build":true,"dependencies":["assets_audio_player_web"]},{"name":"assets_audio_player_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player_web-3.0.6/","native_build":true,"dependencies":[]},{"name":"flutter_secure_storage","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage-8.0.0/","native_build":true,"dependencies":[]},{"name":"flutter_sound","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_sound-8.5.0/","native_build":true,"dependencies":[]},{"name":"flutter_web_auth","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_web_auth-0.5.0/","native_build":true,"dependencies":[]},{"name":"google_sign_in_android","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/google_sign_in_android-6.1.8/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_android-2.0.24/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_android-2.0.17/","native_build":true,"dependencies":[]}],"macos":[{"name":"assets_audio_player","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player-3.0.6/","native_build":true,"dependencies":["assets_audio_player_web"]},{"name":"assets_audio_player_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player_web-3.0.6/","native_build":true,"dependencies":[]},{"name":"flutter_secure_storage_macos","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.0.0/","native_build":true,"dependencies":[]},{"name":"flutter_web_auth","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_web_auth-0.5.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.0/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.1.5/","native_build":true,"dependencies":[]}],"linux":[{"name":"flutter_secure_storage_linux","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.1.3/","native_build":true,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.10/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.1.5/","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"flutter_secure_storage_windows","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-2.0.0/","native_build":true,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.5/","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.1.5/","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"assets_audio_player_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/assets_audio_player_web-3.0.6/","dependencies":[]},{"name":"flutter_secure_storage_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.1.1/","dependencies":[]},{"name":"flutter_sound_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_sound_web-8.5.0/","dependencies":[]},{"name":"flutter_web_auth","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/flutter_web_auth-0.5.0/","dependencies":[]},{"name":"google_sign_in_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/google_sign_in_web-0.10.2+1/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/yunhyegyeong/.pub-cache/hosted/pub.dev/shared_preferences_web-2.0.6/","dependencies":[]}]},"dependencyGraph":[{"name":"assets_audio_player","dependencies":["path_provider","assets_audio_player_web"]},{"name":"assets_audio_player_web","dependencies":[]},{"name":"flutter_secure_storage","dependencies":["flutter_secure_storage_linux","flutter_secure_storage_macos","flutter_secure_storage_web","flutter_secure_storage_windows"]},{"name":"flutter_secure_storage_linux","dependencies":[]},{"name":"flutter_secure_storage_macos","dependencies":[]},{"name":"flutter_secure_storage_web","dependencies":[]},{"name":"flutter_secure_storage_windows","dependencies":[]},{"name":"flutter_sound","dependencies":["path_provider","flutter_sound_web"]},{"name":"flutter_sound_web","dependencies":[]},{"name":"flutter_web_auth","dependencies":[]},{"name":"google_sign_in","dependencies":["google_sign_in_android","google_sign_in_ios","google_sign_in_web"]},{"name":"google_sign_in_android","dependencies":[]},{"name":"google_sign_in_ios","dependencies":[]},{"name":"google_sign_in_web","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2023-03-30 08:58:14.824655","version":"3.7.8"} \ No newline at end of file diff --git a/flutter_/build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill b/flutter_/build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill index a3aa8c7..be22739 100644 Binary files a/flutter_/build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill and b/flutter_/build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill differ diff --git a/flutter_/build/ios/Debug-iphonesimulator/App.framework/App b/flutter_/build/ios/Debug-iphonesimulator/App.framework/App index 98d486d..dcefa2b 100755 Binary files a/flutter_/build/ios/Debug-iphonesimulator/App.framework/App and b/flutter_/build/ios/Debug-iphonesimulator/App.framework/App differ diff --git a/flutter_/build/ios/Debug-iphonesimulator/App.framework/_CodeSignature/CodeResources b/flutter_/build/ios/Debug-iphonesimulator/App.framework/_CodeSignature/CodeResources index 136ab1d..e5081c7 100644 --- a/flutter_/build/ios/Debug-iphonesimulator/App.framework/_CodeSignature/CodeResources +++ b/flutter_/build/ios/Debug-iphonesimulator/App.framework/_CodeSignature/CodeResources @@ -54,7 +54,7 @@ flutter_assets/kernel_blob.bin - VaFQRN0uZ9NcssyyQiS7wQvDnqA= + KFRX++YPup8YynmNCslU7ofqEVY= flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf @@ -180,7 +180,7 @@ hash2 - /mrFC1+WIlU+d3yhCmfVhS+3qccKjpULSzcxGvjQVaE= + jpwgqJ0DxUCAAMDdsisN89DnZiFb1SkSwVWeTL8ilwM= flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf diff --git a/flutter_/build/ios/Debug-iphonesimulator/App.framework/flutter_assets/kernel_blob.bin b/flutter_/build/ios/Debug-iphonesimulator/App.framework/flutter_assets/kernel_blob.bin index a3aa8c7..be22739 100644 Binary files a/flutter_/build/ios/Debug-iphonesimulator/App.framework/flutter_assets/kernel_blob.bin and b/flutter_/build/ios/Debug-iphonesimulator/App.framework/flutter_assets/kernel_blob.bin differ diff --git a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/App b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/App index 98d486d..dcefa2b 100755 Binary files a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/App and b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/App differ diff --git a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources index 136ab1d..e5081c7 100644 --- a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources +++ b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources @@ -54,7 +54,7 @@ flutter_assets/kernel_blob.bin - VaFQRN0uZ9NcssyyQiS7wQvDnqA= + KFRX++YPup8YynmNCslU7ofqEVY= flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf @@ -180,7 +180,7 @@ hash2 - /mrFC1+WIlU+d3yhCmfVhS+3qccKjpULSzcxGvjQVaE= + jpwgqJ0DxUCAAMDdsisN89DnZiFb1SkSwVWeTL8ilwM= flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf diff --git a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin index a3aa8c7..be22739 100644 Binary files a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin and b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin differ diff --git a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Runner b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Runner index 47370fa..5eac1e2 100755 Binary files a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Runner and b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/Runner differ diff --git a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/_CodeSignature/CodeResources b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/_CodeSignature/CodeResources index 41dc649..2660598 100644 --- a/flutter_/build/ios/Debug-iphonesimulator/Runner.app/_CodeSignature/CodeResources +++ b/flutter_/build/ios/Debug-iphonesimulator/Runner.app/_CodeSignature/CodeResources @@ -46,7 +46,7 @@ Frameworks/App.framework/App - nnhEF63Q3SPn42+FRqgrLCUDpZA= + hHaa6Vt+tWLdRmwVVLvUPkHZB34= Frameworks/App.framework/Info.plist @@ -54,7 +54,7 @@ Frameworks/App.framework/_CodeSignature/CodeResources - V3kJMViNpsWYBYul0Joe6DQaIC8= + MgWeds2I1Xkwnylq8BkeKuRu1nU= Frameworks/App.framework/flutter_assets/AssetManifest.json @@ -102,7 +102,7 @@ Frameworks/App.framework/flutter_assets/kernel_blob.bin - VaFQRN0uZ9NcssyyQiS7wQvDnqA= + KFRX++YPup8YynmNCslU7ofqEVY= Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf @@ -811,7 +811,7 @@ hash2 - oLFS6I75+E+HQjXVMCqVkwy6nSDvn/xsTm0Mw2BcF6w= + L9vDESLD4wCpnna+mbfXCh/hTr08bt3Hnsn+FMcaDUQ= Frameworks/App.framework/Info.plist @@ -825,7 +825,7 @@ hash2 - 9C0KNbMAD77Sj0DVfMpBSohewel16cD65gq/fY1gZl4= + 2nzP/zNZts5WNW9oinHFleW57VxKXfUlA2A8oumcyUc= Frameworks/App.framework/flutter_assets/AssetManifest.json @@ -909,7 +909,7 @@ hash2 - /mrFC1+WIlU+d3yhCmfVhS+3qccKjpULSzcxGvjQVaE= + jpwgqJ0DxUCAAMDdsisN89DnZiFb1SkSwVWeTL8ilwM= Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf diff --git a/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/App b/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/App index 98d486d..dcefa2b 100755 Binary files a/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/App and b/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/App differ diff --git a/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources b/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources index 136ab1d..e5081c7 100644 --- a/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources +++ b/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources @@ -54,7 +54,7 @@ flutter_assets/kernel_blob.bin - VaFQRN0uZ9NcssyyQiS7wQvDnqA= + KFRX++YPup8YynmNCslU7ofqEVY= flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf @@ -180,7 +180,7 @@ hash2 - /mrFC1+WIlU+d3yhCmfVhS+3qccKjpULSzcxGvjQVaE= + jpwgqJ0DxUCAAMDdsisN89DnZiFb1SkSwVWeTL8ilwM= flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf diff --git a/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin b/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin index a3aa8c7..be22739 100644 Binary files a/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin and b/flutter_/build/ios/iphonesimulator/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin differ diff --git a/flutter_/build/ios/iphonesimulator/Runner.app/Runner b/flutter_/build/ios/iphonesimulator/Runner.app/Runner index 47370fa..5eac1e2 100755 Binary files a/flutter_/build/ios/iphonesimulator/Runner.app/Runner and b/flutter_/build/ios/iphonesimulator/Runner.app/Runner differ diff --git a/flutter_/build/ios/iphonesimulator/Runner.app/_CodeSignature/CodeResources b/flutter_/build/ios/iphonesimulator/Runner.app/_CodeSignature/CodeResources index 41dc649..2660598 100644 --- a/flutter_/build/ios/iphonesimulator/Runner.app/_CodeSignature/CodeResources +++ b/flutter_/build/ios/iphonesimulator/Runner.app/_CodeSignature/CodeResources @@ -46,7 +46,7 @@ Frameworks/App.framework/App - nnhEF63Q3SPn42+FRqgrLCUDpZA= + hHaa6Vt+tWLdRmwVVLvUPkHZB34= Frameworks/App.framework/Info.plist @@ -54,7 +54,7 @@ Frameworks/App.framework/_CodeSignature/CodeResources - V3kJMViNpsWYBYul0Joe6DQaIC8= + MgWeds2I1Xkwnylq8BkeKuRu1nU= Frameworks/App.framework/flutter_assets/AssetManifest.json @@ -102,7 +102,7 @@ Frameworks/App.framework/flutter_assets/kernel_blob.bin - VaFQRN0uZ9NcssyyQiS7wQvDnqA= + KFRX++YPup8YynmNCslU7ofqEVY= Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf @@ -811,7 +811,7 @@ hash2 - oLFS6I75+E+HQjXVMCqVkwy6nSDvn/xsTm0Mw2BcF6w= + L9vDESLD4wCpnna+mbfXCh/hTr08bt3Hnsn+FMcaDUQ= Frameworks/App.framework/Info.plist @@ -825,7 +825,7 @@ hash2 - 9C0KNbMAD77Sj0DVfMpBSohewel16cD65gq/fY1gZl4= + 2nzP/zNZts5WNW9oinHFleW57VxKXfUlA2A8oumcyUc= Frameworks/App.framework/flutter_assets/AssetManifest.json @@ -909,7 +909,7 @@ hash2 - /mrFC1+WIlU+d3yhCmfVhS+3qccKjpULSzcxGvjQVaE= + jpwgqJ0DxUCAAMDdsisN89DnZiFb1SkSwVWeTL8ilwM= Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf diff --git a/flutter_/lib/api/login_controller.dart b/flutter_/lib/api/login_controller.dart index 392f20e..2a5f3c3 100644 --- a/flutter_/lib/api/login_controller.dart +++ b/flutter_/lib/api/login_controller.dart @@ -14,7 +14,7 @@ class LoginController { 'email': user.email, 'socialId': user.id, 'nickname': user.displayName ?? user.email, - 'profileImage' : user.photoUrl?? '', + 'profileImage': user.photoUrl ?? '', }; try { @@ -23,12 +23,13 @@ class LoginController { '/api/members/login', data: userInfo, options: Options(contentType: Headers.jsonContentType), - ); print(response.statusCode); - - await storage.write(key: 'accessToken', value: response.data['result']['accessToken']); + await storage.write( + key: 'accessToken', value: response.data['result']['accessToken']); + print(response.data['result']['accessToken']); + return googleLoginResponse(token: response.data['accessToken']); } catch (e) { print(e); diff --git a/flutter_/lib/models/statistic.dart b/flutter_/lib/models/statistic.dart new file mode 100644 index 0000000..3200f92 --- /dev/null +++ b/flutter_/lib/models/statistic.dart @@ -0,0 +1,25 @@ +import 'dart:ffi'; + +class Statistic { + String word; + int frequency; + Float ratio; + + Statistic({ + required this.word, + required this.frequency, + required this.ratio, + }); + + factory Statistic.fromJson(Map json) => Statistic( + word: json['word'], + frequency: json['frequency'], + ratio: json['ratio'], + ); + + Map toJson() => { + 'word': word, + 'frequency': frequency, + 'ratio': ratio, + }; +} \ No newline at end of file diff --git a/flutter_/lib/models/tmp_chart.dart b/flutter_/lib/models/tmp_chart.dart index f9e9de5..e76e8d7 100644 --- a/flutter_/lib/models/tmp_chart.dart +++ b/flutter_/lib/models/tmp_chart.dart @@ -1,9 +1,6 @@ -class TmpChart { - final String name; - final num n1; - final num n2; - final num n3; - final num n4; +class Chart { + final String word; + final List ratio; - TmpChart(this.name, this.n1, this.n2, this.n3, this.n4); + Chart(this.word, this.ratio); } \ No newline at end of file diff --git a/flutter_/lib/repositories/tmp_chart_repository.dart b/flutter_/lib/repositories/tmp_chart_repository.dart index 41c11e6..75e4c83 100644 --- a/flutter_/lib/repositories/tmp_chart_repository.dart +++ b/flutter_/lib/repositories/tmp_chart_repository.dart @@ -1,4 +1,4 @@ -import 'package:flutter_/models/tmp_chart.dart'; +/*import 'package:flutter_/models/tmp_chart.dart'; class TmpChartRepository { @@ -10,3 +10,4 @@ class TmpChartRepository { return _dumyTmpChart; } } +*/ \ No newline at end of file diff --git a/flutter_/lib/screens/chart_screen.dart b/flutter_/lib/screens/chart_screen.dart index e0e8c42..460a037 100644 --- a/flutter_/lib/screens/chart_screen.dart +++ b/flutter_/lib/screens/chart_screen.dart @@ -1,16 +1,35 @@ import 'package:flutter/material.dart'; +import 'package:flutter_/models/statistic.dart'; import 'package:flutter_/models/tmp_chart.dart'; import 'package:flutter_/repositories/tmp_chart_repository.dart'; import 'package:syncfusion_flutter_charts/charts.dart'; // ignore: must_be_immutable -class ChartScreen extends StatelessWidget { - ChartScreen({super.key}); +class ChartPage extends StatefulWidget { + final List statistic; - List chartData = TmpChartRepository().getTmpChart(); + ChartPage({super.key, required this.statistic}); + @override + _ChartPageState createState() => _ChartPageState(); +} + +class _ChartPageState extends State { @override Widget build(BuildContext context) { + List statistic = widget.statistic; + List ratioList = statistic.map((item) => item['ratio']).toList(); + final List chartData = [Chart('차트', ratioList)]; + /* + List statisticList = statistic.map((data) { + return Statistic( + word: data['word'], + frequency: data['frequency'], + ratio: data['ratio'], + ); + }).toList(); + */ + return SfCartesianChart( plotAreaBorderWidth: 0, primaryXAxis: CategoryAxis( @@ -20,27 +39,27 @@ class ChartScreen extends StatelessWidget { isVisible: false, ), series: [ - StackedBar100Series( + StackedBar100Series( borderRadius: const BorderRadius.only( topLeft: Radius.circular(8), bottomLeft: Radius.circular(8)), dataSource: chartData, - xValueMapper: (TmpChart data, _) => data.name, - yValueMapper: (TmpChart data, _) => data.n1), - StackedBar100Series( + xValueMapper: (Chart data, _) => data.word, + yValueMapper: (Chart data, int index) => data.ratio[0]), + StackedBar100Series( dataSource: chartData, - xValueMapper: (TmpChart data, _) => data.name, - yValueMapper: (TmpChart data, _) => data.n2), - StackedBar100Series( + xValueMapper: (Chart data, _) => data.word, + yValueMapper: (Chart data, int index) => data.ratio[1]), + StackedBar100Series( dataSource: chartData, - xValueMapper: (TmpChart data, _) => data.name, - yValueMapper: (TmpChart data, _) => data.n3), - StackedBar100Series( + xValueMapper: (Chart data, _) => data.word, + yValueMapper: (Chart data, int index) => data.ratio[2]), + StackedBar100Series( borderRadius: const BorderRadius.only( topRight: Radius.circular(8), bottomRight: Radius.circular(8)), dataSource: chartData, - xValueMapper: (TmpChart data, _) => data.name, - yValueMapper: (TmpChart data, _) => data.n4), + xValueMapper: (Chart data, _) => data.word, + yValueMapper: (Chart data, _) => data.ratio[3]), ]); } } diff --git a/flutter_/lib/screens/detail_screen.dart b/flutter_/lib/screens/detail_screen.dart index 4f288a6..1378d20 100644 --- a/flutter_/lib/screens/detail_screen.dart +++ b/flutter_/lib/screens/detail_screen.dart @@ -1,44 +1,49 @@ -import 'dart:math'; - import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_/models/board.dart'; -import 'package:flutter_/models/tmp_chart.dart'; -import 'package:flutter_/repositories/board_repository.dart'; -import 'package:flutter_/repositories/tmp_chart_repository.dart'; import 'package:flutter_/screens/chart_screen.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; - -List chartData = TmpChartRepository().getTmpChart(); +import 'package:intl/intl.dart'; class DetailPage extends StatefulWidget { final int index; - DetailPage(this.index); + DetailPage({super.key, required this.index}); + + @override + _DetailPageState createState() => _DetailPageState(); +} + +class _DetailPageState extends State { + final storage = const FlutterSecureStorage(); - List palette = const [ + late String title; + late String location; + late String memo; + late String startTime; + late List statistic; + + List palette = [ Color.fromRGBO(75, 135, 185, 1), Color.fromRGBO(192, 108, 132, 1), Color.fromRGBO(246, 114, 128, 1), Color.fromRGBO(248, 177, 149, 1), - Color.fromRGBO(116, 180, 155, 1), - Color.fromRGBO(0, 168, 181, 1), - Color.fromRGBO(73, 76, 162, 1), - Color.fromRGBO(255, 205, 96, 1), - Color.fromRGBO(255, 240, 219, 1), - Color.fromRGBO(238, 238, 238, 1) ]; @override - _DetailPageState createState() => _DetailPageState(); -} - -class _DetailPageState extends State { - final storage = const FlutterSecureStorage(); + void initState() { + super.initState(); + _getVoice(context, widget.index); + } @override Widget build(BuildContext context) { final int index = widget.index; + + DateTime formmated = DateTime.parse(startTime); // DateTime으로 파싱 + String date = + DateFormat('yyyy년 MM월 dd일').format(formmated); // DateTime으로 파싱 + String time = DateFormat('HH시 mm분').format(formmated); + return Scaffold( appBar: AppBar(), body: Center( @@ -46,13 +51,13 @@ class _DetailPageState extends State { Column(mainAxisAlignment: MainAxisAlignment.center, children: [ Container( margin: const EdgeInsets.only(bottom: 30), - /*child: Text( - '${board.title} 결과', + child: Text( + '$title 결과', style: const TextStyle( fontWeight: FontWeight.bold, fontSize: 20, ), - ),*/ + ), ), Container( margin: const EdgeInsets.only(bottom: 30), @@ -86,10 +91,10 @@ class _DetailPageState extends State { fontWeight: FontWeight.bold, fontSize: 17, )), - /*Text(board.location, + Text(location, style: const TextStyle( fontSize: 17, - )),*/ + )), ]), ), Padding( @@ -102,40 +107,53 @@ class _DetailPageState extends State { fontWeight: FontWeight.bold, fontSize: 17, )), - /*Text('${board.startTime}', + Text(date, style: const TextStyle( fontSize: 17, - )),*/ + )), ]), ), Padding( padding: const EdgeInsets.all(8), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: const [ - Text('시간', + children: [ + const Text('시간', style: TextStyle( fontWeight: FontWeight.bold, fontSize: 17, )), + Text(time, + style: const TextStyle( + fontSize: 17, + )), ]), ), - Padding( - padding: const EdgeInsets.all(8), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const Text('메모', + Expanded( + child: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(8), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text( + '메모', style: TextStyle( fontWeight: FontWeight.bold, fontSize: 17, - )), - /*Text(board.memo, + ), + ), + Text( + memo, style: const TextStyle( fontSize: 17, - )),*/ - ]), - ) + ), + ), + ], + ), + ), + ), + ), ], ), ), @@ -153,7 +171,7 @@ class _DetailPageState extends State { //child: Text(title), child: Column( children: [ - Center( + const Center( child: Padding( padding: EdgeInsets.only(top: 25, bottom: 10), child: Text('나의 통계', @@ -164,12 +182,16 @@ class _DetailPageState extends State { )), Container( height: 60, - child: ChartScreen(), + child: ChartPage(statistic: statistic), + ), + Column( + children: List.generate(statistic.length, (i) { + return Index( + color: palette[i], + word: statistic[i]['word'], + ratio: '${statistic[i]['ratio']}'); + }).toList(), ), - Index('${chartData.first.n1}'), - Index('${chartData.first.n2}'), - Index('${chartData.first.n3}'), - Index('${chartData.first.n4}'), ], ), ), @@ -194,13 +216,18 @@ class _DetailPageState extends State { }, ), ); - print(response.data['result'].runtimeType); + print(response.data); //List boardList = response.data['result']; - //setState(() { - // boards = boardList; - //}); - + setState(() { + title = response.data['result']['title']; + location = response.data['result']['location']; + memo = response.data['result']['memo']; + startTime = response.data['result']['startTime']; + statistic = response.data['result']['statistic']; + statistic.sort((a, b) => b['ratio'].compareTo(a['ratio'])); + statistic = statistic.sublist(0, 4); + }); } catch (e) { print('GET Error $e'); } @@ -208,36 +235,39 @@ class _DetailPageState extends State { } class Index extends StatelessWidget { - final String txt; - const Index(this.txt); + String word; + String ratio; + Color color; + + Index({super.key, required this.word, required this.ratio, required this.color}); @override Widget build(BuildContext context) { return Container( - margin: EdgeInsets.fromLTRB(60, 20, 50, 10), + margin: const EdgeInsets.fromLTRB(60, 20, 50, 10), child: Row( children: [ Container( height: 22, width: 22, decoration: BoxDecoration( - color: Color.fromRGBO(75, 135, 185, 1), + color: color, shape: BoxShape.circle), ), Container( - margin: EdgeInsets.only(left: 10), + margin: const EdgeInsets.only(left: 10), height: 25, width: 200, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( - '사과', - style: TextStyle(fontSize: 18), + word, + style: const TextStyle(fontSize: 18), ), Text( - '${txt}%', - style: TextStyle(fontSize: 18), + '$ratio%', + style: const TextStyle(fontSize: 18), ), ], )), diff --git a/flutter_/lib/screens/generate_screen.dart b/flutter_/lib/screens/generate_screen.dart index 1be9318..64c0f3a 100644 --- a/flutter_/lib/screens/generate_screen.dart +++ b/flutter_/lib/screens/generate_screen.dart @@ -61,7 +61,7 @@ class _GeneratePageState extends State { ); } - Widget _buildInputBox(String hintText, + Widget _buildInputBox(String text, {double? height, TextEditingController? controller}) { return Container( margin: const EdgeInsets.fromLTRB(13, 6, 13, 6), @@ -77,7 +77,8 @@ class _GeneratePageState extends State { child: TextFormField( controller: controller, decoration: InputDecoration( - hintText: hintText, + labelText: text, + hintText: text, contentPadding: const EdgeInsets.symmetric(horizontal: 16), border: InputBorder.none, ), diff --git a/flutter_/lib/screens/list_screen.dart b/flutter_/lib/screens/list_screen.dart index c4d09e7..a7fca87 100644 --- a/flutter_/lib/screens/list_screen.dart +++ b/flutter_/lib/screens/list_screen.dart @@ -1,4 +1,5 @@ import 'package:dio/dio.dart'; +import 'package:intl/intl.dart'; import 'package:flutter/material.dart'; import 'package:flutter_/screens/modify_screen.dart'; import 'package:flutter_/screens/detail_screen.dart'; @@ -30,6 +31,10 @@ class _ListPageState extends State { padding: const EdgeInsets.all(10), itemCount: boards.length, itemBuilder: (context, index) { + DateTime startTime = DateTime.parse(boards[index]['startTime']); // DateTime으로 파싱 + String date = DateFormat('yyyy년 MM월 dd일').format(startTime); // DateTime으로 파싱 + String time = DateFormat('HH시 mm분').format(startTime); + // "yyyy년 MM월 dd일" 형식의 문자열로 변환 return Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(16), @@ -38,9 +43,10 @@ class _ListPageState extends State { height: 120, child: GestureDetector( onTap: () { - debugPrint('The record has been tapped'); + debugPrint('The record $index has been tapped'); Navigator.of(context).push(MaterialPageRoute( - builder: (BuildContext context) => DetailPage(index))); + + builder: (BuildContext context) => DetailPage(index: boards[index]['boardId'],))); }, child: Row(children: [ Expanded( @@ -71,7 +77,13 @@ class _ListPageState extends State { ), ), Text( - '${boards[index]['startTime']}', + date, + style: const TextStyle( + fontSize: 16, + ), + ), + Text( + time, style: const TextStyle( fontSize: 16, ), @@ -119,7 +131,7 @@ class _ListPageState extends State { MaterialPageRoute( builder: (BuildContext context) => - ModifyPage(index))); + ModifyPage(boards[index]['boardId']))); }, child: const Text( '수정하기', diff --git a/flutter_/lib/screens/modify_screen.dart b/flutter_/lib/screens/modify_screen.dart index 19591fb..87a660d 100644 --- a/flutter_/lib/screens/modify_screen.dart +++ b/flutter_/lib/screens/modify_screen.dart @@ -16,11 +16,23 @@ class ModifyPage extends StatefulWidget { class _ModifyPageState extends State { final storage = const FlutterSecureStorage(); + String? xTitle; + String? xLocation; + String? xMemo; + final _titleController = TextEditingController(); final _locationController = TextEditingController(); final _memoController = TextEditingController(); + @override + void initState() { + super.initState(); + _getVoice(context, widget.index); + } + + @override void dispose() { + super.dispose(); _titleController.dispose(); _locationController.dispose(); _memoController.dispose(); @@ -28,7 +40,7 @@ class _ModifyPageState extends State { @override Widget build(BuildContext context) { - final int index = widget.index; + final int index = widget.index; return Scaffold( appBar: AppBar(), body: Padding( @@ -46,11 +58,14 @@ class _ModifyPageState extends State { ), ), const SizedBox(height: 30), - _buildInputBox('제목', height: 60, controller: _titleController), + _buildInputBox('제목', + height: 60, controller: _titleController, x: xTitle), const SizedBox(height: 16), - _buildInputBox('위치', height: 60, controller: _locationController), + _buildInputBox('위치', + height: 60, controller: _locationController, x: xLocation), const SizedBox(height: 16), - _buildInputBox('메모', height: 100, controller: _memoController), + _buildInputBox('메모', + height: 100, controller: _memoController, x: xMemo), const SizedBox(height: 16), ElevatedButton( onPressed: () { @@ -64,8 +79,8 @@ class _ModifyPageState extends State { ); } - Widget _buildInputBox(String hintText, - {double? height, TextEditingController? controller}) { + Widget _buildInputBox(String text, + {double? height, TextEditingController? controller, String? x}) { return Container( margin: const EdgeInsets.fromLTRB(13, 6, 13, 6), padding: const EdgeInsets.only(top: 5), @@ -80,7 +95,8 @@ class _ModifyPageState extends State { child: TextFormField( controller: controller, decoration: InputDecoration( - hintText: hintText, + labelText: text, + hintText: text, contentPadding: const EdgeInsets.symmetric(horizontal: 16), border: InputBorder.none, ), @@ -92,12 +108,6 @@ class _ModifyPageState extends State { void _getVoice(BuildContext context, id) async { final accessToken = await storage.read(key: 'accessToken'); - final postBoard = PostBoard( - title: _titleController.text, - location: _locationController.text, - memo: _memoController.text, - ); - Dio dio = Dio(); dio.options.baseUrl = 'http://34.22.70.110:9090'; dio.options.connectTimeout = const Duration(seconds: 5000); @@ -112,16 +122,20 @@ class _ModifyPageState extends State { 'Authorization': 'Bearer $accessToken', }, ), - data: postBoard.toJson(), ); - Navigator.of(context).push( - MaterialPageRoute( - builder: (BuildContext context) => ListPage(), - ), - ); + setState(() { + xTitle = response.data['result']['title']; + xLocation = response.data['result']['location']; + xMemo = response.data['result']['memo']; + + _titleController.text = xTitle!; + _locationController.text = xLocation!; + _memoController.text = xMemo!; + }); + } catch (e) { - print('POST Error $e'); + print('GET Error $e'); } } @@ -157,7 +171,7 @@ class _ModifyPageState extends State { ), ); } catch (e) { - print('POST Error $e'); + print('PATCH Error $e'); } } } diff --git a/flutter_/lib/screens/record_screen.dart b/flutter_/lib/screens/record_screen.dart index a844155..6dcb5a5 100644 --- a/flutter_/lib/screens/record_screen.dart +++ b/flutter_/lib/screens/record_screen.dart @@ -1,5 +1,7 @@ +import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:flutter_/screens/list_screen.dart'; +import 'package:flutter_secure_storage/flutter_secure_storage.dart'; class RecordScreen extends StatelessWidget { @override @@ -7,35 +9,61 @@ class RecordScreen extends StatelessWidget { return Scaffold( appBar: AppBar(), body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container( - margin: const EdgeInsets.all(30), - child: Image.network( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + margin: const EdgeInsets.all(30), + child: Image.network( 'https://i.pinimg.com/originals/ec/61/2c/ec612c4085582da4f5b8a7c2cc575bf9.gif', height: 250, width: 250), + ), + Container( + margin: const EdgeInsets.all(30), + child: const Text( + '녹음 중', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 20, + ), ), - Container( - margin: const EdgeInsets.all(30), - child: const Text('녹음 중', - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 20, - ),), - ), - Container( - margin: const EdgeInsets.all(30), - child: ElevatedButton( - onPressed: () { - Navigator.of(context).push(MaterialPageRoute( - builder: (BuildContext context) => ListPage( - ))); - }, - child: const Text('녹음 완료')), - ) - ], + ), + Container( + margin: const EdgeInsets.all(30), + child: ElevatedButton( + onPressed: () { + _patchTime(context); + Navigator.of(context).push(MaterialPageRoute( + builder: (BuildContext context) => ListPage())); + }, + child: const Text('녹음 완료')), + ) + ], ))); } } + +void _patchTime(BuildContext context) async { + const storage = FlutterSecureStorage(); + final accessToken = await storage.read(key: 'accessToken'); + + Dio dio = Dio(); + dio.options.baseUrl = 'http://34.22.70.110:9090'; + dio.options.connectTimeout = const Duration(seconds: 5000); + dio.options.receiveTimeout = const Duration(seconds: 5000); + //print(accessToken); + // POST 요청 보내기 + try { + await dio.patch( + '/api/boards', + options: Options( + headers: { + 'Authorization': 'Bearer $accessToken', + }, + ), + ); + } catch (e) { + print('PATCH Error $e'); + } +}