diff --git a/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx b/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx index b985e4156..1fa4ef201 100644 --- a/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx +++ b/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx @@ -109,9 +109,9 @@ const AppMainInfo = ({ app = MOCK_APP_DETAIL }: { app: AppDetailType }) => { - {networks.map((network) => { + {networks.map((network, index) => { return ( - + diff --git a/frontend/providers/applaunchpad/src/pages/app/edit/index.tsx b/frontend/providers/applaunchpad/src/pages/app/edit/index.tsx index bf377d797..405c9b387 100644 --- a/frontend/providers/applaunchpad/src/pages/app/edit/index.tsx +++ b/frontend/providers/applaunchpad/src/pages/app/edit/index.tsx @@ -265,6 +265,7 @@ const EditApp = ({ appName, tabType }: { appName?: string; tabType: string }) => setDefaultGpuSource(res.gpu); formHook.reset(adaptEditAppData(res)); setAlready(true); + setYamlList(formData2Yamls(realTimeForm.current)); }, onError(err) { toast({ @@ -388,10 +389,16 @@ export async function getServerSideProps(content: any) { export default EditApp; function checkNetworkPorts(networks: AppEditType['networks']) { - const ports = networks.map((item) => item.port); - const portSet = new Set(ports); - if (portSet.size !== ports.length) { - return false; + const portProtocolSet = new Set(); + + for (const network of networks) { + const { port, protocol } = network; + const key = `${port}-${protocol}`; + if (portProtocolSet.has(key)) { + return false; + } + portProtocolSet.add(key); } + return true; } diff --git a/frontend/providers/applaunchpad/src/utils/adapt.ts b/frontend/providers/applaunchpad/src/utils/adapt.ts index 650785f85..ac55ebbea 100644 --- a/frontend/providers/applaunchpad/src/utils/adapt.ts +++ b/frontend/providers/applaunchpad/src/utils/adapt.ts @@ -271,7 +271,9 @@ export const adaptAppDetail = (configs: DeployKindsType[]): AppDetailType => { protocol: (ingress?.metadata?.annotations?.[ 'nginx.ingress.kubernetes.io/backend-protocol' - ] as AppEditType['networks'][0]['protocol']) || 'HTTP', + ] as AppEditType['networks'][0]['protocol']) || + item?.protocol || + 'HTTP', openPublicDomain: !!ingress, ...(domain.endsWith(SEALOS_DOMAIN) ? {