From 5766a50bc2e962543be38b00da9234c60f7a4eb8 Mon Sep 17 00:00:00 2001 From: jialin Date: Tue, 8 Apr 2025 16:32:40 +0800 Subject: [PATCH] chore: add changes tips --- src/components/alert-info/block.tsx | 2 +- src/components/modal-footer/index.tsx | 46 +++++++++++++------ src/locales/en-US/models.ts | 4 +- src/locales/en-US/resources.ts | 2 +- src/locales/ja-JP/models.ts | 5 +- src/locales/ja-JP/resources.ts | 2 +- src/locales/ru-RU/models.ts | 8 +++- src/locales/ru-RU/resources.ts | 2 +- src/locales/zh-CN/models.ts | 3 +- src/locales/zh-CN/resources.ts | 4 +- .../llmodels/components/compatible-alert.tsx | 3 +- .../llmodels/components/update-modal.tsx | 33 ++++++++----- src/pages/llmodels/hooks/index.ts | 1 - .../components/container-install.tsx | 8 ++-- .../resources/components/script-install.tsx | 4 +- 15 files changed, 82 insertions(+), 45 deletions(-) diff --git a/src/components/alert-info/block.tsx b/src/components/alert-info/block.tsx index 9c50003c..84e2b3f4 100644 --- a/src/components/alert-info/block.tsx +++ b/src/components/alert-info/block.tsx @@ -13,7 +13,7 @@ interface AlertInfoProps { ellipsis?: boolean; style?: React.CSSProperties; contentStyle?: React.CSSProperties; - title: React.ReactNode; + title?: React.ReactNode; } const TitleWrapper = styled.div` diff --git a/src/components/modal-footer/index.tsx b/src/components/modal-footer/index.tsx index 2e437378..55ff0301 100644 --- a/src/components/modal-footer/index.tsx +++ b/src/components/modal-footer/index.tsx @@ -1,6 +1,7 @@ import { useIntl } from '@umijs/max'; import { Button, Space } from 'antd'; import React from 'react'; +import styled from 'styled-components'; type ModalFooterProps = { onOk?: () => void; @@ -16,7 +17,16 @@ type ModalFooterProps = { showCancelBtn?: boolean; extra?: React.ReactNode; form?: any; + description?: React.ReactNode; }; + +const Wrapper = styled.div` + display: flex; + justify-content: space-between; + align-items: center; + gap: 20px; +`; + const ModalFooter: React.FC = ({ onOk, onCancel, @@ -28,29 +38,37 @@ const ModalFooter: React.FC = ({ htmlType = 'button', style, showOkBtn = true, + description, extra, form }) => { const intl = useIntl(); return ( - - - {extra} - {showOkBtn && ( + +
{description}
+ - )} - + {extra} + {showOkBtn && ( + + )} +
+ ); }; diff --git a/src/locales/en-US/models.ts b/src/locales/en-US/models.ts index fb3a1a73..cf13cf87 100644 --- a/src/locales/en-US/models.ts +++ b/src/locales/en-US/models.ts @@ -130,5 +130,7 @@ export default { 'models.form.check.params': 'Checking configuration...', 'models.form.check.passed': 'Compatibility Check Passed', 'models.form.check.claims': - 'The model requires approximately {vram} VRAM and {ram} RAM.' + 'The model requires approximately {vram} VRAM and {ram} RAM.', + 'models.form.update.tips': + 'Changes will only apply after you delete and recreate the instance.' }; diff --git a/src/locales/en-US/resources.ts b/src/locales/en-US/resources.ts index bcb9a313..bfa7e052 100644 --- a/src/locales/en-US/resources.ts +++ b/src/locales/en-US/resources.ts @@ -45,7 +45,7 @@ export default { 'Get Token (Run on the server)', 'resources.worker.add.step2': 'Register Worker', 'resources.worker.add.step2.tips': - '(Run on the worker to be added, mytoken is the token obtained in the first step.)', + '(Run on the worker to be added, token is the token obtained in the first step.)', 'resources.worker.add.step3': 'After success, refresh the workers list to view the new worker.', 'resources.worker.container.supported': 'Do not support macOS or Windows.', diff --git a/src/locales/ja-JP/models.ts b/src/locales/ja-JP/models.ts index 11cfecdf..3935b332 100644 --- a/src/locales/ja-JP/models.ts +++ b/src/locales/ja-JP/models.ts @@ -127,7 +127,9 @@ export default { 'models.form.check.params': 'Checking configuration...', 'models.form.check.passed': 'Compatibility Check Passed', 'models.form.check.claims': - 'The model requires approximately {vram} VRAM and {ram} RAM.' + 'The model requires approximately {vram} VRAM and {ram} RAM.', + 'models.form.update.tips': + 'Changes will only apply after you delete and recreate the instance.' }; // ========== To-Do: Translate Keys (Remove After Translation) ========== @@ -144,4 +146,5 @@ export default { // 11. 'models.form.check.passed', // 12. 'models.form.check.claims', // 13. 'model.deploy.search.placeholder', +// 14. 'models.form.update.tips // ========== End of To-Do List ========== diff --git a/src/locales/ja-JP/resources.ts b/src/locales/ja-JP/resources.ts index 697a451b..c6213805 100644 --- a/src/locales/ja-JP/resources.ts +++ b/src/locales/ja-JP/resources.ts @@ -45,7 +45,7 @@ export default { 'Get Token (Run on the server)', 'resources.worker.add.step2': 'ワーカーを登録', 'resources.worker.add.step2.tips': - '(Run on the worker to be added, mytoken is the token obtained in the first step.)', + '(Run on the worker to be added, token is the token obtained in the first step.)', 'resources.worker.add.step3': '成功後、ワーカーリストを更新して新しいワーカーを確認してください。', 'resources.worker.container.supported': diff --git a/src/locales/ru-RU/models.ts b/src/locales/ru-RU/models.ts index 2bb8d798..1a291304 100644 --- a/src/locales/ru-RU/models.ts +++ b/src/locales/ru-RU/models.ts @@ -129,11 +129,15 @@ export default { 'При возникновении ошибки система автоматически попытается перезапуститься.', 'models.form.check.params': 'Проверка конфигурации...', 'models.form.check.passed': 'Compatibility Check Passed', - 'models.form.check.claims': 'Модель требует примерно {vram} VRAM и {ram} RAM.' + 'models.form.check.claims': + 'Модель требует примерно {vram} VRAM и {ram} RAM.', + 'models.form.update.tips': + 'Changes will only apply after you delete and recreate the instance.' }; // ========== To-Do: Translate Keys (Remove After Translation) ========== // 1. 'models.form.check.passed', // 2. 'models.form.partialoffload.tips -// 3. 'model.deploy.search.placeholder' +// 3. 'model.deploy.search.placeholder', +// 4. 'models.form.update.tips', // ========== End of To-Do List ========== diff --git a/src/locales/ru-RU/resources.ts b/src/locales/ru-RU/resources.ts index 1fd23676..e010c817 100644 --- a/src/locales/ru-RU/resources.ts +++ b/src/locales/ru-RU/resources.ts @@ -45,7 +45,7 @@ export default { 'Получить токен (Запустить на сервере)', 'resources.worker.add.step2': 'Зарегистрировать воркер', 'resources.worker.add.step2.tips': - '(выполнить на подключаемом воркере, mytoken это токен, полученный на первом шаге)', + '(выполнить на подключаемом воркере, token это токен, полученный на первом шаге)', 'resources.worker.add.step3': 'После успешной регистрации обновите список воркеров.', 'resources.worker.container.supported': 'Только для Linux.', diff --git a/src/locales/zh-CN/models.ts b/src/locales/zh-CN/models.ts index 4f61caa4..99699141 100644 --- a/src/locales/zh-CN/models.ts +++ b/src/locales/zh-CN/models.ts @@ -122,5 +122,6 @@ export default { 'models.form.restart.onerror.tips': '当发生错误时,将自动尝试恢复', 'models.form.check.params': '正在校验配置...', 'models.form.check.passed': '兼容性检查通过', - 'models.form.check.claims': '该模型大约需要 {vram} 显存和 {ram} 内存。' + 'models.form.check.claims': '该模型大约需要 {vram} 显存和 {ram} 内存。', + 'models.form.update.tips': '更改仅在删除并重新创建实例后生效。' }; diff --git a/src/locales/zh-CN/resources.ts b/src/locales/zh-CN/resources.ts index 2ef59474..dc9960aa 100644 --- a/src/locales/zh-CN/resources.ts +++ b/src/locales/zh-CN/resources.ts @@ -42,10 +42,10 @@ export default { 'resources.table.unified': '统一内存', 'resources.worker.linuxormaxos': 'Linux 或 macOS', 'resources.worker.add.step1': - '获取 token(在 Server 上运行)', + '获取 Token(在 Server 上运行)', 'resources.worker.add.step2': '注册 Worker', 'resources.worker.add.step2.tips': - '(在需要添加的 Worker 上运行,mytoken 为第一步获取到的 token)', + '(在需要添加的 Worker 上运行,token 为第一步获取到的 token)', 'resources.worker.add.step3': '成功后,刷新 Worker 列表即可看到新的 Worker', 'resources.worker.container.supported': '不支持 macOS 和 Windows', 'resources.worker.current.version': '当前版本为 {version}', diff --git a/src/pages/llmodels/components/compatible-alert.tsx b/src/pages/llmodels/components/compatible-alert.tsx index de9da069..d01166ea 100644 --- a/src/pages/llmodels/components/compatible-alert.tsx +++ b/src/pages/llmodels/components/compatible-alert.tsx @@ -29,8 +29,9 @@ const DivWrapper = styled.div` const CloseWrapper = styled.div` position: absolute; - top: 10px; + top: 12px; right: 18px; + line-height: 1; cursor: pointer; background-color: var(--ant-color-warning-bg); `; diff --git a/src/pages/llmodels/components/update-modal.tsx b/src/pages/llmodels/components/update-modal.tsx index 414d1021..73bac745 100644 --- a/src/pages/llmodels/components/update-modal.tsx +++ b/src/pages/llmodels/components/update-modal.tsx @@ -56,6 +56,7 @@ const UpdateModal: React.FC = (props) => { onCancel, updateFormInitials: { gpuOptions, isGGUF, data: formData } } = props || {}; + const intl = useIntl(); const { setWarningStatus, generateGPUIds, @@ -63,9 +64,9 @@ const UpdateModal: React.FC = (props) => { checkTokenRef, warningStatus } = useCheckCompatibility(); + const { getRuleMessage } = useAppUtils(); const [form] = Form.useForm(); - const intl = useIntl(); const localPathCache = useRef(''); const submitAnyway = useRef(false); @@ -353,6 +354,12 @@ const UpdateModal: React.FC = (props) => { useEffect(() => { if (open && formData) { form.setFieldsValue(formData); + setWarningStatus({ + show: true, + message: intl.formatMessage({ + id: 'models.form.update.tips' + }) + }); } if (!open) { checkTokenRef.current?.cancel?.(); @@ -426,17 +433,19 @@ const UpdateModal: React.FC = (props) => { : 0 } footer={ - { - setWarningStatus({ - show: false, - message: '' - }); - }} - warningStatus={warningStatus} - contentStyle={{ paddingInline: 0 }} - > + <> + { + setWarningStatus({ + show: false, + message: '' + }); + }} + warningStatus={warningStatus} + contentStyle={{ paddingInline: 0 }} + > + } > { export const useCheckCompatibility = () => { const intl = useIntl(); - const cacheFormValuesRef = useRef({}); const checkTokenRef = useRef(null); const submitAnyway = useRef(false); diff --git a/src/pages/resources/components/container-install.tsx b/src/pages/resources/components/container-install.tsx index 7b8e1b25..847e6b17 100644 --- a/src/pages/resources/components/container-install.tsx +++ b/src/pages/resources/components/container-install.tsx @@ -31,15 +31,15 @@ const AddWorker: React.FC = (props) => { return commandCode?.registerWorker({ server: origin, tag: version, - token: '${mytoken}', - workerip: '${myworkerip}' + token: '${token}', + workerip: '${workerip}' }); } return commandCode?.registerWorker({ server: origin, tag: `${version}-${activeKey}`, - token: '${mytoken}', - workerip: '${myworkerip}' + token: '${token}', + workerip: '${workerip}' }); }, [versionInfo, activeKey, props.token]); diff --git a/src/pages/resources/components/script-install.tsx b/src/pages/resources/components/script-install.tsx index eb4c778c..cdbabe3c 100644 --- a/src/pages/resources/components/script-install.tsx +++ b/src/pages/resources/components/script-install.tsx @@ -50,7 +50,7 @@ const AddWorker: React.FC = (props) => { @@ -59,7 +59,7 @@ const AddWorker: React.FC = (props) => { theme="dark" code={addWorkerGuide.win.registerWorker({ server: origin, - token: '${mytoken}' + token: '${token}' })} >

3. {labels.step3}