diff --git a/.env.dev b/.env.dev index af51d161..b285a162 100644 --- a/.env.dev +++ b/.env.dev @@ -1,7 +1,7 @@ # .env.dev NODE_ENV=dev #VUE_APP_DEV_IP=demo.casaos.io -VUE_APP_DEV_IP=10.0.0.71 +VUE_APP_DEV_IP=10.0.0.72 # VUE_APP_DEV_IP=10.147.20.1 # VUE_APP_DEV_IP=192.168.2.15 # VUE_APP_DEV_IP=192.168.2.219 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b0a6b032..14206eae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ dependencies: version: 0.4.9-alpha7 '@icewhale/casaos-openapi': specifier: latest - version: 0.4.9-0883f5f + version: 0.4.11-3a835c0 '@icewhale/icewhale-files-openapi': specifier: 1.2.2-alpha4 version: 1.2.2-alpha4 @@ -1662,8 +1662,8 @@ packages: - debug dev: false - /@icewhale/casaos-openapi@0.4.9-0883f5f: - resolution: {integrity: sha512-GRf+D3rTPo6OLHzbNGOEPHEavBru7xu4ii2hDQW28YgYy9cues6lxHRXnvocDHvG6y44cC3lpv2xoecNvarZzA==} + /@icewhale/casaos-openapi@0.4.11-3a835c0: + resolution: {integrity: sha512-bwyYfxuvIvoa5xm5hAQmETeoNqAdGdmdp0yQYu+AkxoC1M8A23b4ZfL4Uh/hKki7FzCU2EtW8Mv4h2SZ5fG5Hw==} dependencies: axios: 1.6.8 transitivePeerDependencies: diff --git a/public/favicon.svg b/public/favicon.svg index a4720273..9db979f8 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,28 +1,4 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/assets/lang/en_GB.json b/src/assets/lang/en_GB.json index c083a1c9..2e2dc33f 100644 --- a/src/assets/lang/en_GB.json +++ b/src/assets/lang/en_GB.json @@ -82,13 +82,13 @@ "REQUIRE": "REQUIRE", "MEMORY": "MEMORY", "App Store": "App Store", - "Import to CasaOS": "Import to CasaOS", + "Import to CasaOS": "Import to ZimaOS", "[Optional]": "Optional", "Notice: If there are multiple services, only the first set can be analyzed correctly": "When there are more than 1 containers specified in the Docker compose file, only the first one will be imported for now.", "There was an error loading the data, please try again!": "There was an error loading the data. Please try again.", "Port": "Ports", "Single Drive Storage": "Single storage drive", - "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "CasaOS reserves 1% of file space when creating storage in EXT4 format.", + "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "ZimaOS reserves 1% of file space when creating storage in EXT4 format.", "Delete": "Delete", "Download in preparation...": "Preparing to download...", "Copied to clipboard": "Copied to clipboard", @@ -96,6 +96,7 @@ "Create Folder": "Create folder", "Create File": "Create file", "Add External Link/APP": "Add external link", + "External link setting": "External link setting", "Local URL,Public URL": "A local URL or a public URL here", "Eg: //192.168.1.1:5000 or https://www.google.com": "E.g. //192.168.1.1:5000 or https://www.google.com", "App Name": "Title", diff --git a/src/assets/lang/en_US.json b/src/assets/lang/en_US.json index 9b772ae3..09543714 100644 --- a/src/assets/lang/en_US.json +++ b/src/assets/lang/en_US.json @@ -95,6 +95,7 @@ "Create Folder": "Create folder", "Create File": "Create file", "Add External Link/APP": "Add external link", + "External link setting": "External link setting", "Local URL,Public URL": "A local URL or a public URL here", "Eg: //192.168.1.1:5000 or https://www.google.com": "E.g. //192.168.1.1:5000 or https://www.google.com", "App Name": "Title", diff --git a/src/assets/lang/it_IT.json b/src/assets/lang/it_IT.json index ee56e32a..577f06b7 100644 --- a/src/assets/lang/it_IT.json +++ b/src/assets/lang/it_IT.json @@ -82,13 +82,13 @@ "REQUIRE": "RICHIEDI", "MEMORY": "MEMORIA", "App Store": "App Store", - "Import to CasaOS": "Importa in CasaOS", + "Import to CasaOS": "Importa in ZimaOS", "[Optional]": "Facoltativo", "Notice: If there are multiple services, only the first set can be analyzed correctly": "Se c'è più di 1 container specificato nel Docker Compose, per il momento solo il primo verrà importato.", "There was an error loading the data, please try again!": "Si è verificato un errore nel caricamento dei dati. Si prega di riprovare.", "Port": "Porte", "Single Drive Storage": "Unità di archiviazione singola", - "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "CasaOS si riserva l'1% di spazio di archiviazione quando viene create una partizione in formato EXT4.", + "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "ZimaOS si riserva l'1% di spazio di archiviazione quando viene create una partizione in formato EXT4.", "Delete": "Elimina", "Download in preparation...": "Preparazione al download...", "Copied to clipboard": "Copiato negli appunti", @@ -96,6 +96,7 @@ "Create Folder": "Crea cartella", "Create File": "Crea file", "Add External Link/APP": "Aggiungi collegamento esterno", + "External link setting": "Impostazioni collegamento esterno", "Local URL,Public URL": "Un URL locale o un URL pubblico qui", "Eg: //192.168.1.1:5000 or https://www.google.com": "Per es.: //192.168.1.1:5000 o https://www.google.com", "App Name": "Titolo", diff --git a/src/assets/lang/ja_JP.json b/src/assets/lang/ja_JP.json index 51ba9986..ea52add2 100644 --- a/src/assets/lang/ja_JP.json +++ b/src/assets/lang/ja_JP.json @@ -82,13 +82,13 @@ "REQUIRE": "要件", "MEMORY": "メモリ", "App Store": "App Store", - "Import to CasaOS": "CasaOSにインポートする", + "Import to CasaOS": "ZimaOSにインポートする", "[Optional]": "オプショナル", "Notice: If there are multiple services, only the first set can be analyzed correctly": "Docker Composeファイルに複数のコンテナが指定されている場合、現時点では最初のコンテナのみがインポートされます。", "There was an error loading the data, please try again!": "データの読み込み中にエラーが発生しました。再試行してください。", "Port": "ポート", "Single Drive Storage": "シングルドライブストレージ", - "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "CasaOSはEXT4形式でストレージを作成する際、ファイルスペースの1%を予約します。", + "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "ZimaOSはEXT4形式でストレージを作成する際、ファイルスペースの1%を予約します。", "Delete": "削除", "Download in preparation...": "ダウンロードを準備中...", "Copied to clipboard": "クリップボードにコピーされました", @@ -96,6 +96,7 @@ "Create Folder": "フォルダ作成", "Create File": "ファイル作成", "Add External Link/APP": "外部リンク/アプリを追加", + "External link setting": "外部リンク設定", "Local URL,Public URL": "ローカルURL、パブリックURL", "Eg: //192.168.1.1:5000 or https://www.google.com": "例://192.168.1.1:5000またはhttps://www.google.com", "App Name": "アプリ名", diff --git a/src/assets/lang/ko_KR.json b/src/assets/lang/ko_KR.json index 2fb2d7e4..e32fecf8 100644 --- a/src/assets/lang/ko_KR.json +++ b/src/assets/lang/ko_KR.json @@ -82,13 +82,13 @@ "REQUIRE": "필수", "MEMORY": "메모리", "App Store": "앱스토어", - "Import to CasaOS": "CasaOS로 불러오기", + "Import to CasaOS": "ZimaOS로 불러오기", "[Optional]": "선택사항", "Notice: If there are multiple services, only the first set can be analyzed correctly": "Docker compose 파일에 1개 이상의 컨테이너가 명시되어 있는 경우, 우선 첫번째 컨테이너만 불러옵니다.", "There was an error loading the data, please try again!": "데이터를 불러오는 중 오류가 발생했습니다. 다시 시도해 주세요.", "Port": "포트", "Single Drive Storage": "단일 저장소 드라이브", - "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "CasaOS는 EXT4 형식의 저장소를 생성할 때 1%의 저장 공간을 예약합니다.", + "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "ZimaOS는 EXT4 형식의 저장소를 생성할 때 1%의 저장 공간을 예약합니다.", "Delete": "삭제", "Download in preparation...": "다운로드 준비 중...", "Copied to clipboard": "클립보드에 복사됨", @@ -96,6 +96,7 @@ "Create Folder": "폴더 생성", "Create File": "파일 생성", "Add External Link/APP": "외부 링크 추가", + "External link setting": "외부 링크 설정", "Local URL,Public URL": "로컬 URL 혹은 공용 URL", "Eg: //192.168.1.1:5000 or https://www.google.com": "예시: //192.168.1.1:5000 또는 https://www.google.com", "App Name": "제목", diff --git a/src/assets/lang/nb_NO.json b/src/assets/lang/nb_NO.json index e6b8b4ab..9feeff19 100644 --- a/src/assets/lang/nb_NO.json +++ b/src/assets/lang/nb_NO.json @@ -82,13 +82,13 @@ "REQUIRE": "PÅKREVD", "MEMORY": "MINNE", "App Store": "App Butikk", - "Import to CasaOS": "Importer til CasaOS", + "Import to CasaOS": "Importer til ZimaOS", "[Optional]": "Valgfri", "Notice: If there are multiple services, only the first set can be analyzed correctly": "Når det er mer enn 1 container som er spesifisert i Docker-filen, vil bare den første bli importert.", "There was an error loading the data, please try again!": "Det oppstod en feil under innhenting av data. Vennligst forsøk igjen.", "Port": "Port", "Single Drive Storage": "Enkel harddisk", - "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "CasaOS reserverer 1 % av filplassen ved oppretting av lagring i EXT4-formatet.", + "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "ZimaOS reserverer 1 % av filplassen ved oppretting av lagring i EXT4-formatet.", "Delete": "Slett", "Download in preparation...": "Forbereder nedlasting...", "Copied to clipboard": "Kopiert til utklippstavle", @@ -96,6 +96,7 @@ "Create Folder": "Opprett mappe", "Create File": "Opprett fil", "Add External Link/APP": "Legg til ekstern lenke", + "External link setting": "Ekstern lenke innstillinger", "Local URL,Public URL": "En lokal URL eller offentlig URL her", "Eg: //192.168.1.1:5000 or https://www.google.com": "F.eks. //192.168.1.1:5000 eller https://www.google.com", "App Name": "Tittel", diff --git a/src/assets/lang/zh_CN.json b/src/assets/lang/zh_CN.json index 31dba081..f056ec04 100644 --- a/src/assets/lang/zh_CN.json +++ b/src/assets/lang/zh_CN.json @@ -82,13 +82,13 @@ "REQUIRE": "必须", "MEMORY": "内存", "App Store": "应用中心", - "Import to CasaOS": "导入到 CasaOS", + "Import to CasaOS": "导入到 ZimaOS", "[Optional]": "可选", "Notice: If there are multiple services, only the first set can be analyzed correctly": "当在 Docker compose 文件中指定多个容器时,现在只导入第一个容器。", "There was an error loading the data, please try again!": "加载数据时出错了,请重试!", "Port": "端口", "Single Drive Storage": "单分区存储驱动器", - "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "CasaOS在创建EXT4格式的存储空间时会预留 1% 的文件空间。", + "CasaOS reserves 1% of file space when creating storage in EXT4 format.": "ZimaOS在创建EXT4格式的存储空间时会预留 1% 的文件空间。", "Delete": "删除", "Download in preparation...": "正在准备下载...", "Copied to clipboard": "已复制到剪贴板", @@ -96,6 +96,7 @@ "Create Folder": "新建文件夹", "Create File": "新建文件", "Add External Link/APP": "添加外部链接", + "External link setting": "外部链接设置", "Local URL,Public URL": "在这里添加本地URL或公共URL", "Eg: //192.168.1.1:5000 or https://www.google.com": "例如: //192.168.1:5000 或 https://www.google.com", "App Name": "标题", diff --git a/src/assets/scss/app.scss b/src/assets/scss/app.scss index 6341f60c..d6a4f578 100644 --- a/src/assets/scss/app.scss +++ b/src/assets/scss/app.scss @@ -14,7 +14,7 @@ @layer base { @font-face { font-family: 'BrittiSans'; - src: url(/font/britti-sans-regular.woff) format('woff'); + src: url(/modules/icewhale_app/font/britti-sans-regular.woff) format('woff'); } } diff --git a/src/components/AppSetting/ComposeConfig.vue b/src/components/AppSetting/ComposeConfig.vue index a03c9dd7..217f6bdd 100644 --- a/src/components/AppSetting/ComposeConfig.vue +++ b/src/components/AppSetting/ComposeConfig.vue @@ -178,6 +178,8 @@ diff --git a/src/components/AppStoreSource/AppStoreSourceManagement.vue b/src/components/AppStoreSource/AppStoreSourceManagement.vue index c383b257..24aed2bf 100644 --- a/src/components/AppStoreSource/AppStoreSourceManagement.vue +++ b/src/components/AppStoreSource/AppStoreSourceManagement.vue @@ -2,6 +2,7 @@ import { getCurrentInstance, onBeforeUnmount, onMounted, ref } from "vue"; import { vOnClickOutside } from "@vueuse/components"; import i18n from "@/plugins/i18n"; +import DOMPurify from 'dompurify'; const emit = defineEmits(["refreshAppStore", "refreshSize"]); const props = defineProps(["totalApps"]); @@ -95,7 +96,7 @@ function registerAppStore(repoUrl) { .catch((err) => { if ([400, 409, 500].includes(err.response.status)) { app.$buefy.toast.open({ - message: err.response.data.message, + message: new Option(err.response.data.message).innerHTML, duration: 5000, type: "is-warning", }); diff --git a/src/components/Apps/AppSection.vue b/src/components/Apps/AppSection.vue index 3c404305..d3458ed2 100644 --- a/src/components/Apps/AppSection.vue +++ b/src/components/Apps/AppSection.vue @@ -369,12 +369,15 @@ export default { this.oldAppList = orgOldAppList; let linkAppList = await this.getLinkAppList(); - linkAppList.forEach((item) => { + linkAppList.forEach((item, i) => { // linkApp does not have title. item.title = { en_us: item.name, }; + item.linkId = i; }); + console.log("linkAppList", linkAppList); + // mirco app list if (this.mircoAppList.length === 0) { const mircoAppListRaw = await this.getModuleUIEntries(); @@ -455,7 +458,7 @@ export default { ); }); - const sortedList = sortedAppList.map((obj) => obj.name); + const sortedList = sortedAppList.map((obj) => obj.name); this.appList = sortedAppList; if (!isEqual(lateSortList, sortedList)) { this.saveSortData(); @@ -677,6 +680,7 @@ export default { linkName: item.name, linkHost: item.hostname, linkIcon: item.icon, + linkId: item.linkId?.toString() ?? "", }, }); }, diff --git a/src/components/Apps/ExternalLinkPanel.vue b/src/components/Apps/ExternalLinkPanel.vue index 6d4abd23..0516315a 100644 --- a/src/components/Apps/ExternalLinkPanel.vue +++ b/src/components/Apps/ExternalLinkPanel.vue @@ -10,276 +10,318 @@ --> diff --git a/src/components/fileList/CreatePanel.vue b/src/components/fileList/CreatePanel.vue index e71ef864..ba7cdd5b 100644 --- a/src/components/fileList/CreatePanel.vue +++ b/src/components/fileList/CreatePanel.vue @@ -9,93 +9,101 @@ * Copyright (c) 2022 by IceWhale, All Rights Reserved. --> diff --git a/src/components/fileList/FilePanel.vue b/src/components/fileList/FilePanel.vue index 0e9ada03..79f80456 100644 --- a/src/components/fileList/FilePanel.vue +++ b/src/components/fileList/FilePanel.vue @@ -1,107 +1,107 @@ diff --git a/src/views/AppDetection.vue b/src/views/AppDetection.vue index 8b02816a..501b12ac 100644 --- a/src/views/AppDetection.vue +++ b/src/views/AppDetection.vue @@ -56,7 +56,7 @@ diff --git a/src/views/AppLauncherCheck.vue b/src/views/AppLauncherCheck.vue index eea1df2f..b39aa0fb 100644 --- a/src/views/AppLauncherCheck.vue +++ b/src/views/AppLauncherCheck.vue @@ -16,7 +16,7 @@

{{ $t('Preparing for launch') }}

{{ $t('APP may not be available') }}

- {{ $t('Please')