From 75d9a6a4fe79e1127de06b7e296b7d803fcd7604 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 26 Jun 2025 16:04:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/index.tsx | 87 ++++-------------- app/(tabs)/loading.tsx | 46 +--------- app/(tabs)/login.tsx | 57 ++++++------ app/(tabs)/user-message.tsx | 42 ++++++--- assets/icons/svg/activity.svg | 3 - assets/icons/svg/ai-video.svg | 6 -- assets/icons/svg/album.svg | 4 - assets/icons/svg/arrow-big-left.svg | 1 - assets/icons/svg/arrow-right-long.svg | 4 - assets/icons/svg/arrow-right-rotate.svg | 4 - assets/icons/svg/arrow-right.svg | 3 - assets/icons/svg/ataver.svg | 4 + assets/icons/svg/back-arrow.svg | 1 - assets/icons/svg/badge-check.svg | 4 - assets/icons/svg/bot-off.svg | 9 -- assets/icons/svg/brain-cog.svg | 17 ---- assets/icons/svg/check.svg | 3 - assets/icons/svg/chevron-left.svg | 4 - assets/icons/svg/choice.svg | 44 +++++++++ assets/icons/svg/choicePhoto.svg | 4 + assets/icons/svg/cloud-upload.svg | 1 - assets/icons/svg/customer-service.svg | 5 - assets/icons/svg/decorative.svg | 9 -- assets/icons/svg/delete.svg | 3 - assets/icons/svg/done.svg | 42 +++++++++ assets/icons/svg/download.svg | 5 - assets/icons/svg/error.svg | 4 + assets/icons/svg/eye.svg | 5 - assets/icons/svg/file.svg | 3 - assets/icons/svg/gallery.svg | 5 - assets/icons/svg/handers.svg | 4 + assets/icons/svg/image-plus.svg | 7 -- assets/icons/svg/loadingIP.svg | 44 +++++++++ assets/icons/svg/logout.svg | 5 - assets/icons/svg/memo-chat.svg | 17 ++++ assets/icons/svg/memo-ip.svg | 43 +++++++++ assets/icons/svg/memory-data.svg | 1 - assets/icons/svg/phone.svg | 5 - assets/icons/svg/photo-count.svg | 1 - assets/icons/svg/play.svg | 3 - assets/icons/svg/plus.svg | 3 - assets/icons/svg/recommend.svg | 5 - assets/icons/svg/send.svg | 4 - assets/icons/svg/settings.svg | 1 - assets/icons/svg/share.svg | 7 -- assets/icons/svg/shield-check.svg | 4 - assets/icons/svg/star-x.svg | 6 -- assets/icons/svg/star.svg | 7 -- assets/icons/svg/sync-third-party.svg | 5 - assets/icons/svg/upload-device.svg | 3 - assets/icons/svg/user-edit.svg | 6 -- assets/icons/svg/user-id.svg | 6 -- assets/icons/svg/user.svg | 5 - assets/icons/svg/version.svg | 1 - assets/icons/svg/video-count.svg | 1 - assets/icons/svg/video.svg | 3 - assets/icons/svg/wave.svg | 3 - assets/icons/svg/x.svg | 1 - components/login/code.tsx | 6 +- components/login/phoneLogin.tsx | 8 +- components/login/vetify.tsx | 117 ------------------------ components/user-message.tsx/choice.tsx | 47 +--------- components/user-message.tsx/done.tsx | 44 +-------- components/user-message.tsx/look.tsx | 38 +++----- i18n/locales/en/login.json | 11 +++ i18n/locales/zh/login.json | 11 +++ 66 files changed, 327 insertions(+), 585 deletions(-) delete mode 100644 assets/icons/svg/activity.svg delete mode 100644 assets/icons/svg/ai-video.svg delete mode 100644 assets/icons/svg/album.svg delete mode 100644 assets/icons/svg/arrow-big-left.svg delete mode 100644 assets/icons/svg/arrow-right-long.svg delete mode 100644 assets/icons/svg/arrow-right-rotate.svg delete mode 100644 assets/icons/svg/arrow-right.svg create mode 100644 assets/icons/svg/ataver.svg delete mode 100644 assets/icons/svg/back-arrow.svg delete mode 100644 assets/icons/svg/badge-check.svg delete mode 100644 assets/icons/svg/bot-off.svg delete mode 100644 assets/icons/svg/brain-cog.svg delete mode 100644 assets/icons/svg/check.svg delete mode 100644 assets/icons/svg/chevron-left.svg create mode 100644 assets/icons/svg/choice.svg create mode 100644 assets/icons/svg/choicePhoto.svg delete mode 100644 assets/icons/svg/cloud-upload.svg delete mode 100644 assets/icons/svg/customer-service.svg delete mode 100644 assets/icons/svg/decorative.svg delete mode 100644 assets/icons/svg/delete.svg create mode 100644 assets/icons/svg/done.svg delete mode 100644 assets/icons/svg/download.svg create mode 100644 assets/icons/svg/error.svg delete mode 100644 assets/icons/svg/eye.svg delete mode 100644 assets/icons/svg/file.svg delete mode 100644 assets/icons/svg/gallery.svg create mode 100644 assets/icons/svg/handers.svg delete mode 100644 assets/icons/svg/image-plus.svg create mode 100644 assets/icons/svg/loadingIP.svg delete mode 100644 assets/icons/svg/logout.svg create mode 100644 assets/icons/svg/memo-chat.svg create mode 100644 assets/icons/svg/memo-ip.svg delete mode 100644 assets/icons/svg/memory-data.svg delete mode 100644 assets/icons/svg/phone.svg delete mode 100644 assets/icons/svg/photo-count.svg delete mode 100644 assets/icons/svg/play.svg delete mode 100644 assets/icons/svg/plus.svg delete mode 100644 assets/icons/svg/recommend.svg delete mode 100644 assets/icons/svg/send.svg delete mode 100644 assets/icons/svg/settings.svg delete mode 100644 assets/icons/svg/share.svg delete mode 100644 assets/icons/svg/shield-check.svg delete mode 100644 assets/icons/svg/star-x.svg delete mode 100644 assets/icons/svg/star.svg delete mode 100644 assets/icons/svg/sync-third-party.svg delete mode 100644 assets/icons/svg/upload-device.svg delete mode 100644 assets/icons/svg/user-edit.svg delete mode 100644 assets/icons/svg/user-id.svg delete mode 100644 assets/icons/svg/user.svg delete mode 100644 assets/icons/svg/version.svg delete mode 100644 assets/icons/svg/video-count.svg delete mode 100644 assets/icons/svg/video.svg delete mode 100644 assets/icons/svg/wave.svg delete mode 100644 assets/icons/svg/x.svg delete mode 100644 components/login/vetify.tsx diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index d6aca60..ac93a74 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -1,18 +1,24 @@ +import MemoChat from '@/assets/icons/svg/memo-chat.svg'; +import MemoIP from '@/assets/icons/svg/memo-ip.svg'; import { useRouter } from 'expo-router'; +import { useTranslation } from 'react-i18next'; import { Text, TouchableOpacity, View } from 'react-native'; - export default function HomeScreen() { const router = useRouter(); - + const { t } = useTranslation(); return ( {/* 标题区域 */} - Awaken{"\n"}your{"\n"}precious memories + {t('auth.welcomeAwaken.awaken', { ns: 'login' })} +
+ {t('auth.welcomeAwaken.your', { ns: 'login' })} +
+ {t('auth.welcomeAwaken.pm', { ns: 'login' })}
- let every moment speak and feel alive + {t('auth.welcomeAwaken.slogan', { ns: 'login' })}
@@ -23,78 +29,23 @@ export default function HomeScreen() { - Hi!{"\n"}I'm Memo + {t('auth.welcomeAwaken.hi', { ns: 'login' })} +
+ {t('auth.welcomeAwaken.memo', { ns: 'login' })}
- - - - - - - - - - - - - - - - - +
{/* Memo 形象 */} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
{/* 介绍文本 */} - I live deep inside your photo gallery, {"\n"}waiting for you to bring me back... + {t('auth.welcomeAwaken.gallery', { ns: 'login' })} +
+ {t('auth.welcomeAwaken.back', { ns: 'login' })}
{/* 唤醒按钮 */} @@ -104,7 +55,7 @@ export default function HomeScreen() { activeOpacity={0.8} > - Awake your Memo + {t('auth.welcomeAwaken.awake', { ns: 'login' })}
diff --git a/app/(tabs)/loading.tsx b/app/(tabs)/loading.tsx index 2e971d7..eb254e2 100644 --- a/app/(tabs)/loading.tsx +++ b/app/(tabs)/loading.tsx @@ -1,53 +1,11 @@ +import LoadingIP from '@/assets/icons/svg/loadingIP.svg'; import { View } from 'react-native'; export default function LoadingScreen() { return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Loading... diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx index 5468607..7611780 100644 --- a/app/(tabs)/login.tsx +++ b/app/(tabs)/login.tsx @@ -1,3 +1,4 @@ +import Handers from '@/assets/icons/svg/handers.svg'; import LoginIP1 from '@/assets/icons/svg/loginIp1.svg'; import LoginIP2 from '@/assets/icons/svg/loginIp2.svg'; import ForgetPwd from '@/components/login/forgetPwd'; @@ -58,12 +59,7 @@ const LoginScreen = () => { top: containerHeight > 0 ? windowHeight - containerHeight - 1 : 0 }} > - - - - + { {error} - { - status === 'signUp' - ? - - : - status === 'forgetPwd' ? + {(() => { + const commonProps = { + updateUrlParam, + setError, + }; + + const components = { + signUp: ( + + ), + forgetPwd: ( - : - } - {status == 'login' && + ), + login: ( + + ) + }; + + return components[status as keyof typeof components] || components.login; + })()} + + {status == 'login' || !status && - {status === 'login' ? t('auth.agree.logintext', { ns: 'login' }) : t('auth.agree.singupText', { ns: 'login' })} + {status === 'login' || !status ? t('auth.agree.logintext', { ns: 'login' }) : t('auth.agree.singupText', { ns: 'login' })} { }}> diff --git a/app/(tabs)/user-message.tsx b/app/(tabs)/user-message.tsx index e370791..60915fe 100644 --- a/app/(tabs)/user-message.tsx +++ b/app/(tabs)/user-message.tsx @@ -47,21 +47,33 @@ export default function UserMessage() { return ( - { - steps == "userName" - ? - - : - steps == "look" - ? - - : - steps == "choice" - ? - - : - - } + + {(() => { + const components = { + userName: ( + + ), + look: ( + + ), + choice: , + done: + }; + + return components[steps as keyof typeof components] || null; + })()} + ); } diff --git a/assets/icons/svg/activity.svg b/assets/icons/svg/activity.svg deleted file mode 100644 index fa8f1d4..0000000 --- a/assets/icons/svg/activity.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/ai-video.svg b/assets/icons/svg/ai-video.svg deleted file mode 100644 index b980461..0000000 --- a/assets/icons/svg/ai-video.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/icons/svg/album.svg b/assets/icons/svg/album.svg deleted file mode 100644 index e7180cf..0000000 --- a/assets/icons/svg/album.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/icons/svg/arrow-big-left.svg b/assets/icons/svg/arrow-big-left.svg deleted file mode 100644 index 46f24ea..0000000 --- a/assets/icons/svg/arrow-big-left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/svg/arrow-right-long.svg b/assets/icons/svg/arrow-right-long.svg deleted file mode 100644 index 8827895..0000000 --- a/assets/icons/svg/arrow-right-long.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/icons/svg/arrow-right-rotate.svg b/assets/icons/svg/arrow-right-rotate.svg deleted file mode 100644 index 8827895..0000000 --- a/assets/icons/svg/arrow-right-rotate.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/icons/svg/arrow-right.svg b/assets/icons/svg/arrow-right.svg deleted file mode 100644 index 69d4fd6..0000000 --- a/assets/icons/svg/arrow-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/ataver.svg b/assets/icons/svg/ataver.svg new file mode 100644 index 0000000..20a4896 --- /dev/null +++ b/assets/icons/svg/ataver.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/assets/icons/svg/back-arrow.svg b/assets/icons/svg/back-arrow.svg deleted file mode 100644 index 4828b06..0000000 --- a/assets/icons/svg/back-arrow.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/svg/badge-check.svg b/assets/icons/svg/badge-check.svg deleted file mode 100644 index 2e60b2e..0000000 --- a/assets/icons/svg/badge-check.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/icons/svg/bot-off.svg b/assets/icons/svg/bot-off.svg deleted file mode 100644 index bdb1f09..0000000 --- a/assets/icons/svg/bot-off.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/assets/icons/svg/brain-cog.svg b/assets/icons/svg/brain-cog.svg deleted file mode 100644 index 278ef60..0000000 --- a/assets/icons/svg/brain-cog.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/assets/icons/svg/check.svg b/assets/icons/svg/check.svg deleted file mode 100644 index b59df74..0000000 --- a/assets/icons/svg/check.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/chevron-left.svg b/assets/icons/svg/chevron-left.svg deleted file mode 100644 index 22473a3..0000000 --- a/assets/icons/svg/chevron-left.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/icons/svg/choice.svg b/assets/icons/svg/choice.svg new file mode 100644 index 0000000..943cd5f --- /dev/null +++ b/assets/icons/svg/choice.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/svg/choicePhoto.svg b/assets/icons/svg/choicePhoto.svg new file mode 100644 index 0000000..20a4896 --- /dev/null +++ b/assets/icons/svg/choicePhoto.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/assets/icons/svg/cloud-upload.svg b/assets/icons/svg/cloud-upload.svg deleted file mode 100644 index fe12768..0000000 --- a/assets/icons/svg/cloud-upload.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/svg/customer-service.svg b/assets/icons/svg/customer-service.svg deleted file mode 100644 index 8275007..0000000 --- a/assets/icons/svg/customer-service.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/svg/decorative.svg b/assets/icons/svg/decorative.svg deleted file mode 100644 index d8d691e..0000000 --- a/assets/icons/svg/decorative.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/assets/icons/svg/delete.svg b/assets/icons/svg/delete.svg deleted file mode 100644 index 6d57316..0000000 --- a/assets/icons/svg/delete.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/done.svg b/assets/icons/svg/done.svg new file mode 100644 index 0000000..1c99375 --- /dev/null +++ b/assets/icons/svg/done.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/svg/download.svg b/assets/icons/svg/download.svg deleted file mode 100644 index 20e347e..0000000 --- a/assets/icons/svg/download.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/svg/error.svg b/assets/icons/svg/error.svg new file mode 100644 index 0000000..aa74610 --- /dev/null +++ b/assets/icons/svg/error.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/assets/icons/svg/eye.svg b/assets/icons/svg/eye.svg deleted file mode 100644 index 0d963a0..0000000 --- a/assets/icons/svg/eye.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/svg/file.svg b/assets/icons/svg/file.svg deleted file mode 100644 index b983f40..0000000 --- a/assets/icons/svg/file.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/gallery.svg b/assets/icons/svg/gallery.svg deleted file mode 100644 index 47804b9..0000000 --- a/assets/icons/svg/gallery.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/svg/handers.svg b/assets/icons/svg/handers.svg new file mode 100644 index 0000000..a9575a0 --- /dev/null +++ b/assets/icons/svg/handers.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/assets/icons/svg/image-plus.svg b/assets/icons/svg/image-plus.svg deleted file mode 100644 index 698a74f..0000000 --- a/assets/icons/svg/image-plus.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/icons/svg/loadingIP.svg b/assets/icons/svg/loadingIP.svg new file mode 100644 index 0000000..e638263 --- /dev/null +++ b/assets/icons/svg/loadingIP.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/svg/logout.svg b/assets/icons/svg/logout.svg deleted file mode 100644 index 8f8315e..0000000 --- a/assets/icons/svg/logout.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/svg/memo-chat.svg b/assets/icons/svg/memo-chat.svg new file mode 100644 index 0000000..007d35e --- /dev/null +++ b/assets/icons/svg/memo-chat.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/svg/memo-ip.svg b/assets/icons/svg/memo-ip.svg new file mode 100644 index 0000000..b3d4af5 --- /dev/null +++ b/assets/icons/svg/memo-ip.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/svg/memory-data.svg b/assets/icons/svg/memory-data.svg deleted file mode 100644 index a6039d2..0000000 --- a/assets/icons/svg/memory-data.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/svg/phone.svg b/assets/icons/svg/phone.svg deleted file mode 100644 index b11b5e6..0000000 --- a/assets/icons/svg/phone.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/svg/photo-count.svg b/assets/icons/svg/photo-count.svg deleted file mode 100644 index e8ebddd..0000000 --- a/assets/icons/svg/photo-count.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/svg/play.svg b/assets/icons/svg/play.svg deleted file mode 100644 index 528d781..0000000 --- a/assets/icons/svg/play.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/plus.svg b/assets/icons/svg/plus.svg deleted file mode 100644 index 46bea28..0000000 --- a/assets/icons/svg/plus.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/recommend.svg b/assets/icons/svg/recommend.svg deleted file mode 100644 index 2b12472..0000000 --- a/assets/icons/svg/recommend.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/svg/send.svg b/assets/icons/svg/send.svg deleted file mode 100644 index c7a9ce4..0000000 --- a/assets/icons/svg/send.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/icons/svg/settings.svg b/assets/icons/svg/settings.svg deleted file mode 100644 index 73f58d3..0000000 --- a/assets/icons/svg/settings.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/svg/share.svg b/assets/icons/svg/share.svg deleted file mode 100644 index 88053aa..0000000 --- a/assets/icons/svg/share.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/icons/svg/shield-check.svg b/assets/icons/svg/shield-check.svg deleted file mode 100644 index 497b799..0000000 --- a/assets/icons/svg/shield-check.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/icons/svg/star-x.svg b/assets/icons/svg/star-x.svg deleted file mode 100644 index b992780..0000000 --- a/assets/icons/svg/star-x.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/icons/svg/star.svg b/assets/icons/svg/star.svg deleted file mode 100644 index 8e9f166..0000000 --- a/assets/icons/svg/star.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/icons/svg/sync-third-party.svg b/assets/icons/svg/sync-third-party.svg deleted file mode 100644 index 5860c95..0000000 --- a/assets/icons/svg/sync-third-party.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/svg/upload-device.svg b/assets/icons/svg/upload-device.svg deleted file mode 100644 index 062ee6c..0000000 --- a/assets/icons/svg/upload-device.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/user-edit.svg b/assets/icons/svg/user-edit.svg deleted file mode 100644 index f365c8d..0000000 --- a/assets/icons/svg/user-edit.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/icons/svg/user-id.svg b/assets/icons/svg/user-id.svg deleted file mode 100644 index b08b236..0000000 --- a/assets/icons/svg/user-id.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/icons/svg/user.svg b/assets/icons/svg/user.svg deleted file mode 100644 index 6f434b5..0000000 --- a/assets/icons/svg/user.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/svg/version.svg b/assets/icons/svg/version.svg deleted file mode 100644 index 2e903c6..0000000 --- a/assets/icons/svg/version.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/svg/video-count.svg b/assets/icons/svg/video-count.svg deleted file mode 100644 index 7a87241..0000000 --- a/assets/icons/svg/video-count.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/svg/video.svg b/assets/icons/svg/video.svg deleted file mode 100644 index d7307f5..0000000 --- a/assets/icons/svg/video.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/wave.svg b/assets/icons/svg/wave.svg deleted file mode 100644 index c6bb7af..0000000 --- a/assets/icons/svg/wave.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/svg/x.svg b/assets/icons/svg/x.svg deleted file mode 100644 index eb194fd..0000000 --- a/assets/icons/svg/x.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/components/login/code.tsx b/components/login/code.tsx index 5b8fb8d..66b66d8 100644 --- a/components/login/code.tsx +++ b/components/login/code.tsx @@ -1,3 +1,4 @@ +import Error from "@/assets/icons/svg/error.svg"; import { fetchApi } from "@/lib/server-api-util"; import { User } from "@/types/user"; import { router } from "expo-router"; @@ -139,10 +140,7 @@ const Code = ({ setSteps, phone }: LoginProps) => { ))} - - - - + {error} diff --git a/components/login/phoneLogin.tsx b/components/login/phoneLogin.tsx index 241e6cf..a509ad9 100644 --- a/components/login/phoneLogin.tsx +++ b/components/login/phoneLogin.tsx @@ -3,19 +3,15 @@ import { View } from "react-native"; import Code from "./code"; import Phone from "./phone"; -interface LoginProps { - updateUrlParam: (status: string, value: string) => void; - setError: (error: string) => void -} export type Steps = "phone" | "code"; -const PhoneLogin = ({ updateUrlParam, setError }: LoginProps) => { +const PhoneLogin = () => { const [steps, setSteps] = useState("phone"); const [phone, setPhone] = useState(''); return { - steps === "phone" ? : + steps === "phone" ? : } } diff --git a/components/login/vetify.tsx b/components/login/vetify.tsx deleted file mode 100644 index 798e013..0000000 --- a/components/login/vetify.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import React, { useRef, useState } from 'react'; -import { Animated, Keyboard, Text, TextInput, TouchableOpacity, View } from 'react-native'; - -const VerificationCodeInput = () => { - const [code, setCode] = useState(['', '', '', '', '', '']); - const refs = useRef([]); - const shakeAnim = useRef(new Animated.Value(0)).current; - - const focusNext = (index, value) => { - if (value && index < 5) { - refs.current[index + 1].focus(); - } - }; - - const focusPrevious = (index, key) => { - if (key === 'Backspace' && index > 0 && !code[index]) { - refs.current[index - 1].focus(); - } - }; - - const handleCodeChange = (text, index) => { - const newCode = [...code]; - newCode[index] = text; - setCode(newCode); - focusNext(index, text); - }; - - const handleSubmit = () => { - const fullCode = code.join(''); - if (fullCode.length === 5) { - Keyboard.dismiss(); - // 这里处理验证逻辑 - console.log('验证码:', fullCode); - } else { - // 抖动动画效果 - Animated.sequence([ - Animated.timing(shakeAnim, { - toValue: 10, - duration: 50, - useNativeDriver: true - }), - Animated.timing(shakeAnim, { - toValue: -10, - duration: 50, - useNativeDriver: true - }), - Animated.timing(shakeAnim, { - toValue: 10, - duration: 50, - useNativeDriver: true - }), - Animated.timing(shakeAnim, { - toValue: 0, - duration: 50, - useNativeDriver: true - }) - ]).start(); - } - }; - - const handleClear = () => { - setCode(['', '', '', '', '']); - refs.current[0].focus(); - }; - - return ( - - - {code.map((digit, index) => ( - refs.current[index] = ref} - className="w-16 h-16 bg-[#FFF8DE] rounded-xl text-textTertiary text-3xl text-center" - keyboardType="number-pad" - maxLength={1} - value={digit} - onChangeText={text => handleCodeChange(text, index)} - onKeyPress={({ nativeEvent: { key } }) => focusPrevious(index, key)} - selectTextOnFocus - caretHidden={true} - /> - ))} - - - - - 清除 - - - - 验证 - - - - - 未收到验证码? - - 重新发送 - - - - ); -}; - -export default VerificationCodeInput; \ No newline at end of file diff --git a/components/user-message.tsx/choice.tsx b/components/user-message.tsx/choice.tsx index 8f020e0..962d94d 100644 --- a/components/user-message.tsx/choice.tsx +++ b/components/user-message.tsx/choice.tsx @@ -1,8 +1,8 @@ import { Steps } from '@/app/(tabs)/user-message'; +import ChoiceSvg from '@/assets/icons/svg/choice.svg'; import { ThemedText } from '@/components/ThemedText'; import { useState } from 'react'; import { TouchableOpacity, View } from 'react-native'; - interface Props { setSteps: (steps: Steps) => void; } @@ -72,50 +72,7 @@ export default function Choice({ setSteps }: Props) { {/* Fixed Header */} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Every memory matters. diff --git a/components/user-message.tsx/done.tsx b/components/user-message.tsx/done.tsx index e00b604..e61e3dc 100644 --- a/components/user-message.tsx/done.tsx +++ b/components/user-message.tsx/done.tsx @@ -1,4 +1,5 @@ import { Steps } from '@/app/(tabs)/user-message'; +import DoneSvg from '@/assets/icons/svg/done.svg'; import { useTranslation } from 'react-i18next'; import { TouchableOpacity, View } from 'react-native'; import { ThemedText } from '../ThemedText'; @@ -20,48 +21,7 @@ export default function Done(props: Props) { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + {/* Next Button */} { - fileData?.[0]?.thumbnailUrl - ? - - : - avatar - ? + (() => { + const imageSource = fileData?.[0]?.thumbnailUrl || avatar; + + if (!imageSource) { + return ; + } + + return ( - : - - - - + ); + })() } { setIsModalVisible(true) }} > - - - - + {t('auth.userMessage.choosePhoto', { ns: 'login' })} diff --git a/i18n/locales/en/login.json b/i18n/locales/en/login.json index 75d4c9c..ea568c7 100644 --- a/i18n/locales/en/login.json +++ b/i18n/locales/en/login.json @@ -1,5 +1,16 @@ { "auth": { + "welcomeAwaken": { + "hi": "Hi!", + "memo": "I'm Memo", + "awaken": "Awaken", + "your": "Your", + "pm": "precious memories", + "slogan": "let every moment speak and feel alive", + "gallery": "I live deep inside your photo gallery, ", + "back": "waiting for you to bring me back...", + "awake": "Awake your Memo" + }, "userMessage": { "title": "Choose Username", "username": "Username", diff --git a/i18n/locales/zh/login.json b/i18n/locales/zh/login.json index 58edc9f..fa391b5 100644 --- a/i18n/locales/zh/login.json +++ b/i18n/locales/zh/login.json @@ -1,5 +1,16 @@ { "auth": { + "welcomeAwaken": { + "hi": "Hi!", + "memo": "I'm Memo", + "awaken": "Awaken", + "your": "Your", + "pm": "precious memories", + "slogan": "let every moment speak and feel alive", + "gallery": "I live deep inside your photo gallery, ", + "back": "waiting for you to bring me back...", + "awake": "Awake your Memo" + }, "userMessage": { "title": "设置用户名", "username": "用户名",