From 7a506a3f1ea0e9204ab0b25bea9cc46cc70e2967 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 29 Nov 2024 17:01:55 +0800 Subject: [PATCH 01/52] feat: basic style and logic of modal --- .../detail/[name]/components/BasicInfo.tsx | 1 + .../providers/devbox/components/IDEButton.tsx | 43 ++- .../devbox/components/Icon/icons/download.svg | 2 +- .../components/Icon/icons/jetbrains.svg | 1 + .../devbox/components/Icon/index.tsx | 3 +- .../components/modals/jetbrainsGuideModal.tsx | 315 ++++++++++++++++++ frontend/providers/devbox/message/en.json | 17 + frontend/providers/devbox/message/zh.json | 17 + .../devbox/public/images/jetbrains/step1.png | Bin 0 -> 98927 bytes .../public/images/jetbrains/step2-3.png | Bin 0 -> 102837 bytes .../public/images/jetbrains/step3-3.png | Bin 0 -> 100523 bytes .../public/images/jetbrains/step3-4.png | Bin 0 -> 123923 bytes .../public/images/jetbrains/step3-5.png | Bin 0 -> 87413 bytes frontend/providers/devbox/stores/global.ts | 2 + 14 files changed, 394 insertions(+), 7 deletions(-) create mode 100644 frontend/providers/devbox/components/Icon/icons/jetbrains.svg create mode 100644 frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx create mode 100644 frontend/providers/devbox/public/images/jetbrains/step1.png create mode 100644 frontend/providers/devbox/public/images/jetbrains/step2-3.png create mode 100644 frontend/providers/devbox/public/images/jetbrains/step3-3.png create mode 100644 frontend/providers/devbox/public/images/jetbrains/step3-4.png create mode 100644 frontend/providers/devbox/public/images/jetbrains/step3-5.png diff --git a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx index 31e33b8597c..0f215993fe8 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx @@ -202,6 +202,7 @@ const BasicInfo = () => { handleDownloadConfig(devboxDetail?.sshConfig)} diff --git a/frontend/providers/devbox/components/IDEButton.tsx b/frontend/providers/devbox/components/IDEButton.tsx index e946fb42024..19c5b1c272a 100644 --- a/frontend/providers/devbox/components/IDEButton.tsx +++ b/frontend/providers/devbox/components/IDEButton.tsx @@ -19,6 +19,7 @@ import { useEnvStore } from '@/stores/env' import { useIDEStore, IDEType } from '@/stores/ide' import { DevboxStatusMapType } from '@/types/devbox' import { getSSHConnectionInfo, getSSHRuntimeInfo } from '@/api/devbox' +import JetBrainsGuideModal from './modals/jetbrainsGuideModal' interface Props { devboxName: string @@ -43,18 +44,23 @@ const IDEButton = ({ const { env } = useEnvStore() const { message: toast } = useMessage() - const [loading, setLoading] = useState(false) const { getDevboxIDEByDevboxName, updateDevboxIDE } = useIDEStore() + + const [loading, setLoading] = useState(false) + const [jetbrainsGuideData, setJetBrainsGuideData] = useState(null) + const [onOpenJetbrainsModal, setOnOpenJetbrainsModal] = useState(false) const currentIDE = getDevboxIDEByDevboxName(devboxName) as IDEType const handleGotoIDE = useCallback( async (currentIDE: IDEType = 'cursor') => { setLoading(true) - toast({ - title: t('opening_ide'), - status: 'info' - }) + if (currentIDE !== 'jetbrains') { + toast({ + title: t('opening_ide'), + status: 'info' + }) + } try { const { base64PrivateKey, userName, token } = await getSSHConnectionInfo({ @@ -63,6 +69,20 @@ const IDEButton = ({ }) const { workingDir } = await getSSHRuntimeInfo(runtimeVersion) + setJetBrainsGuideData({ + base64PrivateKey, + userName, + token, + workingDir, + host: env.sealosDomain, + port: sshPort.toString() + }) + + if (currentIDE === 'jetbrains') { + setOnOpenJetbrainsModal(true) + return + } + const idePrefix = ideObj[currentIDE].prefix const fullUri = `${idePrefix}labring.devbox-aio?sshDomain=${encodeURIComponent( `${userName}@${env.sealosDomain}` @@ -171,6 +191,13 @@ const IDEButton = ({ ))} + {!!onOpenJetbrainsModal && ( + {}} + onClose={() => setOnOpenJetbrainsModal(false)} + jetbrainsGuideData={jetbrainsGuideData} + /> + )} ) } @@ -203,6 +230,12 @@ export const ideObj = { icon: 'windsurf', prefix: 'windsurf://', value: 'windsurf' + }, + jetbrains: { + label: 'JetBrains', + icon: 'jetbrains', + prefix: '-', + value: 'jetbrains' } } diff --git a/frontend/providers/devbox/components/Icon/icons/download.svg b/frontend/providers/devbox/components/Icon/icons/download.svg index a2e40123a89..03a409f65bb 100644 --- a/frontend/providers/devbox/components/Icon/icons/download.svg +++ b/frontend/providers/devbox/components/Icon/icons/download.svg @@ -1,3 +1,3 @@ - + diff --git a/frontend/providers/devbox/components/Icon/icons/jetbrains.svg b/frontend/providers/devbox/components/Icon/icons/jetbrains.svg new file mode 100644 index 00000000000..73bd7592aea --- /dev/null +++ b/frontend/providers/devbox/components/Icon/icons/jetbrains.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/providers/devbox/components/Icon/index.tsx b/frontend/providers/devbox/components/Icon/index.tsx index 530ff784ed0..d938ba8f7cc 100644 --- a/frontend/providers/devbox/components/Icon/index.tsx +++ b/frontend/providers/devbox/components/Icon/index.tsx @@ -64,7 +64,8 @@ const map = { empty: require('./icons/empty.svg').default, shutdown: require('./icons/shutdown.svg').default, windsurf: require('./icons/windsurf.svg').default, - rocket: require('./icons/rocket.svg').default + rocket: require('./icons/rocket.svg').default, + jetbrains: require('./icons/jetbrains.svg').default } const MyIcon = ({ diff --git a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx new file mode 100644 index 00000000000..23390ea6a79 --- /dev/null +++ b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx @@ -0,0 +1,315 @@ +import { + Box, + Modal, + ModalBody, + ModalContent, + ModalOverlay, + ModalHeader, + Text, + Divider, + Button, + Flex, + Stepper, + useSteps, + Step, + StepIndicator, + StepStatus, + StepIcon, + StepNumber, + StepTitle, + StepDescription, + StepSeparator, + Grid, + GridItem, + Circle +} from '@chakra-ui/react' +import Image from 'next/image' +import { useTranslations } from 'next-intl' + +import MyIcon from '../Icon' +import { useCopyData } from '@/utils/tools' +import { useCallback } from 'react' + +interface JetBrainsGuideData { + base64PrivateKey: string + userName: string + token: string + workingDir: string + host: string + port: string +} + +const JetBrainsGuideModal = ({ + onSuccess, + onClose, + jetbrainsGuideData +}: { + onSuccess: () => void + onClose: () => void + jetbrainsGuideData: JetBrainsGuideData +}) => { + const t = useTranslations() + const { copyData } = useCopyData() + + const handleDownloadPrivateKey = useCallback(async () => { + const privateKey = jetbrainsGuideData.base64PrivateKey + + const blob = new Blob([privateKey], { type: 'application/octet-stream' }) + const url = window.URL.createObjectURL(blob) + const a = document.createElement('a') + a.style.display = 'none' + a.href = url + a.download = 'private_key' // TODO: change to devbox name + document.body.appendChild(a) + a.click() + window.URL.revokeObjectURL(url) + document.body.removeChild(a) + }, [jetbrainsGuideData]) + + return ( + + + + + {t('use_jetbrains')} + + + + {t('jetbrains_guide_prepare')} + + + {t('jetbrains_guide_prepare_install')} + + + + + + + + {t('jetbrains_guide_start_to_use')} + + + {t('jetbrains_guide_four_steps')} + + + + + + } /> + + + + {t('jetbrains_guide_step_1')} + + step1 + + + + + + } /> + + + + + + {t('jetbrains_guide_step_2_1')} + + + Username: + + {jetbrainsGuideData.userName} + copyData(jetbrainsGuideData.userName)} + w={'16px'} + ml={2} + color={'grayModern.600'} + /> + + Host: + + {jetbrainsGuideData.host} + copyData(jetbrainsGuideData.host)} + w={'16px'} + ml={2} + color={'grayModern.600'} + /> + + Port: + + {jetbrainsGuideData.port} + copyData(jetbrainsGuideData.port)} + w={'16px'} + ml={2} + color={'grayModern.600'} + /> + + + + + + + {t('jetbrains_guide_step_2_2')} + + + + + + + + {t('jetbrains_guide_step_2_3')} + + + step2-3 + + + + + + + } /> + + + + + {t('jetbrains_guide_step_3_1')} + + + + {t('jetbrains_guide_step_3_2')} + + + + {t('jetbrains_guide_step_3_3')} + + step1 + + + {t('jetbrains_guide_step_3_4')} + + step1 + + + {t('jetbrains_guide_step_3_5')} + + step1 + + + + + + + + + + + + {t('jetbrains_guide_post_use')} + + + {t('jetbrains_guide_post_connection')} + + + + + + + + ) +} + +export default JetBrainsGuideModal diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index 9fe45270117..31a896f2239 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -82,6 +82,22 @@ "image_info": "Image", "image_name": "Image Name", "internal_address": "Internal Address", + "jetbrains_guide_documentation": "Documentation", + "jetbrains_guide_four_steps": "(4 steps)", + "jetbrains_guide_post_connection": "How to connect to the service? You can click the button below for further viewing.", + "jetbrains_guide_post_use": "To continue...", + "jetbrains_guide_prepare": "Prepare", + "jetbrains_guide_prepare_install": "Please install Jetbrains Gateway firstly.", + "jetbrains_guide_start_to_use": "Start", + "jetbrains_guide_step_1": "In the opened Jetbrains Gateway window, select New Connection.", + "jetbrains_guide_step_2_1": "Input Username、Host and Port.", + "jetbrains_guide_step_2_2": "Download Private Key.", + "jetbrains_guide_step_2_3": "Check Specify private key, select the path where the downloaded private key is located. Click the Check Connection and Continue button to test the SSH connection.", + "jetbrains_guide_step_3_1": "Select IDE version: It is recommended to choose XXXX.", + "jetbrains_guide_step_3_2": "Select project path: XXX", + "jetbrains_guide_step_3_3": "Click the Download IDE and Connect button to download the IDE and connect.", + "jetbrains_guide_step_3_4": "Waiting for the IDE to finish downloading.", + "jetbrains_guide_step_3_5": "Automatically invoke the local IntelliJ IDEA.", "jump_prompt": "Jump prompt", "jump_terminal_error": "Jump terminal failed", "language": "Language", @@ -154,6 +170,7 @@ "update_failed": "Update failed", "update_matched_apps_notes": "Or you can update application: ", "update_success": "Update succeeded", + "use_jetbrains": "Use JetBrains IDE to Develop", "used": "Used", "version": "Release", "version_config": "Configuration", diff --git a/frontend/providers/devbox/message/zh.json b/frontend/providers/devbox/message/zh.json index e85d7a73f73..42b7202e264 100644 --- a/frontend/providers/devbox/message/zh.json +++ b/frontend/providers/devbox/message/zh.json @@ -84,6 +84,22 @@ "image_name": "镜像名", "internal_address": "内网地址", "intranet_address": "内网地址", + "jetbrains_guide_documentation": "使用文档", + "jetbrains_guide_four_steps": "(共 4 步)", + "jetbrains_guide_post_connection": "如何连接服务?后续使用可点击下方按钮进行查看。", + "jetbrains_guide_post_use": "后续使用", + "jetbrains_guide_prepare": "前置准备", + "jetbrains_guide_prepare_install": "请提前下载好 Jetbrains Gateway 应用。", + "jetbrains_guide_start_to_use": "开始使用", + "jetbrains_guide_step_1": "在打开的 Jetbrains Gateway 窗口中,选择 New Connection。", + "jetbrains_guide_step_2_1": "填写 Username、Host和 Port。", + "jetbrains_guide_step_2_2": "下载私钥。", + "jetbrains_guide_step_2_3": "勾选 Specify private key,选择刚才下载的私钥的所在路径。点击 Check Connection and Continue 按钮,即可测试 SSH 连接。", + "jetbrains_guide_step_3_1": "选择 IDE 版本:推荐选择 XXXX。", + "jetbrains_guide_step_3_2": "选择项目路径:XXX", + "jetbrains_guide_step_3_3": "点击 Download IDE and Connect 按钮,即可下载 IDE 和连接。", + "jetbrains_guide_step_3_4": "等待 IDE 下载完毕。", + "jetbrains_guide_step_3_5": "自动唤起本地的 IntelliJ IDEA。", "jump_prompt": "跳转提示", "jump_terminal_error": "跳转终端失败", "language": "语言", @@ -156,6 +172,7 @@ "update_failed": "变更失败", "update_matched_apps_notes": "或者你可以更新已有应用:", "update_success": "变更成功", + "use_jetbrains": "使用 JetBrains IDE 开发", "used": "已用", "version": "版本", "version_config": "版本配置", diff --git a/frontend/providers/devbox/public/images/jetbrains/step1.png b/frontend/providers/devbox/public/images/jetbrains/step1.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc5388a2d8b0f8b79eac8f989548faa253fdc40 GIT binary patch literal 98927 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 z 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�fP?w~lti9j{%g1|XM$BK&!sX7UgFt4XZ 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ÒtAfz^yKuN24yx&(_u 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 literal 0 HcmV?d00001 diff --git a/frontend/providers/devbox/public/images/jetbrains/step3-3.png b/frontend/providers/devbox/public/images/jetbrains/step3-3.png new file mode 100644 index 0000000000000000000000000000000000000000..68a721d68a8c699f3fe9377d1b50d25aac2a5ed2 GIT binary patch literal 100523 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

DfN?3Ihzzv@ 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 literal 0 HcmV?d00001 diff --git a/frontend/providers/devbox/public/images/jetbrains/step3-5.png b/frontend/providers/devbox/public/images/jetbrains/step3-5.png new file mode 100644 index 0000000000000000000000000000000000000000..98c63e7b260337b81aed9ddc8e047e2cc1430b0a GIT binary patch literal 87413 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 literal 0 HcmV?d00001 diff --git a/frontend/providers/devbox/stores/global.ts b/frontend/providers/devbox/stores/global.ts index 5a3492af779..395e2b2b872 100644 --- a/frontend/providers/devbox/stores/global.ts +++ b/frontend/providers/devbox/stores/global.ts @@ -2,6 +2,8 @@ import { create } from 'zustand' import { devtools } from 'zustand/middleware' import { immer } from 'zustand/middleware/immer' +export type IDEType = 'vscode' | 'cursor' | 'vscodeInsiders' | 'windsurf' | 'jetbrains' + type State = { screenWidth: number setScreenWidth: (e: number) => void From cdab0f16118eadbcc6c56aa2e631b304a565b5b2 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 29 Nov 2024 17:35:40 +0800 Subject: [PATCH 02/52] style: blue style --- .../components/modals/jetbrainsGuideModal.tsx | 119 +++++++++++++++--- frontend/providers/devbox/message/en.json | 18 +-- frontend/providers/devbox/message/zh.json | 16 +-- 3 files changed, 121 insertions(+), 32 deletions(-) diff --git a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx index 23390ea6a79..cf99c7d70eb 100644 --- a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx +++ b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx @@ -10,14 +10,10 @@ import { Button, Flex, Stepper, - useSteps, Step, StepIndicator, StepStatus, - StepIcon, StepNumber, - StepTitle, - StepDescription, StepSeparator, Grid, GridItem, @@ -77,9 +73,15 @@ const JetBrainsGuideModal = ({ {t('jetbrains_guide_prepare')} - - {t('jetbrains_guide_prepare_install')} - + + {t.rich('jetbrains_guide_prepare_install', { + blue: (chunks) => ( + + {chunks} + + ) + })} + @@ -322,6 +322,7 @@ const JetBrainsGuideModal = ({ color={'grayModern.600'} borderRadius={'5px'} borderWidth={1} + w={'fit-content'} size={'sm'} _hover={{ color: 'brightBlue.600', @@ -329,7 +330,6 @@ const JetBrainsGuideModal = ({ color: 'brightBlue.600' } }} - w={'70px'} onClick={handleDownloadPrivateKey}> {t('private_key')} From 6a6c1077315b7deefd978ac74de06326b19012fe Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Mon, 2 Dec 2024 15:54:47 +0800 Subject: [PATCH 13/52] fix: text i18n perf --- .../devbox/app/[lang]/(platform)/layout.tsx | 2 +- frontend/providers/devbox/message/en.json | 22 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/layout.tsx b/frontend/providers/devbox/app/[lang]/(platform)/layout.tsx index 287949f07ae..47efcabf8a4 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/layout.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/layout.tsx @@ -83,7 +83,7 @@ export default function PlatformLayout({ children }: { children: React.ReactNode }) } catch (error) { changeI18n({ - currentLanguage: 'zh' + currentLanguage: 'en' }) } })() diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index 35715aa696d..100e2d7920b 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -85,20 +85,20 @@ "jetbrains_guide_documentation": "Documentation", "jetbrains_guide_download_private_key_path": "your local path of private key", "jetbrains_guide_three_steps": "(3 steps)", - "jetbrains_guide_post_connection": "How to connect to the service? You can click the button below for further viewing.", - "jetbrains_guide_post_use": "To continue...", - "jetbrains_guide_prepare": "Prepare", - "jetbrains_guide_prepare_install": "Please install JetBrains Gateway firstly.", + "jetbrains_guide_post_connection": "Don't know how to connect to your service? Find out by clicking the button below for more information.", + "jetbrains_guide_post_use": "What's next...", + "jetbrains_guide_prepare": "Prerequiste(s)", + "jetbrains_guide_prepare_install": "Please install JetBrains Gateway first.", "jetbrains_guide_start_to_use": "Start", "jetbrains_guide_step_1": "In the opened Jetbrains Gateway window, select New Connection.", - "jetbrains_guide_step_2_1": "Input UsernameHost and Port.", + "jetbrains_guide_step_2_1": "Fill in UsernameHost and Port.", "jetbrains_guide_step_2_2": "Download Private Key.", - "jetbrains_guide_step_2_3": "Check Specify private key, select the path where the downloaded private key is located. Click the Check Connection and Continue button to test the SSH connection.", + "jetbrains_guide_step_2_3": "Locate and select the path of the downloaded private key. Click Check Connection and Continue to test the SSH connection.", "jetbrains_guide_step_3_1": "Select IDE version: It is recommended to choose {ideVersion}.", - "jetbrains_guide_step_3_2": "Select project path: {projectPath}.", - "jetbrains_guide_step_3_3": "Click the Download IDE and Connect button to download the IDE and connect.", - "jetbrains_guide_step_3_4": "Waiting for the IDE to finish downloading.", - "jetbrains_guide_step_3_5": "Automatically invoke the local {ide}.", + "jetbrains_guide_step_3_2": "Select the project path: {projectPath}.", + "jetbrains_guide_step_3_3": "Click Download IDE and Connect to download.", + "jetbrains_guide_step_3_4": "Wait for the IDE to be ready.", + "jetbrains_guide_step_3_5": "Check if local {ide} is automatically invoked.", "jump_prompt": "Jump prompt", "jump_terminal_error": "Jump terminal failed", "language": "Language", @@ -171,7 +171,7 @@ "update_failed": "Update failed", "update_matched_apps_notes": "Or you can update application: ", "update_success": "Update succeeded", - "use_jetbrains": "Use JetBrains IDE to Develop", + "use_jetbrains": "Develop with JetBrains IDEs", "used": "Used", "version": "Release", "version_config": "Configuration", From 0d19341c39f6a4eea89760e812098b7e1b012227 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Tue, 3 Dec 2024 16:53:53 +0800 Subject: [PATCH 14/52] chore: text adjust --- frontend/providers/devbox/message/en.json | 2 +- frontend/providers/devbox/message/zh.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index 100e2d7920b..9149180e8b2 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -88,7 +88,7 @@ "jetbrains_guide_post_connection": "Don't know how to connect to your service? Find out by clicking the button below for more information.", "jetbrains_guide_post_use": "What's next...", "jetbrains_guide_prepare": "Prerequiste(s)", - "jetbrains_guide_prepare_install": "Please install JetBrains Gateway first.", + "jetbrains_guide_prepare_install": "Open JetBrains Gateway app first.", "jetbrains_guide_start_to_use": "Start", "jetbrains_guide_step_1": "In the opened Jetbrains Gateway window, select New Connection.", "jetbrains_guide_step_2_1": "Fill in UsernameHost and Port.", diff --git a/frontend/providers/devbox/message/zh.json b/frontend/providers/devbox/message/zh.json index adf8925adcd..05ecabb0107 100644 --- a/frontend/providers/devbox/message/zh.json +++ b/frontend/providers/devbox/message/zh.json @@ -90,7 +90,7 @@ "jetbrains_guide_post_connection": "如何连接服务?后续使用可点击下方按钮进行查看。", "jetbrains_guide_post_use": "后续使用", "jetbrains_guide_prepare": "前置准备", - "jetbrains_guide_prepare_install": "请提前下载好 JetBrains Gateway 应用。", + "jetbrains_guide_prepare_install": "打开 JetBrains Gateway 应用。", "jetbrains_guide_start_to_use": "开始使用", "jetbrains_guide_step_1": "在打开的 Jetbrains Gateway 窗口中,选择 New Connection。", "jetbrains_guide_step_2_1": "填写 UsernameHostPort。", From 3ef6be7dad44e3560a72fbd086a53c289a45d472 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Tue, 3 Dec 2024 16:54:50 +0800 Subject: [PATCH 15/52] chore: icon adjust to upperRight --- .../providers/devbox/components/modals/jetbrainsGuideModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx index 619584f590a..8495c3c08f0 100644 --- a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx +++ b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx @@ -172,7 +172,7 @@ const JetBrainsGuideModal = ({ })} - - - - - - {t('jetbrains_guide_start_to_use')} - - - {t('jetbrains_guide_three_steps')} - - {/* 1 */} @@ -208,8 +70,8 @@ const JetBrainsGuideModal = ({ } /> - - {t.rich('jetbrains_guide_step_1', { + + {t.rich('jetbrains_guide_prepare_install', { blue: (chunks) => ( - step1 + @@ -234,314 +108,38 @@ const JetBrainsGuideModal = ({ } /> - - - - - - {t.rich('jetbrains_guide_step_2_1', { - blue: (chunks) => ( - - {chunks} - - ) - })} - - - - Username: - - {jetbrainsGuideData.userName} - copyData(jetbrainsGuideData.userName)} - w={'16px'} - ml={2} - _hover={{ color: '#219BF4' }} - color={'grayModern.600'} - /> - - Host: - - {jetbrainsGuideData.host} - copyData(jetbrainsGuideData.host)} - w={'16px'} - ml={2} - color={'grayModern.600'} - /> - - Port: - - {jetbrainsGuideData.port} - copyData(jetbrainsGuideData.port)} - w={'16px'} - ml={2} - color={'grayModern.600'} - /> - - - - - - - - {t.rich('jetbrains_guide_step_2_2', { - blue: (chunks) => ( - - {chunks} - - ) - })} - - - - - - - - - {t.rich('jetbrains_guide_step_2_3', { - blue: (chunks) => ( - - {chunks} - - ) - })} - - - - step2-3 - - {jetbrainsGuideData.userName} - - - {jetbrainsGuideData.host} - - - {t('jetbrains_guide_download_private_key_path')} - - - - - - - {/* 3 */} - - - } /> - - - - - - {t.rich('jetbrains_guide_step_3_1', { - ideVersion: runtimeTypeToIDEType(jetbrainsGuideData.runtimeType), - blue: (chunks) => ( - - {chunks} - - ) - })} - - - - - - {t.rich('jetbrains_guide_step_3_2', { - projectPath: jetbrainsGuideData.workingDir, - blue: (chunks) => ( - - {chunks} - - ) - })} - - - - - - - {t.rich('jetbrains_guide_step_3_3', { - blue: (chunks) => ( - - {chunks} - - ) - })} - - - - step1 - - {runtimeTypeToIDEType(jetbrainsGuideData.runtimeType)} - - - {jetbrainsGuideData.workingDir} - - - - - - - {t('jetbrains_guide_step_3_4')} - - - step1 - - {runtimeTypeToIDEType(jetbrainsGuideData.runtimeType)} - - - {jetbrainsGuideData.workingDir} - - - - - - - - {t.rich('jetbrains_guide_step_3_5', { - ide: 'IntelliJ IDEA', - blue: (chunks) => ( - - {chunks} - - ) - })} - - - step1 - - + + + {t.rich('jetbrains_guide_click_to_config', { + blue: (chunks) => ( + + {chunks} + + ) + })} + + + {/* done */} @@ -557,6 +155,78 @@ const JetBrainsGuideModal = ({ + + + + {t('jetbrains_guide_start_to_use')} + + + + {t('jetbrains_guide_select_ide')} + + + {Object.values(jetbrainsIDEObj).map((ideType) => ( + + { + setSelectedIDE(ideType.value) + }} + position={'relative'}> + + {ideType.label} + {recommendIDE === ideType && ( + + {t('recommend')} + + )} + + + ))} + + + + {t('jetbrains_guide_post_use')} @@ -589,5 +259,117 @@ const JetBrainsGuideModal = ({ ) } +const jetbrainsIDEObj = { + IntelliJ: { + label: 'IntelliJ IDEA', + value: 'intellij' + }, + PyCharm: { + label: 'PyCharm', + value: 'pycharm' + }, + WebStorm: { + label: 'WebStorm', + value: 'webstorm' + }, + Rider: { + label: 'Rider', + value: 'rider' + }, + CLion: { + label: 'CLion', + value: 'clion' + }, + GoLand: { + label: 'GoLand', + value: 'goland' + }, + RubyMine: { + label: 'RubyMine', + value: 'rubymine' + }, + PhpStorm: { + label: 'PhpStorm', + value: 'phpstorm' + }, + RustRover: { + label: 'RustRover', + value: 'rustover' + } +} + +const runtimeTypeToIDEType = (runtimeType: string) => { + switch (runtimeType) { + // Python + case 'python': + case 'django': + case 'flask': + return jetbrainsIDEObj.PyCharm + + // Go + case 'go': + case 'gin': + case 'echo': + case 'hertz': + case 'iris': + case 'chi': + return jetbrainsIDEObj.GoLand + + // Frontend and nodejs + case 'angular': + case 'ant-design': + case 'astro': + case 'chakra-ui': + case 'express.js': + case 'react': + case 'vue': + case 'react': + case 'hexo': + case 'hugo': + case 'sealaf': + case 'nuxt3': + case 'svelte': + case 'umi': + case 'vitepress': + case 'next.js': + case 'nest.js': + case 'node.js': + case 'docusaurus': + return jetbrainsIDEObj.WebStorm + + // C/C++ + case 'c': + case 'cpp': + return jetbrainsIDEObj.CLion + + // Java + case 'java': + case 'quarkus': + case 'vert.x': + case 'spring-boot': + return jetbrainsIDEObj.IntelliJ + + // PHP + case 'php': + case 'laravel': + return jetbrainsIDEObj.PhpStorm + + // Ruby + case 'ruby': + case 'rails': + return jetbrainsIDEObj.RubyMine + + // Rust + case 'rust': + case 'rocket': + return jetbrainsIDEObj.RustRover + + // other + case 'debian-ssh': + case 'custom': + default: + return jetbrainsIDEObj.IntelliJ + } +} export default JetBrainsGuideModal diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index 9149180e8b2..cf6e8d23850 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -82,13 +82,16 @@ "image_info": "Image", "image_name": "Image Name", "internal_address": "Internal Address", + "jetbrains_guide_click_to_config": "Click button to configure SSH connection information.", + "jetbrains_guide_config_ssh": "config ssh connection information", "jetbrains_guide_documentation": "Documentation", "jetbrains_guide_download_private_key_path": "your local path of private key", - "jetbrains_guide_three_steps": "(3 steps)", "jetbrains_guide_post_connection": "Don't know how to connect to your service? Find out by clicking the button below for more information.", "jetbrains_guide_post_use": "What's next...", "jetbrains_guide_prepare": "Prerequiste(s)", "jetbrains_guide_prepare_install": "Open JetBrains Gateway app first.", + "jetbrains_guide_select_ide": "Please select a IDE to develop.", + "jetbrains_guide_start_to_connect": "Connect", "jetbrains_guide_start_to_use": "Start", "jetbrains_guide_step_1": "In the opened Jetbrains Gateway window, select New Connection.", "jetbrains_guide_step_2_1": "Fill in UsernameHost and Port.", @@ -99,6 +102,7 @@ "jetbrains_guide_step_3_3": "Click Download IDE and Connect to download.", "jetbrains_guide_step_3_4": "Wait for the IDE to be ready.", "jetbrains_guide_step_3_5": "Check if local {ide} is automatically invoked.", + "jetbrains_guide_three_steps": "(3 steps)", "jump_prompt": "Jump prompt", "jump_terminal_error": "Jump terminal failed", "language": "Language", @@ -129,6 +133,7 @@ "publish": "Publish", "read_event_detail": "Toggle event detail", "recent_error": "Recent Errors", + "recommend": "Best", "release": "Release", "release_confirm_info": "During the release process, the machine will be temporarily shut down and the release will be in the current state. Please save the running project.", "release_failed": "Release failed", diff --git a/frontend/providers/devbox/message/zh.json b/frontend/providers/devbox/message/zh.json index 05ecabb0107..26d29928f9c 100644 --- a/frontend/providers/devbox/message/zh.json +++ b/frontend/providers/devbox/message/zh.json @@ -84,13 +84,16 @@ "image_name": "镜像名", "internal_address": "内网地址", "intranet_address": "内网地址", + "jetbrains_guide_click_to_config": "点击下方按钮,配置 SSH 链接信息。", + "jetbrains_guide_config_ssh": "配置 SSH 链接信息", "jetbrains_guide_documentation": "使用文档", "jetbrains_guide_download_private_key_path": "你下载的私钥存储的位置", - "jetbrains_guide_three_steps": "(共 3 步)", "jetbrains_guide_post_connection": "如何连接服务?后续使用可点击下方按钮进行查看。", "jetbrains_guide_post_use": "后续使用", "jetbrains_guide_prepare": "前置准备", "jetbrains_guide_prepare_install": "打开 JetBrains Gateway 应用。", + "jetbrains_guide_select_ide": "请选择一个 IDE 进行开发。", + "jetbrains_guide_start_to_connect": "开始连接", "jetbrains_guide_start_to_use": "开始使用", "jetbrains_guide_step_1": "在打开的 Jetbrains Gateway 窗口中,选择 New Connection。", "jetbrains_guide_step_2_1": "填写 UsernameHostPort。", @@ -101,6 +104,7 @@ "jetbrains_guide_step_3_3": "点击 Download IDE and Connect 按钮,即可下载 IDE 和连接。", "jetbrains_guide_step_3_4": "等待 IDE 下载完毕。", "jetbrains_guide_step_3_5": "自动唤起本地的{ide}。", + "jetbrains_guide_three_steps": "(共 3 步)", "jump_prompt": "跳转提示", "jump_terminal_error": "跳转终端失败", "language": "语言", @@ -131,6 +135,7 @@ "publish": "发版", "read_event_detail": "查看事件详情", "recent_error": "最近错误", + "recommend": "推荐", "release": "发布", "release_confirm_info": "发版过程中将暂时关闭机器,且以当前状态发版,请保存好正在运行的项目。", "release_failed": "发版失败", From fdf44f81c6d8a1572dd67cbd317d6abcbc6d643e Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 15:06:17 +0800 Subject: [PATCH 19/52] feat: basic style --- .../(home)/components/DevboxList.tsx | 2 +- .../devbox/create/components/Yaml.tsx | 7 +- .../detail/[name]/components/Version.tsx | 2 +- frontend/providers/devbox/components/Code.tsx | 55 +++ .../providers/devbox/components/IDEButton.tsx | 2 +- .../components/Icon/icons/arrowDown.svg | 2 +- .../components/YamlCode/index.module.scss | 6 - .../devbox/components/YamlCode/index.tsx | 48 --- .../components/modals/SshConnectModal.tsx | 333 ++++++++++++++++++ .../components/modals/jetbrainsGuideModal.tsx | 13 +- .../YamlCode => constants}/hljs.ts | 0 .../providers/devbox/constants/scripts.ts | 142 ++++++++ frontend/providers/devbox/message/en.json | 27 +- frontend/providers/devbox/message/zh.json | 17 +- 14 files changed, 577 insertions(+), 79 deletions(-) create mode 100644 frontend/providers/devbox/components/Code.tsx delete mode 100644 frontend/providers/devbox/components/YamlCode/index.module.scss delete mode 100644 frontend/providers/devbox/components/YamlCode/index.tsx create mode 100644 frontend/providers/devbox/components/modals/SshConnectModal.tsx rename frontend/providers/devbox/{components/YamlCode => constants}/hljs.ts (100%) create mode 100644 frontend/providers/devbox/constants/scripts.ts diff --git a/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx b/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx index 38b372a6c4b..7ba43dd43ea 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx @@ -14,7 +14,7 @@ import MyIcon from '@/components/Icon' import IDEButton from '@/components/IDEButton' import PodLineChart from '@/components/PodLineChart' import DevboxStatusTag from '@/components/DevboxStatusTag' -import ReleaseModal from '@/components/modals/releaseModal' +import ReleaseModal from '@/components/modals/ReleaseModal' const DelModal = dynamic(() => import('@/components/modals/DelModal')) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/devbox/create/components/Yaml.tsx b/frontend/providers/devbox/app/[lang]/(platform)/devbox/create/components/Yaml.tsx index 059147e1500..ea8ac773ad5 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/devbox/create/components/Yaml.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/devbox/create/components/Yaml.tsx @@ -4,12 +4,13 @@ import { useTranslations } from 'next-intl' import { useSearchParams } from 'next/navigation' import { Box, Center, Flex, Grid, useTheme } from '@chakra-ui/react' -import { useRouter } from '@/i18n' +import Code from '@/components/Code' import MyIcon from '@/components/Icon' + +import { useRouter } from '@/i18n' import { obj2Query } from '@/utils/tools' import type { YamlItemType } from '@/types' import { useCopyData } from '@/utils/tools' -import YamlCode from '@/components/YamlCode/index' import styles from './index.module.scss' @@ -111,7 +112,7 @@ const Yaml = ({ yamlList = [], pxVal }: { yamlList: YamlItemType[]; pxVal: numbe - + )} diff --git a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx index de64902cb8b..a598920f264 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx @@ -8,7 +8,7 @@ import { Box, Button, Flex, MenuButton, Text, useDisclosure } from '@chakra-ui/r import MyIcon from '@/components/Icon' import MyTable from '@/components/MyTable' import DevboxStatusTag from '@/components/DevboxStatusTag' -import ReleaseModal from '@/components/modals/releaseModal' +import ReleaseModal from '@/components/modals/ReleaseModal' import EditVersionDesModal from '@/components/modals/EditVersionDesModal' import { DevboxVersionListItemType } from '@/types/devbox' diff --git a/frontend/providers/devbox/components/Code.tsx b/frontend/providers/devbox/components/Code.tsx new file mode 100644 index 00000000000..9189ceb9742 --- /dev/null +++ b/frontend/providers/devbox/components/Code.tsx @@ -0,0 +1,55 @@ +import { useMemo } from 'react' +import { Box } from '@chakra-ui/react' +import ReactMarkdown from 'react-markdown' +import SyntaxHighlighter from 'react-syntax-highlighter' + +import { codeTheme } from '@/constants/hljs' + +type TMarkDown = { + content: string + language: string + [key: string]: any +} + +const Code = ({ content, language, ...props }: TMarkDown) => { + const code = useMemo(() => '```' + language + '\n' + content + '```', [content, language]) + + return ( + + + ) : ( + + {children} + + ) + } + }} + /> + + ) +} + +export default Code diff --git a/frontend/providers/devbox/components/IDEButton.tsx b/frontend/providers/devbox/components/IDEButton.tsx index 3717cb11718..25c8815ca91 100644 --- a/frontend/providers/devbox/components/IDEButton.tsx +++ b/frontend/providers/devbox/components/IDEButton.tsx @@ -19,7 +19,7 @@ import { useEnvStore } from '@/stores/env' import { useIDEStore, IDEType } from '@/stores/ide' import { DevboxStatusMapType } from '@/types/devbox' import { getSSHConnectionInfo, getSSHRuntimeInfo } from '@/api/devbox' -import JetBrainsGuideModal from './modals/jetbrainsGuideModal' +import JetBrainsGuideModal from './modals/JetbrainsGuideModal' interface Props { devboxName: string diff --git a/frontend/providers/devbox/components/Icon/icons/arrowDown.svg b/frontend/providers/devbox/components/Icon/icons/arrowDown.svg index 029c097a241..6e052f6eb7c 100644 --- a/frontend/providers/devbox/components/Icon/icons/arrowDown.svg +++ b/frontend/providers/devbox/components/Icon/icons/arrowDown.svg @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/frontend/providers/devbox/components/YamlCode/index.module.scss b/frontend/providers/devbox/components/YamlCode/index.module.scss deleted file mode 100644 index 883b64a970c..00000000000 --- a/frontend/providers/devbox/components/YamlCode/index.module.scss +++ /dev/null @@ -1,6 +0,0 @@ -.markdown { - height: '100%'; - div { - overflow: visible !important; - } -} diff --git a/frontend/providers/devbox/components/YamlCode/index.tsx b/frontend/providers/devbox/components/YamlCode/index.tsx deleted file mode 100644 index 7f9ce5cda8f..00000000000 --- a/frontend/providers/devbox/components/YamlCode/index.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { useMemo } from 'react' -import ReactMarkdown from 'react-markdown' -import SyntaxHighlighter from 'react-syntax-highlighter' - -import { codeTheme } from './hljs' - -import styles from './index.module.scss' - -type TMarkDown = { - content: string - [key: string]: any -} - -const YamlCode = ({ content, ...props }: TMarkDown) => { - const code = useMemo(() => '```yaml\n' + content + '```', [content]) - - return ( - - ) : ( - - {children} - - ) - } - }} - /> - ) -} - -export default YamlCode diff --git a/frontend/providers/devbox/components/modals/SshConnectModal.tsx b/frontend/providers/devbox/components/modals/SshConnectModal.tsx new file mode 100644 index 00000000000..945b8f0354e --- /dev/null +++ b/frontend/providers/devbox/components/modals/SshConnectModal.tsx @@ -0,0 +1,333 @@ +import { + Box, + Modal, + ModalBody, + ModalContent, + ModalOverlay, + ModalHeader, + ModalCloseButton, + Flex, + Text, + Button, + Divider, + Stepper, + Step, + StepIndicator, + StepNumber, + StepStatus, + StepSeparator, + Circle +} from '@chakra-ui/react' +import { useTranslations } from 'next-intl' + +import Code from '../Code' +import MyIcon from '../Icon' +import { useState } from 'react' + +interface JetBrainsGuideData { + devboxName: string + runtimeType: string + privateKey: string + userName: string + token: string + workingDir: string + host: string + port: string +} + +const SshConnectModal = ({ + onClose +}: { + onSuccess: () => void + onClose: () => void + jetbrainsGuideData: JetBrainsGuideData +}) => { + const t = useTranslations() + + const [onOpenScripts1, setOnOpenScripts1] = useState(false) + const [onOpenScripts2, setOnOpenScripts2] = useState(false) + const [onOpenScripts3, setOnOpenScripts3] = useState(false) + + return ( + + + + + {t('jetbrains_guide_config_ssh')} + + + + + {t('jetbrains_guide_one_click_setup')} + + + {t.rich('jetbrains_guide_one_click_setup_desc', { + blue: (chunks) => ( + + {chunks} + + ), + lightColor: (chunks) => ( + + {chunks} + + ) + })} + + + + + + + + + + + {onOpenScripts1 && } + + + + {/* 1 */} + + + } /> + + + + {t.rich('jetbrains_guide_download_private_key', { + blue: (chunks) => ( + + {chunks} + + ) + })} + + + + + + {/* 2 */} + + + } /> + + + + {t.rich('jetbrains_guide_move_to_path', { + blue: (chunks) => ( + + {chunks} + + ) + })} + + + + + + {/* 3 */} + + + } /> + + + + {t.rich('jetbrains_guide_modified_file', { + blue: (chunks) => ( + + {chunks} + + ) + })} + + + + + + + + + + {onOpenScripts2 && } + + + + {/* 4 */} + + + } /> + + + {t('jetbrains_guide_command')} + + + + + + + + + {onOpenScripts3 && } + + + + {/* done */} + + + + + + + + + ) +} + +export default SshConnectModal diff --git a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx index f7a714a7d3b..6c1f643ba99 100644 --- a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx +++ b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx @@ -24,6 +24,7 @@ import { useState } from 'react' import { useTranslations } from 'next-intl' import MyIcon from '../Icon' +import SshConnectModal from './SshConnectModal' interface JetBrainsGuideData { devboxName: string @@ -49,6 +50,7 @@ const JetBrainsGuideModal = ({ const recommendIDE = runtimeTypeToIDEType(jetbrainsGuideData.runtimeType) const [selectedIDE, setSelectedIDE] = useState(recommendIDE.value) + const [onOpenSSHConnectModal, setOnOpenSSHConnectModal] = useState(false) return ( @@ -134,9 +136,7 @@ const JetBrainsGuideModal = ({ color: 'brightBlue.600' } }} - onClick={() => { - window.open('https://code-with-me.jetbrains.com/remoteDev', '_blank') - }}> + onClick={() => setOnOpenSSHConnectModal(true)}> {t('jetbrains_guide_config_ssh')} @@ -256,6 +256,13 @@ const JetBrainsGuideModal = ({ + {onOpenSSHConnectModal && ( + setOnOpenSSHConnectModal(false)} + onSuccess={() => {}} + jetbrainsGuideData={jetbrainsGuideData} + /> + )} ) } diff --git a/frontend/providers/devbox/components/YamlCode/hljs.ts b/frontend/providers/devbox/constants/hljs.ts similarity index 100% rename from frontend/providers/devbox/components/YamlCode/hljs.ts rename to frontend/providers/devbox/constants/hljs.ts diff --git a/frontend/providers/devbox/constants/scripts.ts b/frontend/providers/devbox/constants/scripts.ts new file mode 100644 index 00000000000..6665e36409a --- /dev/null +++ b/frontend/providers/devbox/constants/scripts.ts @@ -0,0 +1,142 @@ +export const windowsScriptsTemplate = ( + privateKey: string, + name: string, + host: string, + port: string, + user: string +) => ` +\$ConfigDirTxt = "\$HOME\\.ssh\\sealos\\" +\$ConfigDir = Resolve-Path \$ConfigDirTxt +\$SSHConfigFile = "\$HOME\\.ssh\\config" + +\$ConfigFileTxt = "\${ConfigDirTxt}devbox_config" +\$ConfigFile = "\$ConfigDir\\devbox_config" + +\$PrivateKey = @" +${privateKey} +"@ + +\$Name = "${name}" +\$Host = "${host}" +\$Port = "${port}" +\$User = "${user}" + +\$IdentityFileTxt = "\${ConfigDirTxt}\$Name" +\$IdentityFile = "\$ConfigDir\$Name" +\$HostEntry = "Host \$Name\`n HostName \$Host\`n Port \$Port\`n User \$User\`n IdentityFile \$IdentityFileTxt\`n IdentitiesOnly yes\`n StrictHostKeyChecking no" + +# Check if the configuration directory exists +if (-Not (Test-Path \$ConfigDir)) { + New-Item -ItemType Directory -Path \$ConfigDir -Force | Out-Null +} + +# Check if the configuration file exists +if (-Not (Test-Path \$ConfigFile)) { + New-Item -ItemType File -Path \$ConfigFile -Force | Out-Null +} + +# Check if the default config exists +if (-Not (Test-Path \$SSHConfigFile)) { + New-Item -ItemType File -Path \$SSHConfigFile -Force | Out-Null +} + +# Check if the .ssh/config file contains the Include statement +if (-Not (Get-Content \$SSHConfigFile)) { + Add-Content -Path \$SSHConfigFile -Value "Include \$ConfigFileTxt\`n" +} else { + if (-Not (Select-String -Path \$SSHConfigFile -Pattern "Include \$ConfigFileTxt")) { + (Get-Content \$SSHConfigFile) | ForEach-Object { + if (\$_ -eq (Get-Content \$SSHConfigFile)[0]) { + "Include \$ConfigFileTxt\`n\$_" + } else { + \$_ + } + } | Set-Content \$SSHConfigFile + } +} + +# Write the private key to the file +\$PrivateKey | Set-Content -Path \$IdentityFile -Force + +# Check if a host with the same name exists +if (Select-String -Path \$ConfigFile -Pattern "^Host \$Name") { + # Replace existing host entry + (Get-Content \$ConfigFile) | ForEach-Object { + if (\$_ -match "^Host \$Name") { + \$HostEntry + } elseif (\$_ -match "^Host ") { + "" + } else { + \$_ + } + } | Set-Content \$ConfigFile +} else { + # Append to the end of the file + Add-Content -Path \$ConfigFile -Value \$HostEntry +} +` +export const macosAndLinuxScriptsTemplate = ( + privateKey: string, + name: string, + host: string, + port: string, + user: string +) => `#!/bin/bash + +CONFIG_DIR_TXT='~/.ssh/sealos/' +CONFIG_DIR="~/.ssh/sealos/" +SSH_CONFIG_FILE=~/.ssh/config + +CONFIG_FILE_TXT=\${CONFIG_DIR_TXT}devbox_config +CONFIG_FILE=\${CONFIG_DIR}devbox_config + +PRIVATE_KEY="${privateKey}" +NAME="${name}" +HOST="${host}" +PORT="${port}" +USER="${user}" + +IDENTITY_FILE_TXT="\${CONFIG_DIR_TXT}\$NAME" +IDENTITY_FILE="\${CONFIG_DIR}\$NAME" +HOST_ENTRY="Host \$NAME\\n HostName \$HOST\\n Port \$PORT\\n User \$USER\\n IdentityFile \$IDENTITY_FILE_TXT\\n IdentitiesOnly yes\\n StrictHostKeyChecking no" + +# 检查配置目录是否存在 +mkdir -p \$CONFIG_DIR + +# 检查配置文件是否存在 +if [ ! -f "\$CONFIG_FILE" ]; then + touch "\$CONFIG_FILE" + chmod 0644 "\$CONFIG_FILE" +fi + +# 检查默认的 config 是否 include 了 +if [ ! -f "\$SSH_CONFIG_FILE" ]; then + touch "\$SSH_CONFIG_FILE" + chmod 0600 "\$SSH_CONFIG_FILE" +fi + +# 检查 .ssh/config 文件中是否包含 Include 语句 +if [ ! -s "\$SSH_CONFIG_FILE" ]; then + # 如果文件为空,直接写入 Include 语句 + echo -e "Include \$CONFIG_FILE_TXT\\n" >> "\$SSH_CONFIG_FILE" +else + # 如果文件不为空,检查是否包含 Include 语句 + if ! grep -q "Include \$CONFIG_FILE_TXT" "\$SSH_CONFIG_FILE"; then + # 将 Include 语句添加到第一行 + sed -i "1i Include \$CONFIG_FILE_TXT" "\$SSH_CONFIG_FILE" + fi +fi + +# 写入私钥到文件 +echo -e \$PRIVATE_KEY > \$IDENTITY_FILE +chmod 0600 \$IDENTITY_FILE + +# 检查是否存在同名的 host +if grep -q "^Host \$NAME" "\$CONFIG_FILE"; then + # 替换现有的 host 条目 + sed -i "/^Host \$NAME/,/^Host /{ /^Host \$NAME/!{ /^Host /!d; } }" "\$CONFIG_FILE" + sed -i "/^Host \$NAME/c\\\$HOST_ENTRY" "\$CONFIG_FILE" +else + # 追加到文件末尾 + echo -e "\$HOST_ENTRY" >> "\$CONFIG_FILE" +fi` diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index cf6e8d23850..467429af927 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -64,6 +64,8 @@ "devbox_name_max_length": "Exceeds the maximum name length", "devbox_name_required": "Devbox name cannot be empty", "download_config": "Download config", + "download_private_key": "Private Key", + "download_scripts": "Download Script", "edit": "Edit", "edit_failed": "Edit failed", "edit_successful": "Edit succeeded", @@ -82,17 +84,22 @@ "image_info": "Image", "image_name": "Image Name", "internal_address": "Internal Address", - "jetbrains_guide_click_to_config": "Click button to configure SSH connection information.", - "jetbrains_guide_config_ssh": "config ssh connection information", - "jetbrains_guide_documentation": "Documentation", - "jetbrains_guide_download_private_key_path": "your local path of private key", - "jetbrains_guide_post_connection": "Don't know how to connect to your service? Find out by clicking the button below for more information.", - "jetbrains_guide_post_use": "What's next...", + "jetbrains_guide_click_to_config": "Click the button below to configure SSH connection .", + "jetbrains_guide_command": "Open a terminal and type the following command:", + "jetbrains_guide_config_ssh": "Configure SSH Connection", + "jetbrains_guide_documentation": "User Guide", + "jetbrains_guide_download_private_key": "Download the private key.", + "jetbrains_guide_modified_file": "Open ~/.ssh/sealos/devbox_config and append the following content:", + "jetbrains_guide_move_to_path": "Make sure the private key is in the following directory: ~/.ssh/sealos/.", + "jetbrains_guide_one_click_setup": "One-Click Setup", + "jetbrains_guide_one_click_setup_desc": "Click the button below to download the bat/sh script. After downloading, simply double-click to run it to complete the SSH connection setup.(Alternatively, you can copy the script to a local file and execute it with a single click).", + "jetbrains_guide_post_connection": "How to connect to the service?You can click the button below to view the user guide.", + "jetbrains_guide_post_use": "Learn More", "jetbrains_guide_prepare": "Prerequiste(s)", - "jetbrains_guide_prepare_install": "Open JetBrains Gateway app first.", - "jetbrains_guide_select_ide": "Please select a IDE to develop.", + "jetbrains_guide_prepare_install": "You need to download JetBrains Gateway in advance.", + "jetbrains_guide_select_ide": "Choose an IDE to start developing:", "jetbrains_guide_start_to_connect": "Connect", - "jetbrains_guide_start_to_use": "Start", + "jetbrains_guide_start_to_use": "Getting Started", "jetbrains_guide_step_1": "In the opened Jetbrains Gateway window, select New Connection.", "jetbrains_guide_step_2_1": "Fill in UsernameHost and Port.", "jetbrains_guide_step_2_2": "Download Private Key.", @@ -133,7 +140,7 @@ "publish": "Publish", "read_event_detail": "Toggle event detail", "recent_error": "Recent Errors", - "recommend": "Best", + "recommend": "Rec", "release": "Release", "release_confirm_info": "During the release process, the machine will be temporarily shut down and the release will be in the current state. Please save the running project.", "release_failed": "Release failed", diff --git a/frontend/providers/devbox/message/zh.json b/frontend/providers/devbox/message/zh.json index 26d29928f9c..badf6c7e543 100644 --- a/frontend/providers/devbox/message/zh.json +++ b/frontend/providers/devbox/message/zh.json @@ -65,6 +65,8 @@ "devbox_name_max_length": "超出最大名字长度", "devbox_name_required": "项目名称不能为空", "download_config": "下载配置", + "download_private_key": "下载私钥", + "download_scripts": "下载脚本", "edit": "编辑", "edit_failed": "编辑失败", "edit_successful": "编辑成功", @@ -84,15 +86,20 @@ "image_name": "镜像名", "internal_address": "内网地址", "intranet_address": "内网地址", - "jetbrains_guide_click_to_config": "点击下方按钮,配置 SSH 链接信息。", - "jetbrains_guide_config_ssh": "配置 SSH 链接信息", + "jetbrains_guide_click_to_config": "点击下方按钮,配置 SSH 连接信息。", + "jetbrains_guide_command": "打开命令行,输入以下命令:", + "jetbrains_guide_config_ssh": "配置 SSH 连接信息", "jetbrains_guide_documentation": "使用文档", - "jetbrains_guide_download_private_key_path": "你下载的私钥存储的位置", + "jetbrains_guide_download_private_key": "下载 私钥。", + "jetbrains_guide_modified_file": "修改 ~/.ssh/sealos/devbox_config 文件(如果不存在需要新建一个文件),内容为:", + "jetbrains_guide_move_to_path": "将下载好的私钥移动到目录:~/.ssh/sealos/。", + "jetbrains_guide_one_click_setup": "一键配置", + "jetbrains_guide_one_click_setup_desc": "点击下方按钮 下载 bat/sh 脚本,下载到本地后直接双击运行即可完成 SSH 连接信息的配置(或者您也可以复制脚本到本地一个文件,然后一键执行)。", "jetbrains_guide_post_connection": "如何连接服务?后续使用可点击下方按钮进行查看。", "jetbrains_guide_post_use": "后续使用", "jetbrains_guide_prepare": "前置准备", - "jetbrains_guide_prepare_install": "打开 JetBrains Gateway 应用。", - "jetbrains_guide_select_ide": "请选择一个 IDE 进行开发。", + "jetbrains_guide_prepare_install": "需要提前下载好 JetBrains Gateway 应用。", + "jetbrains_guide_select_ide": "请选择一个 IDE 进行开发:", "jetbrains_guide_start_to_connect": "开始连接", "jetbrains_guide_start_to_use": "开始使用", "jetbrains_guide_step_1": "在打开的 Jetbrains Gateway 窗口中,选择 New Connection。", From 0fa6f24a0ffb5a6a237d28fb4d9c45073a50b40e Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 16:33:40 +0800 Subject: [PATCH 20/52] feat: tab and code --- .../devbox/components/ScriptCode.tsx | 59 +++ frontend/providers/devbox/components/Tab.tsx | 40 ++ .../components/modals/SshConnectModal.tsx | 348 +++++++----------- 3 files changed, 224 insertions(+), 223 deletions(-) create mode 100644 frontend/providers/devbox/components/ScriptCode.tsx create mode 100644 frontend/providers/devbox/components/Tab.tsx diff --git a/frontend/providers/devbox/components/ScriptCode.tsx b/frontend/providers/devbox/components/ScriptCode.tsx new file mode 100644 index 00000000000..6dd2c17fef4 --- /dev/null +++ b/frontend/providers/devbox/components/ScriptCode.tsx @@ -0,0 +1,59 @@ +import { useState } from 'react' +import { Box, Button, Flex } from '@chakra-ui/react' + +import MyIcon from './Icon' +import Code from './Code' + +const ScriptCode = () => { + const [onOpenScripts, setOnOpenScripts] = useState(false) + + return ( + <> + + + + + + + + + {onOpenScripts && } + + ) +} + +export default ScriptCode diff --git a/frontend/providers/devbox/components/Tab.tsx b/frontend/providers/devbox/components/Tab.tsx new file mode 100644 index 00000000000..b7674b6d32d --- /dev/null +++ b/frontend/providers/devbox/components/Tab.tsx @@ -0,0 +1,40 @@ +import React from 'react' +import { Box, useMultiStyleConfig, useTab } from '@chakra-ui/react' + +const Tab = React.forwardRef((props: { children: React.ReactNode }, ref) => { + const tabProps = useTab({ ...props, ref: ref as React.Ref }) + + return ( + + {tabProps.children} + + ) +}) + +Tab.displayName = 'Tab' + +export default Tab diff --git a/frontend/providers/devbox/components/modals/SshConnectModal.tsx b/frontend/providers/devbox/components/modals/SshConnectModal.tsx index 945b8f0354e..903fb0c1351 100644 --- a/frontend/providers/devbox/components/modals/SshConnectModal.tsx +++ b/frontend/providers/devbox/components/modals/SshConnectModal.tsx @@ -16,13 +16,17 @@ import { StepNumber, StepStatus, StepSeparator, - Circle + Circle, + Tabs, + TabList } from '@chakra-ui/react' +import { useState } from 'react' import { useTranslations } from 'next-intl' import Code from '../Code' +import Tab from '../Tab' import MyIcon from '../Icon' -import { useState } from 'react' +import ScriptCode from '../ScriptCode' interface JetBrainsGuideData { devboxName: string @@ -35,6 +39,8 @@ interface JetBrainsGuideData { port: string } +const systemList = ['Windows', 'Mac', 'Linux'] + const SshConnectModal = ({ onClose }: { @@ -44,9 +50,7 @@ const SshConnectModal = ({ }) => { const t = useTranslations() - const [onOpenScripts1, setOnOpenScripts1] = useState(false) - const [onOpenScripts2, setOnOpenScripts2] = useState(false) - const [onOpenScripts3, setOnOpenScripts3] = useState(false) + const [activeTab, setActiveTab] = useState(0) return ( @@ -56,6 +60,14 @@ const SshConnectModal = ({ {t('jetbrains_guide_config_ssh')} + setActiveTab(index)} mb={4} colorScheme={'brightBlue'}> + + {systemList.map((item) => ( + {item} + ))} + + + {/* one-click */} {t('jetbrains_guide_one_click_setup')} @@ -68,7 +80,7 @@ const SshConnectModal = ({ ), lightColor: (chunks) => ( - + {chunks} ) @@ -90,234 +102,124 @@ const SshConnectModal = ({ }}> {t('download_scripts')} - - - - - - - - - {onOpenScripts1 && } + + {/* step-by-step */} {/* 1 */} - - - } /> - - - - {t.rich('jetbrains_guide_download_private_key', { - blue: (chunks) => ( - - {chunks} - - ) - })} + + + + } /> + + + + {t.rich('jetbrains_guide_download_private_key', { + blue: (chunks) => ( + + {chunks} + + ) + })} + + - - - - + + + {/* 2 */} - - - } /> - - - - {t.rich('jetbrains_guide_move_to_path', { - blue: (chunks) => ( - - {chunks} - - ) - })} - - - - - - {/* 3 */} - - - } /> - - - - {t.rich('jetbrains_guide_modified_file', { - blue: (chunks) => ( - - {chunks} - - ) - })} - - - - + + + + } /> + + + + {t.rich('jetbrains_guide_move_to_path', { + blue: (chunks) => ( + + {chunks} + + ) + })} - - + + - {onOpenScripts2 && } - - - - {/* 4 */} - - - } /> - - - {t('jetbrains_guide_command')} - - - - - - + + + + {/* 3 */} + + + + } /> + + + + {t.rich('jetbrains_guide_modified_file', { + blue: (chunks) => ( + + {chunks} + + ) + })} + - {onOpenScripts3 && } - - - + + + + {/* 4 */} + + + + } /> + + + {t('jetbrains_guide_command')} + + + + + {/* done */} From ab314fc27237e8b7cb6810a32f8eeab95f7aacdb Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 17:53:13 +0800 Subject: [PATCH 21/52] feat: script feat --- frontend/providers/devbox/components/Code.tsx | 2 +- .../providers/devbox/components/IDEButton.tsx | 19 ++++- .../devbox/components/ScriptCode.tsx | 55 +++++++------ .../components/modals/SshConnectModal.tsx | 82 +++++++++++++++---- .../components/modals/jetbrainsGuideModal.tsx | 12 +-- .../providers/devbox/constants/scripts.ts | 28 ++++++- 6 files changed, 138 insertions(+), 60 deletions(-) diff --git a/frontend/providers/devbox/components/Code.tsx b/frontend/providers/devbox/components/Code.tsx index 9189ceb9742..b5f6c769833 100644 --- a/frontend/providers/devbox/components/Code.tsx +++ b/frontend/providers/devbox/components/Code.tsx @@ -19,7 +19,7 @@ const Code = ({ content, language, ...props }: TMarkDown) => { sx={{ height: '100%', '& div': { - overflow: 'visible !important' + overflow: 'hidden !important' } }}> (null) + const [jetbrainsGuideData, setJetBrainsGuideData] = useState() const [onOpenJetbrainsModal, setOnOpenJetbrainsModal] = useState(false) const currentIDE = getDevboxIDEByDevboxName(devboxName) as IDEType @@ -80,7 +92,8 @@ const IDEButton = ({ token, workingDir, host: env.sealosDomain, - port: sshPort.toString() + port: sshPort.toString(), + configHost: `${env.sealosDomain}_${env.namespace}_${devboxName}` }) if (currentIDE === 'jetbrains') { @@ -196,7 +209,7 @@ const IDEButton = ({ ))} - {!!onOpenJetbrainsModal && ( + {!!onOpenJetbrainsModal && !!jetbrainsGuideData && ( {}} onClose={() => setOnOpenJetbrainsModal(false)} diff --git a/frontend/providers/devbox/components/ScriptCode.tsx b/frontend/providers/devbox/components/ScriptCode.tsx index 6dd2c17fef4..0388771e665 100644 --- a/frontend/providers/devbox/components/ScriptCode.tsx +++ b/frontend/providers/devbox/components/ScriptCode.tsx @@ -4,38 +4,43 @@ import { Box, Button, Flex } from '@chakra-ui/react' import MyIcon from './Icon' import Code from './Code' -const ScriptCode = () => { +const ScriptCode = ({ platform, script }: { platform: string; script: string }) => { const [onOpenScripts, setOnOpenScripts] = useState(false) return ( <> - - - - + _hover={{ + color: 'brightBlue.600', + '& svg': { + color: 'brightBlue.600' + } + }}> + {platform === 'windows' ? 'PowerShell' : 'Bash'} + + - + + {onOpenScripts && ( + + + + )} - {onOpenScripts && } ) } diff --git a/frontend/providers/devbox/components/modals/SshConnectModal.tsx b/frontend/providers/devbox/components/modals/SshConnectModal.tsx index 903fb0c1351..b8e3d04fb9a 100644 --- a/frontend/providers/devbox/components/modals/SshConnectModal.tsx +++ b/frontend/providers/devbox/components/modals/SshConnectModal.tsx @@ -20,29 +20,26 @@ import { Tabs, TabList } from '@chakra-ui/react' -import { useState } from 'react' +import { useMemo, useState } from 'react' import { useTranslations } from 'next-intl' -import Code from '../Code' import Tab from '../Tab' import MyIcon from '../Icon' import ScriptCode from '../ScriptCode' - -interface JetBrainsGuideData { - devboxName: string - runtimeType: string - privateKey: string - userName: string - token: string - workingDir: string - host: string - port: string -} +import { + macosAndLinuxScriptsTemplate, + sshConfig, + sshConnectCommand, + windowsScriptsTemplate +} from '@/constants/scripts' +import { JetBrainsGuideData } from '../IDEButton' const systemList = ['Windows', 'Mac', 'Linux'] const SshConnectModal = ({ - onClose + onClose, + jetbrainsGuideData, + onSuccess }: { onSuccess: () => void onClose: () => void @@ -52,9 +49,46 @@ const SshConnectModal = ({ const [activeTab, setActiveTab] = useState(0) + const script = useMemo(() => { + if (activeTab === 0) { + return { + platform: 'Windows', + script: windowsScriptsTemplate( + jetbrainsGuideData.privateKey, + jetbrainsGuideData.configHost, + jetbrainsGuideData.host, + jetbrainsGuideData.port, + jetbrainsGuideData.userName + ) + } + } else if (activeTab === 1) { + return { + platform: 'Mac', + script: macosAndLinuxScriptsTemplate( + jetbrainsGuideData.privateKey, + jetbrainsGuideData.configHost, + jetbrainsGuideData.host, + jetbrainsGuideData.port, + jetbrainsGuideData.userName + ) + } + } else { + return { + platform: 'Linux', + script: macosAndLinuxScriptsTemplate( + jetbrainsGuideData.privateKey, + jetbrainsGuideData.configHost, + jetbrainsGuideData.host, + jetbrainsGuideData.port, + jetbrainsGuideData.userName + ) + } + } + }, [activeTab, jetbrainsGuideData]) + return ( - + {t('jetbrains_guide_config_ssh')} @@ -102,7 +136,7 @@ const SshConnectModal = ({ }}> {t('download_scripts')} - + {/* step-by-step */} @@ -202,7 +236,16 @@ const SshConnectModal = ({ ) })} - + @@ -215,7 +258,10 @@ const SshConnectModal = ({ {t('jetbrains_guide_command')} - + diff --git a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx index 6c1f643ba99..19ac222104f 100644 --- a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx +++ b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx @@ -25,17 +25,7 @@ import { useTranslations } from 'next-intl' import MyIcon from '../Icon' import SshConnectModal from './SshConnectModal' - -interface JetBrainsGuideData { - devboxName: string - runtimeType: string - privateKey: string - userName: string - token: string - workingDir: string - host: string - port: string -} +import { JetBrainsGuideData } from '../IDEButton' const JetBrainsGuideModal = ({ onClose, diff --git a/frontend/providers/devbox/constants/scripts.ts b/frontend/providers/devbox/constants/scripts.ts index 6665e36409a..585826a8eb8 100644 --- a/frontend/providers/devbox/constants/scripts.ts +++ b/frontend/providers/devbox/constants/scripts.ts @@ -1,6 +1,6 @@ export const windowsScriptsTemplate = ( privateKey: string, - name: string, + configHost: string, host: string, port: string, user: string @@ -16,7 +16,7 @@ export const windowsScriptsTemplate = ( ${privateKey} "@ -\$Name = "${name}" +\$Name = "${configHost}" \$Host = "${host}" \$Port = "${port}" \$User = "${user}" @@ -77,7 +77,7 @@ if (Select-String -Path \$ConfigFile -Pattern "^Host \$Name") { ` export const macosAndLinuxScriptsTemplate = ( privateKey: string, - name: string, + configHost: string, host: string, port: string, user: string @@ -91,7 +91,7 @@ CONFIG_FILE_TXT=\${CONFIG_DIR_TXT}devbox_config CONFIG_FILE=\${CONFIG_DIR}devbox_config PRIVATE_KEY="${privateKey}" -NAME="${name}" +NAME="${configHost}" HOST="${host}" PORT="${port}" USER="${user}" @@ -140,3 +140,23 @@ else # 追加到文件末尾 echo -e "\$HOST_ENTRY" >> "\$CONFIG_FILE" fi` + +export const sshConfig = ( + privateKey: string, + configHost: string, + host: string, + port: string, + user: string +) => ` +Host ${configHost} + HostName ${host} + Port ${port} + User ${user} + IdentityFile ${privateKey} + IdentitiesOnly yes + StrictHostKeyChecking no +` + +export const sshConnectCommand = (configHost: string) => ` +ssh ${configHost} +` From b2d385dfd2ede9d0e10ed39ec47c6ec8f2669e90 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 18:10:24 +0800 Subject: [PATCH 22/52] fix: modal scroll bug --- .../devbox/components/ScriptCode.tsx | 80 +++++++++---------- .../components/modals/jetbrainsGuideModal.tsx | 14 ++-- 2 files changed, 46 insertions(+), 48 deletions(-) diff --git a/frontend/providers/devbox/components/ScriptCode.tsx b/frontend/providers/devbox/components/ScriptCode.tsx index 0388771e665..997ae7b8176 100644 --- a/frontend/providers/devbox/components/ScriptCode.tsx +++ b/frontend/providers/devbox/components/ScriptCode.tsx @@ -8,60 +8,58 @@ const ScriptCode = ({ platform, script }: { platform: string; script: string }) const [onOpenScripts, setOnOpenScripts] = useState(false) return ( - <> - - - - - + + + - - {onOpenScripts && ( - - - - )} + + - + {onOpenScripts && ( + + + + )} + ) } diff --git a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx index 19ac222104f..ee604e1027a 100644 --- a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx +++ b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx @@ -243,16 +243,16 @@ const JetBrainsGuideModal = ({ {t('jetbrains_guide_documentation')} + {onOpenSSHConnectModal && ( + setOnOpenSSHConnectModal(false)} + onSuccess={() => {}} + jetbrainsGuideData={jetbrainsGuideData} + /> + )} - {onOpenSSHConnectModal && ( - setOnOpenSSHConnectModal(false)} - onSuccess={() => {}} - jetbrainsGuideData={jetbrainsGuideData} - /> - )} ) } From 7abea0ecf0c42c49f39d7fcc5e10942649729d0a Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 18:26:07 +0800 Subject: [PATCH 23/52] fix: style bug --- frontend/providers/devbox/components/Code.tsx | 2 +- frontend/providers/devbox/components/ScriptCode.tsx | 2 +- .../devbox/components/modals/SshConnectModal.tsx | 1 - frontend/providers/devbox/constants/hljs.ts | 2 +- frontend/providers/devbox/constants/scripts.ts | 12 ++++-------- 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/frontend/providers/devbox/components/Code.tsx b/frontend/providers/devbox/components/Code.tsx index b5f6c769833..77a34f48ebd 100644 --- a/frontend/providers/devbox/components/Code.tsx +++ b/frontend/providers/devbox/components/Code.tsx @@ -19,7 +19,7 @@ const Code = ({ content, language, ...props }: TMarkDown) => { sx={{ height: '100%', '& div': { - overflow: 'hidden !important' + overflow: 'auto !important' } }}> {onOpenScripts && ( - + )} diff --git a/frontend/providers/devbox/components/modals/SshConnectModal.tsx b/frontend/providers/devbox/components/modals/SshConnectModal.tsx index b8e3d04fb9a..245a37b2478 100644 --- a/frontend/providers/devbox/components/modals/SshConnectModal.tsx +++ b/frontend/providers/devbox/components/modals/SshConnectModal.tsx @@ -239,7 +239,6 @@ const SshConnectModal = ({ ` -\$ConfigDirTxt = "\$HOME\\.ssh\\sealos\\" +) => `\$ConfigDirTxt = "\$HOME\\.ssh\\sealos\\" \$ConfigDir = Resolve-Path \$ConfigDirTxt \$SSHConfigFile = "\$HOME\\.ssh\\config" @@ -142,21 +141,18 @@ else fi` export const sshConfig = ( - privateKey: string, configHost: string, host: string, port: string, user: string -) => ` -Host ${configHost} +) => `Host ${configHost} HostName ${host} Port ${port} User ${user} - IdentityFile ${privateKey} + IdentityFile ~/.ssh/sealos/${configHost} IdentitiesOnly yes StrictHostKeyChecking no ` -export const sshConnectCommand = (configHost: string) => ` -ssh ${configHost} +export const sshConnectCommand = (configHost: string) => `ssh ${configHost} ` From 53dea538313a1bde75c5453687149dae5af9ac33 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 18:29:28 +0800 Subject: [PATCH 24/52] feat: copy code --- frontend/providers/devbox/components/ScriptCode.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/frontend/providers/devbox/components/ScriptCode.tsx b/frontend/providers/devbox/components/ScriptCode.tsx index a577150e556..40bd6fa3969 100644 --- a/frontend/providers/devbox/components/ScriptCode.tsx +++ b/frontend/providers/devbox/components/ScriptCode.tsx @@ -3,10 +3,13 @@ import { Box, Button, Flex } from '@chakra-ui/react' import MyIcon from './Icon' import Code from './Code' +import { useCopyData } from '@/utils/tools' const ScriptCode = ({ platform, script }: { platform: string; script: string }) => { const [onOpenScripts, setOnOpenScripts] = useState(false) + const { copyData } = useCopyData() + return ( - + copyData(script)} + /> {onOpenScripts && ( From a37597465acf26b7731495475bfc74e043127b40 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 20:26:47 +0800 Subject: [PATCH 25/52] feat: download function --- .../detail/[name]/components/BasicInfo.tsx | 31 +++++-------------- .../components/modals/SshConnectModal.tsx | 23 ++++++++++++-- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx index 0f215993fe8..35bf3966357 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx @@ -10,6 +10,7 @@ import { DevboxDetailType } from '@/types/devbox' import { useEnvStore } from '@/stores/env' import { useDevboxStore } from '@/stores/devbox' import { useRuntimeStore } from '@/stores/runtime' +import { downLoadBlob } from '@/utils/tools' const BasicInfo = () => { const t = useTranslations() @@ -33,28 +34,6 @@ const BasicInfo = () => { }) }, [devboxDetail?.sshConfig?.sshUser, devboxDetail.sshPort, env.sealosDomain, toast, t]) - const handleDownloadConfig = useCallback( - async (config: DevboxDetailType['sshConfig']) => { - setLoading(true) - - const privateKey = config?.sshPrivateKey as string - - const blob = new Blob([privateKey], { type: 'application/octet-stream' }) - const url = window.URL.createObjectURL(blob) - const a = document.createElement('a') - a.style.display = 'none' - a.href = url - a.download = devboxDetail.name - document.body.appendChild(a) - a.click() - window.URL.revokeObjectURL(url) - document.body.removeChild(a) - - setLoading(false) - }, - [devboxDetail] - ) - return ( {/* basic info */} @@ -205,7 +184,13 @@ const BasicInfo = () => { color={'grayModern.600'} w={'16px'} h={'16px'} - onClick={() => handleDownloadConfig(devboxDetail?.sshConfig)} + onClick={() => + downLoadBlob( + devboxDetail?.sshConfig?.sshPrivateKey as string, + 'application/octet-stream', + `${devboxDetail?.name}` + ) + } /> diff --git a/frontend/providers/devbox/components/modals/SshConnectModal.tsx b/frontend/providers/devbox/components/modals/SshConnectModal.tsx index 245a37b2478..8a5b83aec44 100644 --- a/frontend/providers/devbox/components/modals/SshConnectModal.tsx +++ b/frontend/providers/devbox/components/modals/SshConnectModal.tsx @@ -33,6 +33,7 @@ import { windowsScriptsTemplate } from '@/constants/scripts' import { JetBrainsGuideData } from '../IDEButton' +import { downLoadBlob } from '@/utils/tools' const systemList = ['Windows', 'Mac', 'Linux'] @@ -122,8 +123,10 @@ const SshConnectModal = ({ @@ -166,6 +180,7 @@ const SshConnectModal = ({ color={'grayModern.600'} borderRadius={'5px'} borderWidth={1} + py={4} size={'sm'} _hover={{ color: 'brightBlue.600', @@ -174,7 +189,11 @@ const SshConnectModal = ({ } }} onClick={() => { - window.open('https://code-with-me.jetbrains.com/remoteDev', '_blank') + downLoadBlob( + jetbrainsGuideData.privateKey, + 'application/octet-stream', + `${jetbrainsGuideData.configHost}` + ) }}> {t('download_private_key')} From fd7729a2c47902badb76b039af9c3ae4062ec555 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 21:55:26 +0800 Subject: [PATCH 26/52] feat: connect style --- .../components/Icon/icons/infoCircle.svg | 2 +- .../components/modals/jetbrainsGuideModal.tsx | 68 +++++++++++++++++-- frontend/providers/devbox/message/en.json | 3 + frontend/providers/devbox/message/zh.json | 3 + 4 files changed, 69 insertions(+), 7 deletions(-) diff --git a/frontend/providers/devbox/components/Icon/icons/infoCircle.svg b/frontend/providers/devbox/components/Icon/icons/infoCircle.svg index 6cf4fd51465..453a5d4513d 100644 --- a/frontend/providers/devbox/components/Icon/icons/infoCircle.svg +++ b/frontend/providers/devbox/components/Icon/icons/infoCircle.svg @@ -1,4 +1,4 @@ - + diff --git a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx index ee604e1027a..627b3b9077f 100644 --- a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx +++ b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx @@ -18,7 +18,8 @@ import { Grid, GridItem, Circle, - ModalCloseButton + ModalCloseButton, + Progress } from '@chakra-ui/react' import { useState } from 'react' import { useTranslations } from 'next-intl' @@ -39,8 +40,9 @@ const JetBrainsGuideModal = ({ const recommendIDE = runtimeTypeToIDEType(jetbrainsGuideData.runtimeType) - const [selectedIDE, setSelectedIDE] = useState(recommendIDE.value) const [onOpenSSHConnectModal, setOnOpenSSHConnectModal] = useState(false) + const [selectedIDE, setSelectedIDE] = useState(recommendIDE.value) + const [onConnecting, setOnConnecting] = useState(false) return ( @@ -208,13 +210,67 @@ const JetBrainsGuideModal = ({ borderRadius={'6px'} color={'grayModern.600'} size={'sm'} - _hover={{ - color: 'brightBlue.600', - borderColor: 'brightBlue.500' + px={1} + borderColor={onConnecting ? 'brightBlue.500' : 'grayModern.200'} + _hover={ + onConnecting + ? {} + : { + color: 'brightBlue.600', + borderColor: 'brightBlue.500' + } + } + onClick={() => { + setOnConnecting(true) }} h={'36px'}> - {t('jetbrains_guide_start_to_connect')} + {onConnecting ? ( + + {t.rich('jetbrains_guide_connecting', { + process: '100' + })} + { + e.stopPropagation() + setOnConnecting(false) + }}> + {t('jetbrains_guide_cancel')} + + + + ) : ( + t('jetbrains_guide_start_to_connect') + )} + {onConnecting && ( + + + + {t('jetbrains_guide_connecting_info')} + + + )} diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index 467429af927..3983759b917 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -84,9 +84,11 @@ "image_info": "Image", "image_name": "Image Name", "internal_address": "Internal Address", + "jetbrains_guide_cancel": "Click to Cancel", "jetbrains_guide_click_to_config": "Click the button below to configure SSH connection .", "jetbrains_guide_command": "Open a terminal and type the following command:", "jetbrains_guide_config_ssh": "Configure SSH Connection", + "jetbrains_guide_connecting": "Connecting ({process}%) ...", "jetbrains_guide_documentation": "User Guide", "jetbrains_guide_download_private_key": "Download the private key.", "jetbrains_guide_modified_file": "Open ~/.ssh/sealos/devbox_config and append the following content:", @@ -110,6 +112,7 @@ "jetbrains_guide_step_3_4": "Wait for the IDE to be ready.", "jetbrains_guide_step_3_5": "Check if local {ide} is automatically invoked.", "jetbrains_guide_three_steps": "(3 steps)", + "jetbrains_guide_connecting_info": "The initial connection may take 3-5 minutes. Please be patient.", "jump_prompt": "Jump prompt", "jump_terminal_error": "Jump terminal failed", "language": "Language", diff --git a/frontend/providers/devbox/message/zh.json b/frontend/providers/devbox/message/zh.json index badf6c7e543..a6524dad3e6 100644 --- a/frontend/providers/devbox/message/zh.json +++ b/frontend/providers/devbox/message/zh.json @@ -112,6 +112,9 @@ "jetbrains_guide_step_3_4": "等待 IDE 下载完毕。", "jetbrains_guide_step_3_5": "自动唤起本地的{ide}。", "jetbrains_guide_three_steps": "(共 3 步)", + "jetbrains_guide_connecting": "正在连接({process}%)...", + "jetbrains_guide_connecting_info": "第一次连接需要 3-5 min,请耐心等待", + "jetbrains_guide_cancel": "点击取消", "jump_prompt": "跳转提示", "jump_terminal_error": "跳转终端失败", "language": "语言", From 821714981bcc6e51904e8f5067c31656b98c4b62 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 22:14:33 +0800 Subject: [PATCH 27/52] feat: detail sshconfig --- .../detail/[name]/components/BasicInfo.tsx | 92 +++++++++++++++---- frontend/providers/devbox/message/en.json | 3 +- frontend/providers/devbox/message/zh.json | 7 +- 3 files changed, 82 insertions(+), 20 deletions(-) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx index 35bf3966357..f08b3d35b1b 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx @@ -1,16 +1,16 @@ import { useMessage } from '@sealos/ui' import { useTranslations } from 'next-intl' import React, { useCallback, useState } from 'react' -import { Box, Text, Flex, Image, Spinner, Tooltip } from '@chakra-ui/react' +import { Box, Text, Flex, Image, Spinner, Tooltip, Button } from '@chakra-ui/react' import MyIcon from '@/components/Icon' - -import { DevboxDetailType } from '@/types/devbox' - +import SshConnectModal from '@/components/modals/sshConnectModal' import { useEnvStore } from '@/stores/env' import { useDevboxStore } from '@/stores/devbox' import { useRuntimeStore } from '@/stores/runtime' import { downLoadBlob } from '@/utils/tools' +import { getSSHConnectionInfo, getSSHRuntimeInfo } from '@/api/devbox' +import { JetBrainsGuideData } from '@/components/IDEButton' const BasicInfo = () => { const t = useTranslations() @@ -21,6 +21,40 @@ const BasicInfo = () => { const { getRuntimeDetailLabel } = useRuntimeStore() const [loading, setLoading] = useState(false) + const [onOpenSsHConnect, setOnOpenSsHConnect] = useState(false) + const [sshConfigData, setSshConfigData] = useState(null) + + const handleOneClickConfig = useCallback(async () => { + const { base64PrivateKey, userName, token } = await getSSHConnectionInfo({ + devboxName: devboxDetail?.name, + runtimeName: devboxDetail?.runtimeVersion + }) + const { workingDir } = await getSSHRuntimeInfo(devboxDetail?.runtimeVersion) + const sshPrivateKey = Buffer.from(base64PrivateKey, 'base64').toString('utf-8') + + if (!devboxDetail?.sshPort) return + + setSshConfigData({ + devboxName: devboxDetail?.name, + runtimeType: devboxDetail?.runtimeType, + privateKey: sshPrivateKey, + userName, + token, + workingDir, + host: env.sealosDomain, + port: devboxDetail?.sshPort.toString(), + configHost: `${env.sealosDomain}_${env.namespace}_${devboxDetail?.name}` + }) + + setOnOpenSsHConnect(true) + }, [ + devboxDetail?.name, + devboxDetail?.runtimeType, + devboxDetail?.runtimeVersion, + devboxDetail?.sshPort, + env.namespace, + env.sealosDomain + ]) const handleCopySSHCommand = useCallback(() => { const sshCommand = `ssh -i yourPrivateKeyPath ${devboxDetail?.sshConfig?.sshUser}@${env.sealosDomain} -p ${devboxDetail.sshPort}` @@ -113,19 +147,34 @@ const BasicInfo = () => { {/* ssh config */} - - + + + + {t('ssh_config')} + + + @@ -259,6 +308,17 @@ const BasicInfo = () => { + {onOpenSsHConnect && sshConfigData && ( + { + setOnOpenSsHConnect(false) + }} + onClose={() => { + setOnOpenSsHConnect(false) + }} + /> + )} ) } diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index 3983759b917..daf49353fa4 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -89,6 +89,7 @@ "jetbrains_guide_command": "Open a terminal and type the following command:", "jetbrains_guide_config_ssh": "Configure SSH Connection", "jetbrains_guide_connecting": "Connecting ({process}%) ...", + "jetbrains_guide_connecting_info": "The initial connection may take 3-5 minutes. Please be patient.", "jetbrains_guide_documentation": "User Guide", "jetbrains_guide_download_private_key": "Download the private key.", "jetbrains_guide_modified_file": "Open ~/.ssh/sealos/devbox_config and append the following content:", @@ -112,7 +113,6 @@ "jetbrains_guide_step_3_4": "Wait for the IDE to be ready.", "jetbrains_guide_step_3_5": "Check if local {ide} is automatically invoked.", "jetbrains_guide_three_steps": "(3 steps)", - "jetbrains_guide_connecting_info": "The initial connection may take 3-5 minutes. Please be patient.", "jump_prompt": "Jump prompt", "jump_terminal_error": "Jump terminal failed", "language": "Language", @@ -128,6 +128,7 @@ "nodeports_exceeds_quota": "The number of devbox created exceeds the limit, please contact the administrator", "none": "None", "not_allow_standalone_use": "Not allowed to use standalone", + "one_click_config": "One-Click Setup", "open_link": "Open link", "open_vscode": "VS Code", "opening_ide": "Opening IDE...", diff --git a/frontend/providers/devbox/message/zh.json b/frontend/providers/devbox/message/zh.json index a6524dad3e6..3d15f56ef04 100644 --- a/frontend/providers/devbox/message/zh.json +++ b/frontend/providers/devbox/message/zh.json @@ -86,9 +86,12 @@ "image_name": "镜像名", "internal_address": "内网地址", "intranet_address": "内网地址", + "jetbrains_guide_cancel": "点击取消", "jetbrains_guide_click_to_config": "点击下方按钮,配置 SSH 连接信息。", "jetbrains_guide_command": "打开命令行,输入以下命令:", "jetbrains_guide_config_ssh": "配置 SSH 连接信息", + "jetbrains_guide_connecting": "正在连接({process}%)...", + "jetbrains_guide_connecting_info": "第一次连接需要 3-5 min,请耐心等待", "jetbrains_guide_documentation": "使用文档", "jetbrains_guide_download_private_key": "下载 私钥。", "jetbrains_guide_modified_file": "修改 ~/.ssh/sealos/devbox_config 文件(如果不存在需要新建一个文件),内容为:", @@ -112,9 +115,6 @@ "jetbrains_guide_step_3_4": "等待 IDE 下载完毕。", "jetbrains_guide_step_3_5": "自动唤起本地的{ide}。", "jetbrains_guide_three_steps": "(共 3 步)", - "jetbrains_guide_connecting": "正在连接({process}%)...", - "jetbrains_guide_connecting_info": "第一次连接需要 3-5 min,请耐心等待", - "jetbrains_guide_cancel": "点击取消", "jump_prompt": "跳转提示", "jump_terminal_error": "跳转终端失败", "language": "语言", @@ -130,6 +130,7 @@ "nodeports_exceeds_quota": "创建的 Devbox 数量超出限制,请联系管理员", "none": "无", "not_allow_standalone_use": "不允许独立使用", + "one_click_config": "一键配置", "open_link": "打开链接", "open_vscode": "VS Code", "opening_ide": "正在打开 IDE...", From cbae1e88d977bcaa1b42fd2c94b84b1e3a42343c Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 12 Dec 2024 23:19:18 +0800 Subject: [PATCH 28/52] feat: basic execCommand logic --- frontend/providers/devbox/api/devbox.ts | 3 + .../app/api/execCommandInDevboxPod/route.ts | 65 ++++++++++++++ .../components/modals/jetbrainsGuideModal.tsx | 84 +++++++++++++------ 3 files changed, 128 insertions(+), 24 deletions(-) create mode 100644 frontend/providers/devbox/app/api/execCommandInDevboxPod/route.ts diff --git a/frontend/providers/devbox/api/devbox.ts b/frontend/providers/devbox/api/devbox.ts index 6cec0b4fc2e..6d302a42ea9 100644 --- a/frontend/providers/devbox/api/devbox.ts +++ b/frontend/providers/devbox/api/devbox.ts @@ -88,3 +88,6 @@ export const getAppsByDevboxId = (devboxId: string) => GET('/api/getAppsByDevboxId', { devboxId }).then((res) => res.map(adaptAppListItem) ) + +export const execCommandInDevboxPod = (data: { devboxName: string; command: string }) => + POST('/api/execCommandInDevboxPod', data) diff --git a/frontend/providers/devbox/app/api/execCommandInDevboxPod/route.ts b/frontend/providers/devbox/app/api/execCommandInDevboxPod/route.ts new file mode 100644 index 00000000000..f1e0e10e096 --- /dev/null +++ b/frontend/providers/devbox/app/api/execCommandInDevboxPod/route.ts @@ -0,0 +1,65 @@ +import { NextRequest } from 'next/server' + +import { authSession } from '@/services/backend/auth' +import { getK8s } from '@/services/backend/kubernetes' +import { jsonRes } from '@/services/backend/response' + +export const dynamic = 'force-dynamic' + +export async function POST(req: NextRequest) { + try { + const { devboxName, command } = (await req.json()) as { + devboxName: string + command: string + } + + const headerList = req.headers + + const { namespace, k8sCore } = await getK8s({ + kubeconfig: await authSession(headerList) + }) + + // get pods + const { + body: { items: pods } + } = await k8sCore.listNamespacedPod( + namespace, + undefined, + undefined, + undefined, + undefined, + `app.kubernetes.io/name=${devboxName}` + ) + + const podName = pods[0].metadata?.name + const containerName = pods[0].spec?.containers[0].name + + if (!podName) { + return jsonRes({ + code: 500, + error: 'Pod not found' + }) + } + + const { body } = await k8sCore.connectGetNamespacedPodExec( + podName, + namespace, + `sh -c "${command}"`, + containerName, + true, + true, + true, + false + ) + console.log('body', body) + + return jsonRes({ + data: body + }) + } catch (err: any) { + return jsonRes({ + code: 500, + error: err + }) + } +} diff --git a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx index 627b3b9077f..c878e105bba 100644 --- a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx +++ b/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx @@ -21,12 +21,14 @@ import { ModalCloseButton, Progress } from '@chakra-ui/react' -import { useState } from 'react' +import { useCallback, useState } from 'react' import { useTranslations } from 'next-intl' import MyIcon from '../Icon' import SshConnectModal from './SshConnectModal' + import { JetBrainsGuideData } from '../IDEButton' +import { execCommandInDevboxPod } from '@/api/devbox' const JetBrainsGuideModal = ({ onClose, @@ -41,9 +43,40 @@ const JetBrainsGuideModal = ({ const recommendIDE = runtimeTypeToIDEType(jetbrainsGuideData.runtimeType) const [onOpenSSHConnectModal, setOnOpenSSHConnectModal] = useState(false) - const [selectedIDE, setSelectedIDE] = useState(recommendIDE.value) + const [selectedIDE, setSelectedIDE] = useState<{ + label: string + value: string + productCode: string + }>(recommendIDE) const [onConnecting, setOnConnecting] = useState(false) + const handleConnectIDE = useCallback(async () => { + const res = await fetch( + `https://data.services.jetbrains.com/products/releases?code=${selectedIDE.productCode}&type=release&latest=true&build=`, + { + method: 'GET', + headers: { + 'Content-Type': 'application/json' + } + } + ) + const data = await res.json() + const version = data[selectedIDE.productCode][0].version + + const execDownloadCommand = `[ ! -d /home/devbox/.cache/JetBrains/IntelliJIdea${version} ] && mkdir -p /home/devbox/.cache/JetBrains/IntelliJIdea${version} && wget -q --show-progress --progress=bar:force -O- https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz | tar -xzC /home/devbox/.cache/JetBrains/IntelliJIdea${version} --strip-components=1` + + console.log('execDownloadCommand', execDownloadCommand) + + const resp = await execCommandInDevboxPod({ + devboxName: jetbrainsGuideData.devboxName, + command: execDownloadCommand + }) + + console.log(resp) + + setOnConnecting(true) + }, [selectedIDE, jetbrainsGuideData.devboxName]) + return ( @@ -157,19 +190,15 @@ const JetBrainsGuideModal = ({ {t('jetbrains_guide_select_ide')} - {Object.values(jetbrainsIDEObj).map((ideType) => ( + {Object.values(jetbrainsIDEObj).map((ideType: any) => ( { - setSelectedIDE(ideType.value) + setSelectedIDE(ideType) }} position={'relative'}> @@ -220,9 +249,7 @@ const JetBrainsGuideModal = ({ borderColor: 'brightBlue.500' } } - onClick={() => { - setOnConnecting(true) - }} + onClick={handleConnectIDE} h={'36px'}> {onConnecting ? ( @@ -315,43 +342,52 @@ const JetBrainsGuideModal = ({ const jetbrainsIDEObj = { IntelliJ: { label: 'IntelliJ IDEA', - value: 'intellij' + value: 'intellij', + productCode: 'IIU' }, PyCharm: { label: 'PyCharm', - value: 'pycharm' + value: 'pycharm', + productCode: 'PCP' }, WebStorm: { label: 'WebStorm', - value: 'webstorm' + value: 'webstorm', + productCode: 'WS' }, Rider: { label: 'Rider', - value: 'rider' + value: 'rider', + productCode: 'RD' }, CLion: { label: 'CLion', - value: 'clion' + value: 'clion', + productCode: 'CL' }, GoLand: { label: 'GoLand', - value: 'goland' + value: 'goland', + productCode: 'GO' }, RubyMine: { label: 'RubyMine', - value: 'rubymine' + value: 'rubymine', + productCode: 'RM' }, PhpStorm: { label: 'PhpStorm', - value: 'phpstorm' + value: 'phpstorm', + productCode: 'PS' }, RustRover: { label: 'RustRover', - value: 'rustover' + value: 'rustover', + productCode: 'RR' } } -const runtimeTypeToIDEType = (runtimeType: string) => { +const runtimeTypeToIDEType = (runtimeType: string): any => { switch (runtimeType) { // Python case 'python': From bdb3bb30210af3f41f37ef3fd540a0f02497a9da Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Tue, 17 Dec 2024 15:40:46 +0800 Subject: [PATCH 29/52] feat: basic connection logic --- frontend/providers/devbox/api/devbox.ts | 15 ++- .../detail/[name]/components/BasicInfo.tsx | 2 +- .../app/api/execCommandInDevboxPod/route.ts | 121 ++++++++++++++++-- .../app/api/v1/getDBSecretList/route.ts | 2 - .../components/modals/SshConnectModal.tsx | 12 +- .../components/modals/jetbrainsGuideModal.tsx | 79 ++++++++++-- .../providers/devbox/constants/scripts.ts | 43 ++++--- .../devbox/services/backend/kubernetes.ts | 1 + 8 files changed, 218 insertions(+), 57 deletions(-) diff --git a/frontend/providers/devbox/api/devbox.ts b/frontend/providers/devbox/api/devbox.ts index 6d302a42ea9..bea85f361ad 100644 --- a/frontend/providers/devbox/api/devbox.ts +++ b/frontend/providers/devbox/api/devbox.ts @@ -17,6 +17,7 @@ import { import { GET, POST, DELETE } from '@/services/request' import { KBDevboxType, KBDevboxReleaseType } from '@/types/k8s' import { MonitorDataResult, MonitorQueryKey } from '@/types/monitor' +import { AxiosProgressEvent } from 'axios' export const getMyDevboxList = () => GET('/api/getDevboxList').then((data): DevboxListItemType[] => @@ -89,5 +90,15 @@ export const getAppsByDevboxId = (devboxId: string) => res.map(adaptAppListItem) ) -export const execCommandInDevboxPod = (data: { devboxName: string; command: string }) => - POST('/api/execCommandInDevboxPod', data) +export const execCommandInDevboxPod = (data: { + devboxName: string + command: string + onDownloadProgress: (progressEvent: AxiosProgressEvent) => void + signal: AbortSignal +}) => + POST('/api/execCommandInDevboxPod', data, { + responseType: 'stream', + timeout: 0, + onDownloadProgress: data.onDownloadProgress, + signal: data.signal + }) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx index f08b3d35b1b..2cc2de36979 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/BasicInfo.tsx @@ -4,7 +4,7 @@ import React, { useCallback, useState } from 'react' import { Box, Text, Flex, Image, Spinner, Tooltip, Button } from '@chakra-ui/react' import MyIcon from '@/components/Icon' -import SshConnectModal from '@/components/modals/sshConnectModal' +import SshConnectModal from '@/components/modals/SshConnectModal' import { useEnvStore } from '@/stores/env' import { useDevboxStore } from '@/stores/devbox' import { useRuntimeStore } from '@/stores/runtime' diff --git a/frontend/providers/devbox/app/api/execCommandInDevboxPod/route.ts b/frontend/providers/devbox/app/api/execCommandInDevboxPod/route.ts index f1e0e10e096..bb8f91c82f7 100644 --- a/frontend/providers/devbox/app/api/execCommandInDevboxPod/route.ts +++ b/frontend/providers/devbox/app/api/execCommandInDevboxPod/route.ts @@ -1,4 +1,5 @@ import { NextRequest } from 'next/server' +import { PassThrough, Readable, Writable } from 'stream' import { authSession } from '@/services/backend/auth' import { getK8s } from '@/services/backend/kubernetes' @@ -6,6 +7,70 @@ import { jsonRes } from '@/services/backend/response' export const dynamic = 'force-dynamic' +async function execCommand( + k8sExec: any, + namespace: string, + podName: string, + containerName: string, + command: string[], + stdin: Readable | null = null, + stdout: Writable | null = null, + stderr: Writable | null = null +) { + return new Promise(async (resolve, reject) => { + let chunks = Buffer.alloc(0) + + if (!stdout) { + stdout = new PassThrough() + } + + const free = () => { + stderr?.removeAllListeners() + stdout?.removeAllListeners() + stdin?.removeAllListeners() + } + + stdout.on('end', () => { + free() + resolve(chunks.toString()) + }) + + stdout.on('error', (error) => { + free() + reject(error) + }) + + if (!stderr) { + stderr = new PassThrough() + } + + stderr.on('data', (chunk) => { + stdout?.write(chunk) + }) + + const WebSocket = await k8sExec.exec( + namespace, + podName, + containerName, + command, + stdout, + stderr, + stdin, + false + ) + + WebSocket.on('close', () => { + resolve('success upload, close web socket') + }) + + if (stdin) { + stdin.on('end', () => { + free() + }) + } + }) +} + export async function POST(req: NextRequest) { try { const { devboxName, command } = (await req.json()) as { @@ -15,7 +80,7 @@ export async function POST(req: NextRequest) { const headerList = req.headers - const { namespace, k8sCore } = await getK8s({ + const { namespace, k8sCore, k8sExec } = await getK8s({ kubeconfig: await authSession(headerList) }) @@ -34,27 +99,57 @@ export async function POST(req: NextRequest) { const podName = pods[0].metadata?.name const containerName = pods[0].spec?.containers[0].name - if (!podName) { + if (!podName || !containerName) { return jsonRes({ code: 500, - error: 'Pod not found' + error: 'Pod or container not found' }) } - const { body } = await k8sCore.connectGetNamespacedPodExec( - podName, + const processStream = new PassThrough() + const { readable, writable } = new TransformStream() + const writer = writable.getWriter() + + const execPromise = execCommand( + k8sExec, namespace, - `sh -c "${command}"`, + podName, containerName, - true, - true, - true, - false + ['/bin/sh', '-c', command], + null, + processStream, + null ) - console.log('body', body) - return jsonRes({ - data: body + processStream.on('data', (chunk) => writer.write(chunk)) + processStream.on('end', () => writer.close()) + processStream.on('error', async (error) => { + console.error('Process stream error:', error) + await writer.close() + }) + + execPromise.finally(async () => { + processStream.end() + }) + + req.signal.addEventListener('abort', async () => { + console.log('Connection aborted by client') + processStream.destroy() + await writer.close() + execCommand(k8sExec, namespace, podName, containerName, [ + '/bin/sh', + '-c', + 'rm -rf /home/devbox/.cache/JetBrains' + ]) + }) + + return new Response(readable, { + headers: { + 'Content-Type': 'text/event-stream;charset=utf-8', + 'Access-Control-Allow-Origin': '*', + 'X-Accel-Buffering': 'no', + 'Cache-Control': 'no-cache, no-transform' + } }) } catch (err: any) { return jsonRes({ diff --git a/frontend/providers/devbox/app/api/v1/getDBSecretList/route.ts b/frontend/providers/devbox/app/api/v1/getDBSecretList/route.ts index 04fa4bad6e5..ef0f4f39495 100644 --- a/frontend/providers/devbox/app/api/v1/getDBSecretList/route.ts +++ b/frontend/providers/devbox/app/api/v1/getDBSecretList/route.ts @@ -191,8 +191,6 @@ export async function GET(req: NextRequest) { const dbListResult = await Promise.all(dbList) - console.log('dbListResult', dbListResult) - return jsonRes({ data: { dbList: dbListResult diff --git a/frontend/providers/devbox/components/modals/SshConnectModal.tsx b/frontend/providers/devbox/components/modals/SshConnectModal.tsx index 8a5b83aec44..8e56b5ad88a 100644 --- a/frontend/providers/devbox/components/modals/SshConnectModal.tsx +++ b/frontend/providers/devbox/components/modals/SshConnectModal.tsx @@ -107,7 +107,7 @@ const SshConnectModal = ({ {t('jetbrains_guide_one_click_setup')} - + {t.rich('jetbrains_guide_one_click_setup_desc', { blue: (chunks) => ( @@ -120,7 +120,7 @@ const SshConnectModal = ({ ) })} - + - {onOpenScripts && ( + - )} + ) } diff --git a/frontend/providers/devbox/components/modals/SshConnectModal.tsx b/frontend/providers/devbox/components/modals/SshConnectModal.tsx index a1a23659c20..7380cc66ae9 100644 --- a/frontend/providers/devbox/components/modals/SshConnectModal.tsx +++ b/frontend/providers/devbox/components/modals/SshConnectModal.tsx @@ -116,7 +116,15 @@ const SshConnectModal = ({ {t('jetbrains_guide_config_ssh')} - + setActiveTab(index)} mb={4} From 7c8978e80e715d2d9c4a6f1cd6b1b984e8cc6e13 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 20 Dec 2024 11:43:23 +0800 Subject: [PATCH 38/52] fix: macos script bug --- frontend/providers/devbox/constants/scripts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/providers/devbox/constants/scripts.ts b/frontend/providers/devbox/constants/scripts.ts index d3d6db36d82..07813c53b07 100644 --- a/frontend/providers/devbox/constants/scripts.ts +++ b/frontend/providers/devbox/constants/scripts.ts @@ -127,7 +127,7 @@ if [ ! -f "\$SSH_CONFIG_FILE" ]; then fi if [ ! -s "\$SSH_CONFIG_FILE" ]; then - echo -e "Include \$CONFIG_FILE_TXT\\n" >> "\$SSH_CONFIG_FILE" + echo "Include \$CONFIG_FILE_TXT\\n" >> "\$SSH_CONFIG_FILE" else if ! grep -q "Include \$CONFIG_FILE_TXT" "\$SSH_CONFIG_FILE"; then temp_file="\$(mktemp)" From 9366ec7f9a5745a51488fde48146c35f171682fa Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 20 Dec 2024 12:03:31 +0800 Subject: [PATCH 39/52] fix: windows script re-test and fix --- frontend/providers/devbox/constants/scripts.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/providers/devbox/constants/scripts.ts b/frontend/providers/devbox/constants/scripts.ts index 07813c53b07..a4fb0cdb72e 100644 --- a/frontend/providers/devbox/constants/scripts.ts +++ b/frontend/providers/devbox/constants/scripts.ts @@ -4,11 +4,11 @@ export const windowsScriptsTemplate = ( host: string, port: string, user: string -) => `\$ConfigDirTxt = "\$HOME\\.ssh\\sealos\\" -\$ConfigDir = Resolve-Path \$ConfigDirTxt +) => `\$ConfigDirTxt = "~/.ssh/sealos/" +\$ConfigDir = "\$HOME\\.ssh\\sealos\\" \$SSHConfigFile = "\$HOME\\.ssh\\config" -\$ConfigFileTxt = "\${ConfigDirTxt}devbox_config" +\$ConfigFileTxt = "~/.ssh/sealos/devbox_config" \$ConfigFile = "\$ConfigDir\\devbox_config" \$PrivateKey = @" From da76b56a1e94f0a9499a0f48b66858f8bc042527 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 20 Dec 2024 14:05:53 +0800 Subject: [PATCH 40/52] feat: verify connection --- .../components/modals/SshConnectModal.tsx | 42 +++++++++++-------- frontend/providers/devbox/message/en.json | 1 + frontend/providers/devbox/message/zh.json | 7 ++-- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/frontend/providers/devbox/components/modals/SshConnectModal.tsx b/frontend/providers/devbox/components/modals/SshConnectModal.tsx index 7380cc66ae9..1419585b666 100644 --- a/frontend/providers/devbox/components/modals/SshConnectModal.tsx +++ b/frontend/providers/devbox/components/modals/SshConnectModal.tsx @@ -33,7 +33,7 @@ import { windowsScriptsTemplate } from '@/constants/scripts' import { JetBrainsGuideData } from '../IDEButton' -import { downLoadBlob } from '@/utils/tools' +import { downLoadBlob, useCopyData } from '@/utils/tools' const systemList = ['Windows', 'Mac', 'Linux'] @@ -47,6 +47,7 @@ const SshConnectModal = ({ jetbrainsGuideData: JetBrainsGuideData }) => { const t = useTranslations() + const { copyData } = useCopyData() const [activeTab, setActiveTab] = useState(0) @@ -271,7 +272,12 @@ const SshConnectModal = ({ }} cursor={'pointer'} ml={2}> - + copyData('~/.ssh/sealos')} + /> @@ -309,27 +315,27 @@ const SshConnectModal = ({ - {/* 4 */} - - - - } /> - - - {t('jetbrains_guide_command')} - - - - - {/* done */} + + {/* Check SSH Connection */} + + + {t('jetbrains_guide_check_ssh_connection')} + + + + + {t('jetbrains_guide_command')} + + + diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index d15d0ea155c..a92cd4f4535 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -85,6 +85,7 @@ "image_name": "Image Name", "internal_address": "Internal Address", "jetbrains_guide_cancel": "Click to Cancel", + "jetbrains_guide_check_ssh_connection": "Connection Verification", "jetbrains_guide_click_to_config": "Click the button below to configure SSH connection .", "jetbrains_guide_command": "Open a terminal and type the following command:", "jetbrains_guide_config_ssh": "Configure SSH Connection", diff --git a/frontend/providers/devbox/message/zh.json b/frontend/providers/devbox/message/zh.json index 75f69948fbc..43f975ff4e7 100644 --- a/frontend/providers/devbox/message/zh.json +++ b/frontend/providers/devbox/message/zh.json @@ -87,6 +87,7 @@ "internal_address": "内网地址", "intranet_address": "内网地址", "jetbrains_guide_cancel": "点击取消", + "jetbrains_guide_check_ssh_connection": "连接验证", "jetbrains_guide_click_to_config": "点击下方按钮,配置 SSH 连接信息。", "jetbrains_guide_command": "打开命令行,输入以下命令:", "jetbrains_guide_config_ssh": "配置 SSH 连接信息", @@ -95,7 +96,7 @@ "jetbrains_guide_documentation": "使用文档", "jetbrains_guide_download_private_key": "下载 私钥。", "jetbrains_guide_modified_file": "修改 ~/.ssh/sealos/devbox_config 文件(如果不存在需要新建一个文件),内容为:", - "jetbrains_guide_move_to_path": "将下载好的私钥移动到目录:~/.ssh/sealos/。", + "jetbrains_guide_move_to_path": "将下载好的私钥移动到目录:~/.ssh/sealos/ 。", "jetbrains_guide_one_click_setup": "一键配置", "jetbrains_guide_one_click_setup_desc": "点击下方按钮 下载 bat/sh 脚本,下载到本地后直接双击运行即可完成 SSH 连接信息的配置(或者您也可以复制脚本到本地一个文件,然后一键执行)。", "jetbrains_guide_post_connection": "如何连接服务?后续使用可点击下方按钮进行查看。", @@ -105,12 +106,12 @@ "jetbrains_guide_select_ide": "请选择一个 IDE 进行开发:", "jetbrains_guide_start_to_connect": "开始连接", "jetbrains_guide_start_to_use": "开始使用", - "jetbrains_guide_step_1": "在打开的 Jetbrains Gateway 窗口中,选择 New Connection。", + "jetbrains_guide_step_1": "在打开的 Jetbrains Gateway 窗口中,选择 New Connection 。", "jetbrains_guide_step_2_1": "填写 UsernameHostPort。", "jetbrains_guide_step_2_2": "下载私钥。", "jetbrains_guide_step_2_3": "勾选 Specify private key,选择刚才下载的私钥的所在路径。点击 Check Connection and Continue 按钮,即可测试 SSH 连接。", "jetbrains_guide_step_3_1": "选择 IDE 版本:推荐选择 {ideVersion}。", - "jetbrains_guide_step_3_2": "选择项目路径:{projectPath}。", + "jetbrains_guide_step_3_2": "选择项目路径:{projectPath} 。", "jetbrains_guide_step_3_3": "点击 Download IDE and Connect 按钮,即可下载 IDE 和连接。", "jetbrains_guide_step_3_4": "等待 IDE 下载完毕。", "jetbrains_guide_step_3_5": "自动唤起本地的{ide}。", From 80d19b8778e4900c3240b69638fffa6310f58da0 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 20 Dec 2024 14:26:55 +0800 Subject: [PATCH 41/52] fix: webpack build error --- .../app/[lang]/(platform)/(home)/components/DevboxList.tsx | 2 +- .../(platform)/devbox/detail/[name]/components/Version.tsx | 2 +- frontend/providers/devbox/components/IDEButton.tsx | 2 +- .../{jetbrainsGuideModal.tsx => JetbrainsGuideModalTemp.tsx} | 0 .../modals/{releaseModal.tsx => ReleaseModalTemp.tsx} | 0 5 files changed, 3 insertions(+), 3 deletions(-) rename frontend/providers/devbox/components/modals/{jetbrainsGuideModal.tsx => JetbrainsGuideModalTemp.tsx} (100%) rename frontend/providers/devbox/components/modals/{releaseModal.tsx => ReleaseModalTemp.tsx} (100%) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx b/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx index 7ba43dd43ea..7c482577278 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx @@ -14,7 +14,7 @@ import MyIcon from '@/components/Icon' import IDEButton from '@/components/IDEButton' import PodLineChart from '@/components/PodLineChart' import DevboxStatusTag from '@/components/DevboxStatusTag' -import ReleaseModal from '@/components/modals/ReleaseModal' +import ReleaseModal from '@/components/modals/ReleaseModalTemp' const DelModal = dynamic(() => import('@/components/modals/DelModal')) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx index a598920f264..15608c09377 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx @@ -8,7 +8,7 @@ import { Box, Button, Flex, MenuButton, Text, useDisclosure } from '@chakra-ui/r import MyIcon from '@/components/Icon' import MyTable from '@/components/MyTable' import DevboxStatusTag from '@/components/DevboxStatusTag' -import ReleaseModal from '@/components/modals/ReleaseModal' +import ReleaseModal from '@/components/modals/ReleaseModalTemp' import EditVersionDesModal from '@/components/modals/EditVersionDesModal' import { DevboxVersionListItemType } from '@/types/devbox' diff --git a/frontend/providers/devbox/components/IDEButton.tsx b/frontend/providers/devbox/components/IDEButton.tsx index 770126b5c14..a46bf9d2617 100644 --- a/frontend/providers/devbox/components/IDEButton.tsx +++ b/frontend/providers/devbox/components/IDEButton.tsx @@ -19,7 +19,7 @@ import { useEnvStore } from '@/stores/env' import { useIDEStore, IDEType } from '@/stores/ide' import { DevboxStatusMapType } from '@/types/devbox' import { getSSHConnectionInfo, getSSHRuntimeInfo } from '@/api/devbox' -import JetBrainsGuideModal from './modals/JetbrainsGuideModal' +import JetBrainsGuideModal from './modals/JetbrainsGuideModalTemp' interface Props { devboxName: string diff --git a/frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/JetbrainsGuideModalTemp.tsx similarity index 100% rename from frontend/providers/devbox/components/modals/jetbrainsGuideModal.tsx rename to frontend/providers/devbox/components/modals/JetbrainsGuideModalTemp.tsx diff --git a/frontend/providers/devbox/components/modals/releaseModal.tsx b/frontend/providers/devbox/components/modals/ReleaseModalTemp.tsx similarity index 100% rename from frontend/providers/devbox/components/modals/releaseModal.tsx rename to frontend/providers/devbox/components/modals/ReleaseModalTemp.tsx From 1120c367c43fa15c84d129e765ad32cba846c803 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 20 Dec 2024 14:27:36 +0800 Subject: [PATCH 42/52] fix: webpack build error return --- .../app/[lang]/(platform)/(home)/components/DevboxList.tsx | 2 +- .../(platform)/devbox/detail/[name]/components/Version.tsx | 2 +- frontend/providers/devbox/components/IDEButton.tsx | 2 +- .../{JetbrainsGuideModalTemp.tsx => JetbrainsGuideModal.tsx} | 0 .../modals/{ReleaseModalTemp.tsx => ReleaseModal.tsx} | 0 5 files changed, 3 insertions(+), 3 deletions(-) rename frontend/providers/devbox/components/modals/{JetbrainsGuideModalTemp.tsx => JetbrainsGuideModal.tsx} (100%) rename frontend/providers/devbox/components/modals/{ReleaseModalTemp.tsx => ReleaseModal.tsx} (100%) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx b/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx index 7c482577278..7ba43dd43ea 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx @@ -14,7 +14,7 @@ import MyIcon from '@/components/Icon' import IDEButton from '@/components/IDEButton' import PodLineChart from '@/components/PodLineChart' import DevboxStatusTag from '@/components/DevboxStatusTag' -import ReleaseModal from '@/components/modals/ReleaseModalTemp' +import ReleaseModal from '@/components/modals/ReleaseModal' const DelModal = dynamic(() => import('@/components/modals/DelModal')) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx index 15608c09377..a598920f264 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/devbox/detail/[name]/components/Version.tsx @@ -8,7 +8,7 @@ import { Box, Button, Flex, MenuButton, Text, useDisclosure } from '@chakra-ui/r import MyIcon from '@/components/Icon' import MyTable from '@/components/MyTable' import DevboxStatusTag from '@/components/DevboxStatusTag' -import ReleaseModal from '@/components/modals/ReleaseModalTemp' +import ReleaseModal from '@/components/modals/ReleaseModal' import EditVersionDesModal from '@/components/modals/EditVersionDesModal' import { DevboxVersionListItemType } from '@/types/devbox' diff --git a/frontend/providers/devbox/components/IDEButton.tsx b/frontend/providers/devbox/components/IDEButton.tsx index a46bf9d2617..770126b5c14 100644 --- a/frontend/providers/devbox/components/IDEButton.tsx +++ b/frontend/providers/devbox/components/IDEButton.tsx @@ -19,7 +19,7 @@ import { useEnvStore } from '@/stores/env' import { useIDEStore, IDEType } from '@/stores/ide' import { DevboxStatusMapType } from '@/types/devbox' import { getSSHConnectionInfo, getSSHRuntimeInfo } from '@/api/devbox' -import JetBrainsGuideModal from './modals/JetbrainsGuideModalTemp' +import JetBrainsGuideModal from './modals/JetbrainsGuideModal' interface Props { devboxName: string diff --git a/frontend/providers/devbox/components/modals/JetbrainsGuideModalTemp.tsx b/frontend/providers/devbox/components/modals/JetbrainsGuideModal.tsx similarity index 100% rename from frontend/providers/devbox/components/modals/JetbrainsGuideModalTemp.tsx rename to frontend/providers/devbox/components/modals/JetbrainsGuideModal.tsx diff --git a/frontend/providers/devbox/components/modals/ReleaseModalTemp.tsx b/frontend/providers/devbox/components/modals/ReleaseModal.tsx similarity index 100% rename from frontend/providers/devbox/components/modals/ReleaseModalTemp.tsx rename to frontend/providers/devbox/components/modals/ReleaseModal.tsx From f410456acb85216e697f668b2ceaa1f6d291f8dc Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 20 Dec 2024 15:49:51 +0800 Subject: [PATCH 43/52] feat: check connection --- .../devbox/components/ScriptCode.tsx | 3 +- .../components/modals/SshConnectModal.tsx | 175 +++++++++++------- frontend/providers/devbox/message/en.json | 2 +- frontend/providers/devbox/message/zh.json | 2 +- 4 files changed, 111 insertions(+), 71 deletions(-) diff --git a/frontend/providers/devbox/components/ScriptCode.tsx b/frontend/providers/devbox/components/ScriptCode.tsx index 5514340b2d3..61908c5bec5 100644 --- a/frontend/providers/devbox/components/ScriptCode.tsx +++ b/frontend/providers/devbox/components/ScriptCode.tsx @@ -17,7 +17,8 @@ const ScriptCode = ({ platform, script }: { platform: string; script: string }) borderRadius={'6px'} border={'1px solid'} borderColor={'grayModern.200'} - flexDirection={'column'}> + flexDirection={'column'} + w={'585px'}> + + + + + + {/* 2 */} + + + + } /> + + + {t('jetbrains_guide_command')} + + + + - - - + {/* done */} + + + + + {/* step-by-step */} @@ -315,27 +354,27 @@ const SshConnectModal = ({ + {/* 4 */} + + + + } /> + + + {t('jetbrains_guide_command')} + + + + + {/* done */} - - {/* Check SSH Connection */} - - - {t('jetbrains_guide_check_ssh_connection')} - - - - - {t('jetbrains_guide_command')} - - - diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index a92cd4f4535..8d203f67938 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -87,7 +87,7 @@ "jetbrains_guide_cancel": "Click to Cancel", "jetbrains_guide_check_ssh_connection": "Connection Verification", "jetbrains_guide_click_to_config": "Click the button below to configure SSH connection .", - "jetbrains_guide_command": "Open a terminal and type the following command:", + "jetbrains_guide_command": "Open a terminal and type the following command to verify connection:", "jetbrains_guide_config_ssh": "Configure SSH Connection", "jetbrains_guide_connecting": "Connecting ({process}%) ...", "jetbrains_guide_connecting_info": "The initial connection may take 3-5 minutes. Please be patient.", diff --git a/frontend/providers/devbox/message/zh.json b/frontend/providers/devbox/message/zh.json index 43f975ff4e7..250802579b8 100644 --- a/frontend/providers/devbox/message/zh.json +++ b/frontend/providers/devbox/message/zh.json @@ -89,7 +89,7 @@ "jetbrains_guide_cancel": "点击取消", "jetbrains_guide_check_ssh_connection": "连接验证", "jetbrains_guide_click_to_config": "点击下方按钮,配置 SSH 连接信息。", - "jetbrains_guide_command": "打开命令行,输入以下命令:", + "jetbrains_guide_command": "打开命令行,输入以下命令来检测SSH连接是否正常:", "jetbrains_guide_config_ssh": "配置 SSH 连接信息", "jetbrains_guide_connecting": "正在连接({process}%)...", "jetbrains_guide_connecting_info": "第一次连接需要 3-5 min,请耐心等待", From d2e0589f1288b471baf113098c171603b2c0026a Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 20 Dec 2024 16:02:01 +0800 Subject: [PATCH 44/52] style: arrow style perf --- .../devbox/components/Icon/icons/arrowRight.svg | 3 +++ frontend/providers/devbox/components/Icon/index.tsx | 1 + frontend/providers/devbox/components/ScriptCode.tsx | 12 +++++++----- 3 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 frontend/providers/devbox/components/Icon/icons/arrowRight.svg diff --git a/frontend/providers/devbox/components/Icon/icons/arrowRight.svg b/frontend/providers/devbox/components/Icon/icons/arrowRight.svg new file mode 100644 index 00000000000..b300c856d79 --- /dev/null +++ b/frontend/providers/devbox/components/Icon/icons/arrowRight.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/providers/devbox/components/Icon/index.tsx b/frontend/providers/devbox/components/Icon/index.tsx index 4c5c10d1e68..14b790403c0 100644 --- a/frontend/providers/devbox/components/Icon/index.tsx +++ b/frontend/providers/devbox/components/Icon/index.tsx @@ -50,6 +50,7 @@ const map = { upload: require('./icons/upload.svg').default, target: require('./icons/target.svg').default, arrowDown: require('./icons/arrowDown.svg').default, + arrowRight: require('./icons/arrowRight.svg').default, docs: require('./icons/docs.svg').default, vscode: require('./icons/vscode.svg').default, monitor: require('./icons/monitor.svg').default, diff --git a/frontend/providers/devbox/components/ScriptCode.tsx b/frontend/providers/devbox/components/ScriptCode.tsx index 61908c5bec5..a9b15f34cb8 100644 --- a/frontend/providers/devbox/components/ScriptCode.tsx +++ b/frontend/providers/devbox/components/ScriptCode.tsx @@ -29,11 +29,13 @@ const ScriptCode = ({ platform, script }: { platform: string; script: string }) color={'grayModern.900'} fontWeight={400} leftIcon={ - onOpenScripts ? ( - - ) : ( - - ) + } _hover={{ color: 'brightBlue.600', From 8a914a345dde1929115fa907765bcbd58667f292 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Fri, 27 Dec 2024 17:54:32 +0800 Subject: [PATCH 45/52] fix: basic type bug --- frontend/providers/devbox/api/devbox.ts | 10 +- frontend/providers/devbox/api/template.ts | 199 ++++++++++-------- .../(home)/components/DevboxList.tsx | 3 +- .../detail/[name]/components/BasicInfo.tsx | 19 +- .../detail/[name]/components/Version.tsx | 2 +- .../providers/devbox/components/IDEButton.tsx | 13 +- 6 files changed, 135 insertions(+), 111 deletions(-) diff --git a/frontend/providers/devbox/api/devbox.ts b/frontend/providers/devbox/api/devbox.ts index 843b69b7729..4d16c48ecdf 100644 --- a/frontend/providers/devbox/api/devbox.ts +++ b/frontend/providers/devbox/api/devbox.ts @@ -9,7 +9,6 @@ import { DevboxVersionListItemType } from '@/types/devbox' import { KBDevboxReleaseType, KBDevboxTypeV2 } from '@/types/k8s' -import { MonitorDataResult, MonitorQueryKey } from '@/types/monitor' import { adaptAppListItem, adaptDevboxDetailV2, @@ -17,8 +16,6 @@ import { adaptDevboxVersionListItem, adaptPod } from '@/utils/adapt' -import { GET, POST, DELETE } from '@/services/request' -import { KBDevboxType, KBDevboxReleaseType } from '@/types/k8s' import { MonitorDataResult, MonitorQueryKey } from '@/types/monitor' import { AxiosProgressEvent } from 'axios' @@ -117,3 +114,10 @@ export const execCommandInDevboxPod = (data: { onDownloadProgress: data.onDownloadProgress, signal: data.signal }) + +export const getSSHRuntimeInfo = (data: { devboxName: string; runtimeName: string }) => + GET<{ + workingDir: string + releaseCommand: string + releaseArgs: string + }>('/api/getSSHRuntimeInfo', data) diff --git a/frontend/providers/devbox/api/template.ts b/frontend/providers/devbox/api/template.ts index 454568a3fc2..2648f06fbe5 100644 --- a/frontend/providers/devbox/api/template.ts +++ b/frontend/providers/devbox/api/template.ts @@ -1,20 +1,29 @@ -import { Tag, TemplateRepositoryKind } from "@/prisma/generated/client"; -import { DELETE, GET, POST } from "@/services/request"; -import { CreateTemplateRepositoryType, UpdateTemplateRepositoryType, UpdateTemplateType } from "@/utils/vaildate"; +import { Tag, TemplateRepositoryKind } from '@/prisma/generated/client' +import { DELETE, GET, POST } from '@/services/request' +import { + CreateTemplateRepositoryType, + UpdateTemplateRepositoryType, + UpdateTemplateType +} from '@/utils/vaildate' -export const listOfficialTemplateRepository = () => GET<{ - templateRepositoryList: { - uid: string; - name: string; - kind: TemplateRepositoryKind; - iconId: string; - description: string | null; - }[] -}>(`/api/templateRepository/listOfficial`) -export const listTemplateRepository = (page: { - page: number, - pageSize: number, -}, tags?: string[], search?: string) => { +export const listOfficialTemplateRepository = () => + GET<{ + templateRepositoryList: { + uid: string + name: string + kind: TemplateRepositoryKind + iconId: string + description: string | null + }[] + }>(`/api/templateRepository/listOfficial`) +export const listTemplateRepository = ( + page: { + page: number + pageSize: number + }, + tags?: string[], + search?: string +) => { const searchParams = new URLSearchParams() if (tags && tags.length > 0) { tags.forEach((tag) => { @@ -26,35 +35,34 @@ export const listTemplateRepository = (page: { if (search) searchParams.append('search', search) return GET<{ templateRepositoryList: { - uid: string; - name: string; - description: string | null; - iconId: string | null; + uid: string + name: string + description: string | null + iconId: string | null templates: { - uid: string; - name: string; - }[]; + uid: string + name: string + }[] templateRepositoryTags: { - tag: Tag; - }[]; - }[], + tag: Tag + }[] + }[] page: { - page: number, - pageSize: number, - totalItems: number, - totalPage: number, + page: number + pageSize: number + totalItems: number + totalPage: number } }>(`/api/templateRepository/list?${searchParams.toString()}`) - } export const listPrivateTemplateRepository = ({ search, page, - pageSize, + pageSize }: { - search?: string, - page?: number, - pageSize?: number, + search?: string + page?: number + pageSize?: number } = {}) => { const searchParams = new URLSearchParams() @@ -63,70 +71,79 @@ export const listPrivateTemplateRepository = ({ if (pageSize) searchParams.append('pageSize', pageSize.toString()) return GET<{ templateRepositoryList: { - uid: string; - name: string; - description: string | null; - iconId: string | null; + uid: string + name: string + description: string | null + iconId: string | null templates: { - uid: string; - name: string; - }[]; - isPublic: boolean; + uid: string + name: string + }[] + isPublic: boolean templateRepositoryTags: { - tag: Tag; - }[]; - }[], + tag: Tag + }[] + }[] page: { - page: number, - pageSize: number, - totalItems: number, - totalPage: number, + page: number + pageSize: number + totalItems: number + totalPage: number } }>(`/api/templateRepository/listPrivate?${searchParams.toString()}`) } -export const getTemplateRepository = (uid: string) => GET<{ - templateRepository: { - templates: { - name: string; - uid: string; - }[]; - uid: string; - isPublic: true; - name: string; - description: string | null; - iconId: string | null; - templateRepositoryTags: { - tag: Tag; - }[]; - } -}>(`/api/templateRepository/get?uid=${uid}`) -export const getTemplateConfig = (uid: string) => GET<{ - template: { - name: string; - uid: string; - config: string; - } -}>(`/api/templateRepository/template/getConfig?uid=${uid}`) -export const listTemplate = (templateRepositoryUid: string) => GET<{ - templateList: { - uid: string; - name: string; - config: string; - image: string; - createAt: Date; - updateAt: Date; - }[] -}>(`/api/templateRepository/template/list?templateRepositoryUid=${templateRepositoryUid}`) -export const listTag = () => GET<{ - tagList: Tag[] -}>(`/api/templateRepository/tag/list`) +export const getTemplateRepository = (uid: string) => + GET<{ + templateRepository: { + templates: { + name: string + uid: string + }[] + uid: string + isPublic: true + name: string + description: string | null + iconId: string | null + templateRepositoryTags: { + tag: Tag + }[] + } + }>(`/api/templateRepository/get?uid=${uid}`) +export const getTemplateConfig = (uid: string) => + GET<{ + template: { + name: string + uid: string + config: string + } + }>(`/api/templateRepository/template/getConfig?uid=${uid}`) +export const listTemplate = (templateRepositoryUid: string) => + GET<{ + templateList: { + uid: string + name: string + config: string + image: string + createAt: Date + updateAt: Date + }[] + }>(`/api/templateRepository/template/list?templateRepositoryUid=${templateRepositoryUid}`) +export const listTag = () => + GET<{ + tagList: Tag[] + }>(`/api/templateRepository/tag/list`) -export const createTemplateReposistory = (data: CreateTemplateRepositoryType) => POST(`/api/templateRepository/withTemplate/create`, data) +export const createTemplateReposistory = (data: CreateTemplateRepositoryType) => + POST(`/api/templateRepository/withTemplate/create`, data) export const initUser = () => POST(`/api/auth/init`) -export const deleteTemplateRepository = (templateRepositoryUid: string) => DELETE(`/api/templateRepository/delete?templateRepositoryUid=${templateRepositoryUid}`) +export const deleteTemplateRepository = (templateRepositoryUid: string) => + DELETE(`/api/templateRepository/delete?templateRepositoryUid=${templateRepositoryUid}`) -export const updateTemplateReposistory = (data: UpdateTemplateRepositoryType) => POST(`/api/templateRepository/update`, data) -export const updateTemplate = (data: UpdateTemplateType) => POST(`/api/templateRepository/withTemplate/update`, data) -export const deleteTemplate = (templateUid: string) => DELETE(`/api/templateRepository/template/delete?uid=${templateUid}`) \ No newline at end of file +export const updateTemplateReposistory = (data: UpdateTemplateRepositoryType) => + POST(`/api/templateRepository/update`, data) +export const updateTemplate = (data: UpdateTemplateType) => + POST(`/api/templateRepository/withTemplate/update`, data) +export const deleteTemplate = (templateUid: string) => + DELETE(`/api/templateRepository/template/delete?uid=${templateUid}`) diff --git a/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx b/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx index 43ae054bbdf..5111cfa757b 100644 --- a/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx +++ b/frontend/providers/devbox/app/[lang]/(platform)/(home)/components/DevboxList.tsx @@ -10,7 +10,6 @@ import { useRouter } from '@/i18n' import { useGlobalStore } from '@/stores/global' import { DevboxListItemTypeV2 } from '@/types/devbox' -import DevboxStatusTag from '@/components/DevboxStatusTag' import MyIcon from '@/components/Icon' import IDEButton from '@/components/IDEButton' import PodLineChart from '@/components/PodLineChart' @@ -219,6 +218,8 @@ const DevboxList = ({ sshPort={item.sshPort} status={item.status} mr={'8px'} + runtimeVersion={item.runtimeVersion} + runtimeType={item.runtimeType} /> + {/* step-by-step */} @@ -363,6 +390,7 @@ const SshConnectModal = ({ {t('jetbrains_guide_command')} diff --git a/frontend/providers/devbox/message/en.json b/frontend/providers/devbox/message/en.json index 57f7b5dddf9..61f34607d23 100644 --- a/frontend/providers/devbox/message/en.json +++ b/frontend/providers/devbox/message/en.json @@ -103,11 +103,14 @@ "input_template_name_placeholder": "Enter template name", "input_template_version_placeholder": "Enter version (e.g. 1.0.0)", "internal_address": "Internal Address", + "invalide_template_name": "Please enter a valid template name", + "invalide_template_version": "Please enter a valid version number", "jetbrains_guide_cancel": "Click to Cancel", "jetbrains_guide_check_ssh_connection": "Connection Verification", "jetbrains_guide_click_to_config": "Click the button below to configure SSH connection .", "jetbrains_guide_command": "Open a terminal and type the following command to verify connection:", "jetbrains_guide_config_ssh": "Configure SSH Connection", + "jetbrains_guide_confirm": "Config Success", "jetbrains_guide_connecting": "Connecting ({process}%) ...", "jetbrains_guide_connecting_info": "The initial connection may take 3-5 minutes. Please be patient.", "jetbrains_guide_documentation": "User Guide", @@ -116,7 +119,8 @@ "jetbrains_guide_move_to_path": "Make sure the private key is in the following directory: ~/.ssh/sealos/.", "jetbrains_guide_one_click_setup": "One-Click Setup", "jetbrains_guide_one_click_setup_desc": "Click the button below to download the bat/sh script. After downloading, simply double-click to run it to complete the SSH connection setup.(Alternatively, you can copy the script to a local file and execute it with a single click).", - "jetbrains_guide_post_connection": "How to connect to the service?You can click the button below to view the user guide.", + "jetbrains_guide_one_click_setup_desc_windows": "Click the button below to download the bat/sh script. After downloading, right click the file > Run with PowerShell to complete the SSH connection setup.(Alternatively, you can copy the script to a local file and execute it with a single click).", + "jetbrains_guide_post_connection": "You can click the button below to view the user guide.", "jetbrains_guide_post_use": "Learn More", "jetbrains_guide_prepare": "Prerequiste(s)", "jetbrains_guide_prepare_install": "You need to download JetBrains Gateway in advance.", @@ -134,8 +138,6 @@ "jetbrains_guide_step_3_5": "Check if local {ide} is automatically invoked.", "jetbrains_guide_step_by_step": "Step-By-Step", "jetbrains_guide_three_steps": "(3 steps)", - "invalide_template_name": "Please enter a valid template name", - "invalide_template_version": "Please enter a valid version number", "jump_prompt": "Jump prompt", "jump_terminal_error": "Jump terminal failed", "language": "Language", @@ -243,11 +245,11 @@ "update_failed": "Update failed", "update_matched_apps_notes": "Or you can update application: ", "update_success": "Update succeeded", - "use_jetbrains": "Develop with JetBrains IDEs", "update_template": "Update Template", "update_template_success": "Template updated successfully!", "update_time": "Last Modified", "use_case": "Use Case", + "use_jetbrains": "Develop with JetBrains IDEs", "used": "Used", "version": "Release", "version_config": "Configuration", diff --git a/frontend/providers/devbox/message/zh.json b/frontend/providers/devbox/message/zh.json index 1e6298972fe..e41f7e72530 100644 --- a/frontend/providers/devbox/message/zh.json +++ b/frontend/providers/devbox/message/zh.json @@ -105,20 +105,24 @@ "input_template_version_placeholder": "请输入版本号,如 v1.0.0", "internal_address": "内网地址", "intranet_address": "内网地址", + "invalide_template_name": "输入的模板名称不符合规则", + "invalide_template_version": "输入的版本号不符合规则", "jetbrains_guide_cancel": "点击取消", "jetbrains_guide_check_ssh_connection": "连接验证", "jetbrains_guide_click_to_config": "点击下方按钮,配置 SSH 连接信息。", "jetbrains_guide_command": "打开命令行,输入以下命令来检测SSH连接是否正常:", "jetbrains_guide_config_ssh": "配置 SSH 连接信息", + "jetbrains_guide_confirm": "配置完成", "jetbrains_guide_connecting": "正在连接({process}%)...", "jetbrains_guide_connecting_info": "第一次连接需要 3-5 min,请耐心等待", "jetbrains_guide_documentation": "使用文档", "jetbrains_guide_download_private_key": "下载 私钥。", - "jetbrains_guide_modified_file": "修改 ~/.ssh/sealos/devbox_config 文件(如果不存在需要新建一个文件),内容为:", + "jetbrains_guide_modified_file": "修改 ~/.ssh/sealos/devbox_config 文件(如果不存在需要新建一个文件),在文件末尾追加:", "jetbrains_guide_move_to_path": "将下载好的私钥移动到目录:~/.ssh/sealos/ 。", "jetbrains_guide_one_click_setup": "一键配置", "jetbrains_guide_one_click_setup_desc": "点击下方按钮 下载 bat/sh 脚本,下载到本地后直接双击运行即可完成 SSH 连接信息的配置(或者您也可以复制脚本到本地一个文件,然后一键执行)。", - "jetbrains_guide_post_connection": "如何连接服务?后续使用可点击下方按钮进行查看。", + "jetbrains_guide_one_click_setup_desc_windows": "点击下方按钮 下载 bat/sh 脚本,下载到本地后右键点击文件 > 使用 PowerShell 运行 即可完成 SSH 连接信息的配置(或者您也可以复制脚本到本地一个文件,然后一键执行)。", + "jetbrains_guide_post_connection": "后续使用可点击下方按钮进行查看。", "jetbrains_guide_post_use": "后续使用", "jetbrains_guide_prepare": "前置准备", "jetbrains_guide_prepare_install": "需要提前下载好 JetBrains Gateway 应用。", @@ -136,8 +140,6 @@ "jetbrains_guide_step_3_5": "自动唤起本地的{ide}。", "jetbrains_guide_step_by_step": "手把手", "jetbrains_guide_three_steps": "(共 3 步)", - "invalide_template_name": "输入的模板名称不符合规则", - "invalide_template_version": "输入的版本号不符合规则", "jump_prompt": "跳转提示", "jump_terminal_error": "跳转终端失败", "language": "语言", @@ -244,11 +246,11 @@ "update_failed": "变更失败", "update_matched_apps_notes": "或者你可以更新已有应用:", "update_success": "变更成功", - "use_jetbrains": "使用 JetBrains IDE 开发", "update_template": "更新模板", "update_template_success": "更新模板成功!", "update_time": "更新时间", "use_case": "用例", + "use_jetbrains": "使用 JetBrains IDE 开发", "used": "已用", "version": "版本", "version_config": "版本配置", From fa8f40f507217b7376276748e80c575941430471 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 9 Jan 2025 17:13:15 +0800 Subject: [PATCH 51/52] feat: config confirm --- .../components/modals/SshConnectModal.tsx | 38 ++++++++++++++++--- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/frontend/providers/devbox/components/modals/SshConnectModal.tsx b/frontend/providers/devbox/components/modals/SshConnectModal.tsx index 9c868122ee3..321ac1a653a 100644 --- a/frontend/providers/devbox/components/modals/SshConnectModal.tsx +++ b/frontend/providers/devbox/components/modals/SshConnectModal.tsx @@ -246,13 +246,22 @@ const SshConnectModal = ({ - + @@ -403,6 +412,25 @@ const SshConnectModal = ({ + + + From f67324e0c28ee04321b29c921c73438b6e7ac747 Mon Sep 17 00:00:00 2001 From: mlhiter <3076438032@qq.com> Date: Thu, 9 Jan 2025 17:21:44 +0800 Subject: [PATCH 52/52] chore: remove more action --- .../components/modals/JetbrainsGuideModal.tsx | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/frontend/providers/devbox/components/modals/JetbrainsGuideModal.tsx b/frontend/providers/devbox/components/modals/JetbrainsGuideModal.tsx index 95a31da9afb..29b809de33e 100644 --- a/frontend/providers/devbox/components/modals/JetbrainsGuideModal.tsx +++ b/frontend/providers/devbox/components/modals/JetbrainsGuideModal.tsx @@ -354,33 +354,6 @@ const JetBrainsGuideModal = ({ )} - - - - {t('jetbrains_guide_post_use')} - - - {t('jetbrains_guide_post_connection')} - - - {onOpenSSHConnectModal && ( setOnOpenSSHConnectModal(false)}