diff --git a/components/footer.vue b/components/footer.vue index dca34c0..5be11d9 100644 --- a/components/footer.vue +++ b/components/footer.vue @@ -1,15 +1,17 @@ diff --git a/i18n/locales/en.json b/i18n/locales/en.json index fb06a5f..aee15f5 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -36,12 +36,14 @@ "title": { "find": "Find", "interface": "Interface", - "documentation": "Documentation" + "documentation": "Documentation", + "opensource": "Open Source" }, "description": { "find": "You can easily find the same topic from different news sources.", "interface": "Use a desktop like interface, the one that you already got used to.", - "documentation": "We provide a documentation for you to learn how to use the app." + "documentation": "We provide a documentation for you to learn how to use the app.", + "opensource": "This platform is open source! minus the database part, but I'm going to try!" } } }, diff --git a/i18n/locales/zh-tw.json b/i18n/locales/zh-tw.json index cc10765..a26e259 100644 --- a/i18n/locales/zh-tw.json +++ b/i18n/locales/zh-tw.json @@ -36,12 +36,14 @@ "title": { "find": "尋找", "interface": "使用者介面", - "documentation": "教學" + "documentation": "教學", + "opensource": "開源" }, "description": { "find": "你可以輕鬆地從不同的新聞來源找到相同的主題。", "interface": "這個網站使用類似 Xfce / MacOS / DSM 的介面,讓你可以簡單使用這個網站。", - "documentation": "我做了一組教學,讓你可以學會如何使用這個網站 UI。" + "documentation": "我做了一組教學,讓你可以學會如何使用這個網站 UI。", + "opensource": "這個平台的所有程式碼都放在Github上,沒有開源的資料庫,我會想辦法把它用其他方式開源!" } } }, diff --git a/pages/app/desktop/index.vue b/pages/app/desktop/index.vue index 6c62770..a6404da 100644 --- a/pages/app/desktop/index.vue +++ b/pages/app/desktop/index.vue @@ -70,6 +70,7 @@ const progress = ref(0); const titleAppName = ref("Desktop"); const openingAppViaAnApp = ref(false); const passedValues = ref(); +const globalWindowVal = ref(new Map()); // Key Data const menuItems = [ @@ -162,17 +163,6 @@ const associAppWindow = [ }, ]; -currentNavBar.value = [ - { - name: "anything", - icon: "anything", - action: "s", - flash: true, - windowAssociated: "322", - minimized: true, - }, -]; - /* const keyboardShortcuts = { 'Meta+k': { @@ -247,6 +237,15 @@ onMounted(() => { }); // functions +onMounted(() => { + associAppWindow.forEach((window) => { + globalWindowVal.value.set(window.name, { + id: window.id, + title: window.title, + windowCount: 1 + }); + }); +}) const openWindow = (windowName?: string) => { if (windowName === "leave") { router.push(localePath("/home")); @@ -301,10 +300,10 @@ const findAndOpenWindow = (windowName: string) => { // Use shallowRef for better performance with components const windowComponent = shallowRef(app.component); titleAppName.value = app.title; - + const abosluteId = uuidv4(); activeWindows.value.push({ id: currentOpenAppId.value, - absoluteId: uuidv4(), + absoluteId: abosluteId, component: windowComponent, name: windowName, title: app.title, @@ -313,14 +312,18 @@ const findAndOpenWindow = (windowName: string) => { }); currentOpenAppId.value++; // Add to navbar + const windowNameVal2 = globalWindowVal.value.get(windowName).windowCount === 1 ? windowName : windowName + "(" + globalWindowVal.value.get(windowName).windowCount + ")" + console.log(globalWindowVal.value.get(windowName)) + console.log(windowNameVal2) currentNavBar.value.push({ - name: "anything", + name: windowNameVal2, icon: "anything", - action: "s", + action: "idk", flash: true, - windowAssociated: "322", - minimized: true, + windowAssociated: abosluteId, + minimized: false, }); + globalWindowVal.value.get(windowName).windowCount++ } }; diff --git a/pages/home.vue b/pages/home.vue index 4925015..c587b62 100644 --- a/pages/home.vue +++ b/pages/home.vue @@ -12,6 +12,7 @@ import { ViewfinderCircleIcon, DocumentDuplicateIcon, } from "@heroicons/vue/24/outline"; +import { GithubIcon } from "lucide-vue-next"; import { gsap } from "gsap"; import { TextPlugin } from "gsap/TextPlugin"; gsap.registerPlugin(TextPlugin); @@ -44,6 +45,11 @@ const cards = [ title: t("home.cards.title.documentation"), description: t("home.cards.description.documentation"), }, + { + icon: GithubIcon, + title: t("home.cards.title.opensource"), + description: t("home.cards.description.opensource") + } ]; const accordionItems = [