Skip to content

Commit dac55f0

Browse files
committed
feat(ui): add classic frontend switch
1 parent 938dc95 commit dac55f0

9 files changed

Lines changed: 86 additions & 0 deletions

File tree

web/classic/src/components/settings/OtherSetting.jsx

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ const OtherSetting = () => {
8282
About: false,
8383
Footer: false,
8484
CheckUpdate: false,
85+
FrontendTheme: false,
8586
});
8687
const handleInputChange = async (value, e) => {
8788
const name = e.target.id;
@@ -278,6 +279,45 @@ const OtherSetting = () => {
278279
}));
279280
}
280281
};
282+
283+
const switchToDefaultFrontend = () => {
284+
Modal.confirm({
285+
title: t('切换到新版前端'),
286+
content: t('切换后页面会自动刷新,并进入新版前端。是否继续?'),
287+
okText: t('确认切换'),
288+
cancelText: t('取消'),
289+
onOk: async () => {
290+
try {
291+
setLoadingInput((loadingInput) => ({
292+
...loadingInput,
293+
FrontendTheme: true,
294+
}));
295+
const res = await API.put('/api/option/', {
296+
key: 'theme.frontend',
297+
value: 'default',
298+
});
299+
const { success, message } = res.data;
300+
if (!success) {
301+
showError(message);
302+
return;
303+
}
304+
showSuccess(t('已切换到新版前端,正在刷新页面'));
305+
setTimeout(() => {
306+
window.location.reload();
307+
}, 600);
308+
} catch (error) {
309+
console.error('切换新版前端失败', error);
310+
showError(t('切换失败,请稍后重试'));
311+
} finally {
312+
setLoadingInput((loadingInput) => ({
313+
...loadingInput,
314+
FrontendTheme: false,
315+
}));
316+
}
317+
},
318+
});
319+
};
320+
281321
const getOptions = async () => {
282322
const res = await API.get('/api/option/');
283323
const { success, message, data } = res.data;
@@ -342,6 +382,12 @@ const OtherSetting = () => {
342382
>
343383
{t('检查更新')}
344384
</Button>
385+
<Button
386+
onClick={switchToDefaultFrontend}
387+
loading={loadingInput['FrontendTheme']}
388+
>
389+
{t('切换到新版前端')}
390+
</Button>
345391
</Space>
346392
</Col>
347393
</Row>

web/classic/src/i18n/locales/en.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -928,6 +928,9 @@
928928
"取消": "Cancel",
929929
"取消全选": "Deselect all",
930930
"取消选择": "Deselect",
931+
"切换到新版前端": "Switch to new frontend",
932+
"切换后页面会自动刷新,并进入新版前端。是否继续?": "The page will refresh and open the new frontend. Continue?",
933+
"切换失败,请稍后重试": "Switch failed, please try again later",
931934
"变换": "Transform",
932935
"变更": "Change",
933936
"变焦": "zoom",
@@ -1357,6 +1360,7 @@
13571360
"已发起支付": "Payment initiated",
13581361
"已发送到 Fluent": "Sent to Fluent",
13591362
"已取消 Passkey 注册": "Passkey registration cancelled",
1363+
"已切换到新版前端,正在刷新页面": "Switched to the new frontend, refreshing page",
13601364
"已同步到渠道": "Synced to Channel",
13611365
"已启用": "Enabled",
13621366
"已启用 Passkey,无需密码即可登录": "Passkey enabled, login without password",
@@ -2525,6 +2529,7 @@
25252529
"确认删除该规则?": "Confirm delete this rule?",
25262530
"确认取消密码登录": "Confirm cancel password login",
25272531
"确认启用": "Confirm Enable",
2532+
"确认切换": "Confirm switch",
25282533
"确认密码": "Confirm Password",
25292534
"确认导入配置": "Confirm import configuration",
25302535
"确认延长": "Confirm Extension",

web/classic/src/i18n/locales/fr.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -926,6 +926,9 @@
926926
"取消": "Annuler",
927927
"取消全选": "Annuler la sélection",
928928
"取消选择": "Deselect",
929+
"切换到新版前端": "Passer au nouveau frontend",
930+
"切换后页面会自动刷新,并进入新版前端。是否继续?": "La page sera actualisée et ouvrira le nouveau frontend. Continuer ?",
931+
"切换失败,请稍后重试": "Le changement a échoué, veuillez réessayer plus tard",
929932
"变换": "Variation",
930933
"变更": "Modification",
931934
"变焦": "Zoom",
@@ -1358,6 +1361,7 @@
13581361
"已发起支付": "Paiement initié",
13591362
"已发送到 Fluent": "Envoyé à Fluent",
13601363
"已取消 Passkey 注册": "Enregistrement du Passkey annulé",
1364+
"已切换到新版前端,正在刷新页面": "Passage au nouveau frontend effectué, actualisation de la page",
13611365
"已同步到渠道": "Synced to Channel",
13621366
"已启用": "Activé",
13631367
"已启用 Passkey,无需密码即可登录": "Passkey activé. Connexion sans mot de passe disponible.",
@@ -2513,6 +2517,7 @@
25132517
"确认删除该规则?": "Confirm delete this rule?",
25142518
"确认取消密码登录": "Confirmer l'annulation de la connexion par mot de passe",
25152519
"确认启用": "Confirmer l'activation",
2520+
"确认切换": "Confirmer le changement",
25162521
"确认密码": "Confirmer le mot de passe",
25172522
"确认导入配置": "Confirmer l'importation de la configuration",
25182523
"确认延长": "Confirm Extension",

web/classic/src/i18n/locales/ja.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,9 @@
913913
"取消": "キャンセル",
914914
"取消全选": "すべての選択を解除",
915915
"取消选择": "Deselect",
916+
"切换到新版前端": "新しいフロントエンドに切り替え",
917+
"切换后页面会自动刷新,并进入新版前端。是否继续?": "ページを更新して新しいフロントエンドを開きます。続行しますか?",
918+
"切换失败,请稍后重试": "切り替えに失敗しました。しばらくしてからもう一度お試しください",
916919
"变换": "バリエーション",
917920
"变更": "変更",
918921
"变焦": "ズーム",
@@ -1337,6 +1340,7 @@
13371340
"已发起支付": "支払いを開始しました",
13381341
"已发送到 Fluent": "Fluentに送信されました",
13391342
"已取消 Passkey 注册": "Passkeyの登録がキャンセルされました",
1343+
"已切换到新版前端,正在刷新页面": "新しいフロントエンドに切り替えました。ページを更新しています",
13401344
"已同步到渠道": "Synced to Channel",
13411345
"已启用": "有効",
13421346
"已启用 Passkey,无需密码即可登录": "Passkeyが有効になり、パスワードなしでログインできます",
@@ -2482,6 +2486,7 @@
24822486
"确认删除该规则?": "このルールを削除しますか?",
24832487
"确认取消密码登录": "パスワードログイン無効化の確認",
24842488
"确认启用": "有効化を確認",
2489+
"确认切换": "切り替えを確認",
24852490
"确认密码": "パスワード(確認用)",
24862491
"确认导入配置": "設定インポートの確認",
24872492
"确认延长": "Confirm Extension",

web/classic/src/i18n/locales/ru.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -934,6 +934,9 @@
934934
"取消": "Отмена",
935935
"取消全选": "Отменить выбор всех",
936936
"取消选择": "Deselect",
937+
"切换到新版前端": "Переключиться на новый интерфейс",
938+
"切换后页面会自动刷新,并进入新版前端。是否继续?": "Страница обновится и откроет новый интерфейс. Продолжить?",
939+
"切换失败,请稍后重试": "Не удалось переключиться, повторите попытку позже",
937940
"变换": "Трансформация",
938941
"变更": "Изменение",
939942
"变焦": "Масштабирование",
@@ -1371,6 +1374,7 @@
13711374
"已发起支付": "Оплата инициирована",
13721375
"已发送到 Fluent": "Отправлено в Fluent",
13731376
"已取消 Passkey 注册": "Регистрация Passkey отменена",
1377+
"已切换到新版前端,正在刷新页面": "Переключено на новый интерфейс, страница обновляется",
13741378
"已同步到渠道": "Synced to Channel",
13751379
"已启用": "Включено",
13761380
"已启用 Passkey,无需密码即可登录": "Passkey включен, вход без пароля",
@@ -2533,6 +2537,7 @@
25332537
"确认删除该规则?": "Confirm delete this rule?",
25342538
"确认取消密码登录": "Подтвердить отмену входа по паролю",
25352539
"确认启用": "Подтвердить включение",
2540+
"确认切换": "Подтвердить переключение",
25362541
"确认密码": "Подтвердить пароль",
25372542
"确认导入配置": "Подтвердить импорт конфигурации",
25382543
"确认延长": "Confirm Extension",

web/classic/src/i18n/locales/vi.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,9 @@
914914
"取消": "Hủy",
915915
"取消全选": "Bỏ chọn tất cả",
916916
"取消选择": "Deselect",
917+
"切换到新版前端": "Chuyển sang frontend mới",
918+
"切换后页面会自动刷新,并进入新版前端。是否继续?": "Trang sẽ được làm mới và mở frontend mới. Tiếp tục?",
919+
"切换失败,请稍后重试": "Chuyển đổi thất bại, vui lòng thử lại sau",
917920
"变换": "Biến đổi",
918921
"变更": "Thay đổi",
919922
"变焦": "thu phóng",
@@ -1338,6 +1341,7 @@
13381341
"已发起支付": "Đã khởi tạo thanh toán",
13391342
"已发送到 Fluent": "Đã gửi đến Fluent",
13401343
"已取消 Passkey 注册": "Đã hủy đăng ký Passkey",
1344+
"已切换到新版前端,正在刷新页面": "Đã chuyển sang frontend mới, đang làm mới trang",
13411345
"已同步到渠道": "Synced to Channel",
13421346
"已启用": "Đã bật",
13431347
"已启用 Passkey,无需密码即可登录": "Đã bật Passkey, đăng nhập không cần mật khẩu",
@@ -2710,6 +2714,7 @@
27102714
"确认删除该规则?": "Confirm delete this rule?",
27112715
"确认取消密码登录": "Xác nhận hủy đăng nhập mật khẩu",
27122716
"确认启用": "Xác nhận bật",
2717+
"确认切换": "Xác nhận chuyển đổi",
27132718
"确认密码": "Xác nhận mật khẩu",
27142719
"确认导入配置": "Xác nhận nhập cấu hình",
27152720
"确认延长": "Confirm Extension",

web/classic/src/i18n/locales/zh-CN.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -761,6 +761,9 @@
761761
"分组速率配置优先级高于全局速率限制。": "分组速率配置优先级高于全局速率限制。",
762762
"分组速率限制": "分组速率限制",
763763
"分钟": "分钟",
764+
"切换到新版前端": "切换到新版前端",
765+
"切换后页面会自动刷新,并进入新版前端。是否继续?": "切换后页面会自动刷新,并进入新版前端。是否继续?",
766+
"切换失败,请稍后重试": "切换失败,请稍后重试",
764767
"切换为Assistant角色": "切换为Assistant角色",
765768
"切换为System角色": "切换为System角色",
766769
"切换为单密钥模式": "切换为单密钥模式",
@@ -1307,6 +1310,7 @@
13071310
"已停止批量测试": "已停止批量测试",
13081311
"已关闭后续提醒": "已关闭后续提醒",
13091312
"已分配内存": "已分配内存",
1313+
"已切换到新版前端,正在刷新页面": "已切换到新版前端,正在刷新页面",
13101314
"已切换为Assistant角色": "已切换为Assistant角色",
13111315
"已切换为System角色": "已切换为System角色",
13121316
"已切换至最优倍率视图,每个模型使用其最低倍率分组": "已切换至最优倍率视图,每个模型使用其最低倍率分组",
@@ -2482,6 +2486,7 @@
24822486
"确认删除该规则?": "确认删除该规则?",
24832487
"确认取消密码登录": "确认取消密码登录",
24842488
"确认启用": "确认启用",
2489+
"确认切换": "确认切换",
24852490
"确认密码": "确认密码",
24862491
"确认导入配置": "确认导入配置",
24872492
"确认延长": "确认延长",

web/classic/src/i18n/locales/zh-TW.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,9 @@
911911
"取消": "取消",
912912
"取消全选": "取消全選",
913913
"取消选择": "取消選擇",
914+
"切换到新版前端": "切換到新版前端",
915+
"切换后页面会自动刷新,并进入新版前端。是否继续?": "切換後頁面會自動重新整理,並進入新版前端。是否繼續?",
916+
"切换失败,请稍后重试": "切換失敗,請稍後重試",
914917
"变换": "變換",
915918
"变更": "變更",
916919
"变焦": "變焦",
@@ -1334,6 +1337,7 @@
13341337
"已发起支付": "已發起支付",
13351338
"已发送到 Fluent": "已發送到 Fluent",
13361339
"已取消 Passkey 注册": "已取消 Passkey 註冊",
1340+
"已切换到新版前端,正在刷新页面": "已切換到新版前端,正在重新整理頁面",
13371341
"已同步到渠道": "已同步到管道",
13381342
"已启用": "已啟用",
13391343
"已启用 Passkey,无需密码即可登录": "已啟用 Passkey,無需密碼即可登錄",
@@ -2492,6 +2496,7 @@
24922496
"确认删除该规则?": "確認刪除該規則?",
24932497
"确认取消密码登录": "確認取消密碼登錄",
24942498
"确认启用": "",
2499+
"确认切换": "確認切換",
24952500
"确认密码": "確認密碼",
24962501
"确认导入配置": "確認導入設定",
24972502
"确认延长": "確認延長",

web/classic/src/i18n/locales/zh.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,9 @@
617617
"取消": "取消",
618618
"取消全选": "取消全选",
619619
"取消选择": "取消选择",
620+
"切换到新版前端": "切换到新版前端",
621+
"切换后页面会自动刷新,并进入新版前端。是否继续?": "切换后页面会自动刷新,并进入新版前端。是否继续?",
622+
"切换失败,请稍后重试": "切换失败,请稍后重试",
620623
"变换": "变换",
621624
"变焦": "变焦",
622625
"变量值": "变量值",
@@ -903,6 +906,7 @@
903906
"已删除消息及其回复": "已删除消息及其回复",
904907
"已发送到 Fluent": "已发送到 Fluent",
905908
"已取消 Passkey 注册": "已取消 Passkey 注册",
909+
"已切换到新版前端,正在刷新页面": "已切换到新版前端,正在刷新页面",
906910
"已同步到渠道": "已同步到渠道",
907911
"已启用": "已启用",
908912
"已启用 Passkey,无需密码即可登录": "已启用 Passkey,无需密码即可登录",
@@ -1729,6 +1733,7 @@
17291733
"确认删除": "确认删除",
17301734
"确认删除模型": "确认删除模型",
17311735
"确认取消密码登录": "确认取消密码登录",
1736+
"确认切换": "确认切换",
17321737
"确认密码": "确认密码",
17331738
"确认导入配置": "确认导入配置",
17341739
"确认延长": "确认延长",

0 commit comments

Comments
 (0)