diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 44cdf237..57e53338 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -9,12 +9,14 @@ "logout": "Log Out", "change_avatar": "Change Avatar", "cancel": "Cancel", + "dismiss": "Dismiss", "search": "Search", "new_channel": "New Channel", "new_private_channel": "New Private Channel", "new_msg": "New Message", "invite_people": "Invite People", "create": "Create", + "open": "Open", "update": "Update", "upload": "Upload", "done": "Done", @@ -41,5 +43,7 @@ }, "status": { "uploading": "Uploading" - } + }, + "new_version": "<0>New Version0> Available", + "mobile_app": "Check out our <0>Mobile APP0>" } diff --git a/public/locales/zh/common.json b/public/locales/zh/common.json index 24027df2..25e0fc6c 100644 --- a/public/locales/zh/common.json +++ b/public/locales/zh/common.json @@ -9,12 +9,14 @@ "logout": "退出登录", "change_avatar": "修改头像", "cancel": "取消", + "dismiss": "关闭", "new_channel": "新建频道", "new_private_channel": "新建私有频道", "new_msg": "发消息", "invite_people": "邀请TA人", "search": "搜索", "create": "创建", + "open": "打开", "update": "更新", "upload": "上传", "done": "完成", @@ -42,5 +44,7 @@ }, "status": { "uploading": "上传中" - } + }, + "new_version": "有<0>新版本0>", + "mobile_app": "欢迎下载使用<0>手机APP0>" } diff --git a/src/app/config.ts b/src/app/config.ts index 184dcbcc..4a429dec 100644 --- a/src/app/config.ts +++ b/src/app/config.ts @@ -60,6 +60,7 @@ export const vapidKey = `BOmzyZhw-DcIGYQ77mzQUVqLlcvn0bm_76P_kc7rpwRxzXNbui-JP8i export const tokenHeader = "X-API-Key"; export const FILE_SLICE_SIZE = 1000 * 200 * 8; //200kb export const FILE_IMAGE_SIZE = 1000 * 10000 * 8; //10mb +export const KEY_MOBILE_APP_TIP = "MOBILE_APP_TIP"; export const KEY_LOGIN_USER = "VOCECHAT_LOGIN_USER"; export const KEY_TOKEN = "VOCECHAT_TOKEN"; export const KEY_EXPIRE = "VOCECHAT_TOKEN_EXPIRE"; diff --git a/src/common/component/MobileAppTip.tsx b/src/common/component/MobileAppTip.tsx new file mode 100644 index 00000000..3cc2154f --- /dev/null +++ b/src/common/component/MobileAppTip.tsx @@ -0,0 +1,56 @@ +import { FC, useState, useEffect } from "react"; +import toast from "react-hot-toast"; +import { Trans, useTranslation } from "react-i18next"; +import { KEY_MOBILE_APP_TIP } from "../../app/config"; +import Button from "./styled/Button"; + +interface ContainerProps { + id: string; +} +const Container = (props: ContainerProps) => { + const { id } = props; + const { t } = useTranslation(); + const handleOpen = () => { + localStorage.removeItem(KEY_MOBILE_APP_TIP); + toast.dismiss(id); + window.open("https://voce.chat#download"); + }; + const handleClose = () => { + localStorage.removeItem(KEY_MOBILE_APP_TIP); + toast.dismiss(id); + }; + return