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 @@
-
2025 - {{ new Date().getFullYear() }} © yhMade with & Open Source
+
2025 - {{ new Date().getFullYear() }} © hpware
- Inspired by Ground.News
+ Optimized for Google Chrome
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 = [