From 9d4c24e099c72263309ca43539670641ddd45c3d Mon Sep 17 00:00:00 2001 From: Ajit Kumar Date: Tue, 9 Jun 2026 00:24:00 +0530 Subject: [PATCH 1/3] feat(settings): add promotions section and image support for list items fix(updates): correct semver version comparison logic refactor(plugin): replace rating colors with theme variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add fetchPromotions() to cache promotional content from API - Render cached promotions as settings items with image icons - Support item.image in settings list for inline image rendering - Fix version check to compare semver components sequentially - Add --success-text-color CSS variable and ThemeBuilder accessor - Replace hardcoded brand icon colors with inherited theme colors - Add like/like-solid icon glyphs with cache-busting font URL (?v3) - Add settings-category-discover-apps i18n string across all locales - Fix file mode on style.css (755→644) - Validate promotion icon/link_text types before rendering --- src/components/settingsPage.js | 19 +++++++++++--- src/lang/ar-ye.json | 1 + src/lang/be-by.json | 1 + src/lang/bn-bd.json | 1 + src/lang/cs-cz.json | 1 + src/lang/de-de.json | 1 + src/lang/en-us.json | 1 + src/lang/es-sv.json | 1 + src/lang/fr-fr.json | 1 + src/lang/he-il.json | 1 + src/lang/hi-in.json | 1 + src/lang/hu-hu.json | 1 + src/lang/id-id.json | 1 + src/lang/index.d.ts | 1 + src/lang/ir-fa.json | 1 + src/lang/it-it.json | 1 + src/lang/ja-jp.json | 1 + src/lang/ko-kr.json | 1 + src/lang/ml-in.json | 1 + src/lang/mm-unicode.json | 1 + src/lang/mm-zawgyi.json | 1 + src/lang/pl-pl.json | 1 + src/lang/pt-br.json | 1 + src/lang/pu-in.json | 1 + src/lang/ru-ru.json | 1 + src/lang/tl-ph.json | 1 + src/lang/tr-tr.json | 1 + src/lang/uk-ua.json | 1 + src/lang/uz-uz.json | 1 + src/lang/vi-vn.json | 1 + src/lang/zh-cn.json | 1 + src/lang/zh-hant.json | 1 + src/lang/zh-tw.json | 1 + src/main.js | 30 +++++++++++++++++++--- src/pages/plugin/plugin.scss | 12 ++------- src/pages/plugin/plugin.view.js | 4 +-- src/res/icons/icons.ttf | Bin 51308 -> 51552 bytes src/res/icons/style.css | 44 ++++++++------------------------ src/settings/mainSettings.js | 19 ++++++++++++++ src/theme/builder.js | 9 +++++++ 40 files changed, 117 insertions(+), 52 deletions(-) mode change 100644 => 100755 src/res/icons/icons.ttf diff --git a/src/components/settingsPage.js b/src/components/settingsPage.js index 5048fb5a4..6f6a5464c 100644 --- a/src/components/settingsPage.js +++ b/src/components/settingsPage.js @@ -310,14 +310,27 @@ function createListItemElement(item, options, useInfoAsDescription) { const $item = (
+ > + {item.image && ( + + )} +
{item.text?.capitalize?.(0) ?? item.text}
diff --git a/src/lang/ar-ye.json b/src/lang/ar-ye.json index 8dac77f3a..1be169179 100644 --- a/src/lang/ar-ye.json +++ b/src/lang/ar-ye.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "اكتشف المزيد من التطبيقات", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/be-by.json b/src/lang/be-by.json index 1433fa70c..6e7faa9e8 100644 --- a/src/lang/be-by.json +++ b/src/lang/be-by.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Адкрыйце больш прыкладанняў", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/bn-bd.json b/src/lang/bn-bd.json index 543eb9e18..be557ee10 100644 --- a/src/lang/bn-bd.json +++ b/src/lang/bn-bd.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "আরও অ্যাপ আবিষ্কার করুন", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/cs-cz.json b/src/lang/cs-cz.json index 059147624..c15b03939 100644 --- a/src/lang/cs-cz.json +++ b/src/lang/cs-cz.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Objevte další aplikace", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/de-de.json b/src/lang/de-de.json index fc9768293..d42e9abfa 100644 --- a/src/lang/de-de.json +++ b/src/lang/de-de.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Weitere Apps entdecken", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/en-us.json b/src/lang/en-us.json index 400406c48..4c747b075 100644 --- a/src/lang/en-us.json +++ b/src/lang/en-us.json @@ -613,6 +613,7 @@ "lsp-error-websocket-url-required": "WebSocket URL is required", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Discover more apps", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/es-sv.json b/src/lang/es-sv.json index 03b987dc6..11438e986 100644 --- a/src/lang/es-sv.json +++ b/src/lang/es-sv.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Descubre más aplicaciones", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/fr-fr.json b/src/lang/fr-fr.json index b2704bc52..c52d85dd9 100644 --- a/src/lang/fr-fr.json +++ b/src/lang/fr-fr.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Découvrir plus d'applis", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/he-il.json b/src/lang/he-il.json index 39ed6ed72..68f2b4cbd 100644 --- a/src/lang/he-il.json +++ b/src/lang/he-il.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "גלה עוד אפליקציות", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/hi-in.json b/src/lang/hi-in.json index 162cd2598..8fac1e25a 100644 --- a/src/lang/hi-in.json +++ b/src/lang/hi-in.json @@ -595,6 +595,7 @@ "lsp-version-line": "वर्ज़न: {version}", "lsp-view-initialization-options": "इनिशियलाइज़ेशन विकल्प देखें", "settings-category-about-acode": "Acode के बारे में", + "settings-category-discover-apps": "और ऐप्स खोजें", "settings-category-advanced": "एडवांस्ड", "settings-category-assistance": "सहायता", "settings-category-core": "मुख्य सेटिंग्स", diff --git a/src/lang/hu-hu.json b/src/lang/hu-hu.json index 2c0275f5c..640cd8809 100644 --- a/src/lang/hu-hu.json +++ b/src/lang/hu-hu.json @@ -595,6 +595,7 @@ "lsp-version-line": "Verzió: {version}", "lsp-view-initialization-options": "Előkészítési beállítások megtekintése", "settings-category-about-acode": "Az Acode névjegye", + "settings-category-discover-apps": "Fedezz fel további alkalmazásokat", "settings-category-advanced": "Speciális", "settings-category-assistance": "Segítségnyújtás", "settings-category-core": "Alapvető beállítások", diff --git a/src/lang/id-id.json b/src/lang/id-id.json index 49796abd2..d4b9ae688 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -595,6 +595,7 @@ "lsp-version-line": "Versi: {version}", "lsp-view-initialization-options": "Lihat opsi inisiasi", "settings-category-about-acode": "Tentang Acode", + "settings-category-discover-apps": "Temukan lebih banyak aplikasi", "settings-category-advanced": "Lanjutan", "settings-category-assistance": "Asisten", "settings-category-core": "Pengaturan inti", diff --git a/src/lang/index.d.ts b/src/lang/index.d.ts index 1d1799197..e84c2b814 100644 --- a/src/lang/index.d.ts +++ b/src/lang/index.d.ts @@ -617,6 +617,7 @@ declare type LangStrings = { "lsp-view-initialization-options": string; "settings-category-about-acode": string; "settings-category-advanced": string; + "settings-category-discover-apps": string; "settings-category-assistance": string; "settings-category-core": string; "settings-category-cursor": string; diff --git a/src/lang/ir-fa.json b/src/lang/ir-fa.json index 18041a850..d4111e3bd 100644 --- a/src/lang/ir-fa.json +++ b/src/lang/ir-fa.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "برنامه‌های بیشتر کشف کنید", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/it-it.json b/src/lang/it-it.json index f8b119d39..e56866ac1 100644 --- a/src/lang/it-it.json +++ b/src/lang/it-it.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Scopri altre app", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/ja-jp.json b/src/lang/ja-jp.json index 024df5fe3..07318bec6 100644 --- a/src/lang/ja-jp.json +++ b/src/lang/ja-jp.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "他のアプリを見つける", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/ko-kr.json b/src/lang/ko-kr.json index 25740b64d..9b65c70e5 100644 --- a/src/lang/ko-kr.json +++ b/src/lang/ko-kr.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "더 많은 앱 찾기", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/ml-in.json b/src/lang/ml-in.json index 2f52cf8c4..ab3313829 100644 --- a/src/lang/ml-in.json +++ b/src/lang/ml-in.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "കൂടുതൽ ആപ്പുകൾ കണ്ടെത്തൂ", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/mm-unicode.json b/src/lang/mm-unicode.json index a8619f6f9..9550cf7ff 100644 --- a/src/lang/mm-unicode.json +++ b/src/lang/mm-unicode.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "နောက်ထပ် အက်ပ်များ ရှာဖွေပါ", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/mm-zawgyi.json b/src/lang/mm-zawgyi.json index 65fad98f3..8dbefe419 100644 --- a/src/lang/mm-zawgyi.json +++ b/src/lang/mm-zawgyi.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "ေနာက္ထပ္ အက္ပ္မ်ား ရှာေဖြပါ", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/pl-pl.json b/src/lang/pl-pl.json index 892be6ed6..9b5edcb4c 100644 --- a/src/lang/pl-pl.json +++ b/src/lang/pl-pl.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Odkryj więcej aplikacji", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/pt-br.json b/src/lang/pt-br.json index 560e21aef..bfb0ca08a 100644 --- a/src/lang/pt-br.json +++ b/src/lang/pt-br.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Descubra mais apps", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/pu-in.json b/src/lang/pu-in.json index 2ba658c17..d3df50117 100644 --- a/src/lang/pu-in.json +++ b/src/lang/pu-in.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "ਹੋਰ ਐਪਾਂ ਖੋਜੋ", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/ru-ru.json b/src/lang/ru-ru.json index 5220060f6..634fde8ff 100644 --- a/src/lang/ru-ru.json +++ b/src/lang/ru-ru.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Откройте больше приложений", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/tl-ph.json b/src/lang/tl-ph.json index 9a26f7c7c..1b0ef2a8a 100644 --- a/src/lang/tl-ph.json +++ b/src/lang/tl-ph.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Tumuklas ng higit pang apps", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/tr-tr.json b/src/lang/tr-tr.json index 0335d20ac..98840cf76 100644 --- a/src/lang/tr-tr.json +++ b/src/lang/tr-tr.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Daha fazla uygulama keşfet", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/uk-ua.json b/src/lang/uk-ua.json index 346238d15..36efa6c9f 100644 --- a/src/lang/uk-ua.json +++ b/src/lang/uk-ua.json @@ -595,6 +595,7 @@ "lsp-version-line": "Версія: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "Про Acode", + "settings-category-discover-apps": "Відкрийте більше застосунків", "settings-category-advanced": "Розширений", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/uz-uz.json b/src/lang/uz-uz.json index 1a808edf1..7e1499cf6 100644 --- a/src/lang/uz-uz.json +++ b/src/lang/uz-uz.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Ko‘proq ilovalarni kashf qiling", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/vi-vn.json b/src/lang/vi-vn.json index ffc96b0d4..82206320f 100644 --- a/src/lang/vi-vn.json +++ b/src/lang/vi-vn.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "Khám phá thêm ứng dụng", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json index f2516857d..d8fc1ba51 100644 --- a/src/lang/zh-cn.json +++ b/src/lang/zh-cn.json @@ -595,6 +595,7 @@ "lsp-version-line": "版本:{version}", "lsp-view-initialization-options": "查看初始化选项", "settings-category-about-acode": "关于 Acode", + "settings-category-discover-apps": "发现更多应用", "settings-category-advanced": "高级", "settings-category-assistance": "辅助", "settings-category-core": "核心设置", diff --git a/src/lang/zh-hant.json b/src/lang/zh-hant.json index 9e226fd22..bda90076b 100644 --- a/src/lang/zh-hant.json +++ b/src/lang/zh-hant.json @@ -595,6 +595,7 @@ "lsp-version-line": "版本:{version}", "lsp-view-initialization-options": "查看初始化選項", "settings-category-about-acode": "關於 Acode", + "settings-category-discover-apps": "發現更多應用程式", "settings-category-advanced": "高級", "settings-category-assistance": "輔助", "settings-category-core": "核心設置", diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json index b47e13ca2..dade3c306 100644 --- a/src/lang/zh-tw.json +++ b/src/lang/zh-tw.json @@ -595,6 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", + "settings-category-discover-apps": "發現更多應用程式", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/main.js b/src/main.js index 6ebaf1d66..22b32825c 100644 --- a/src/main.js +++ b/src/main.js @@ -317,6 +317,8 @@ async function onDeviceReady() { console.error("Error checking login status:", error); toast("Error checking login status"); } + + fetchPromotions(); }, 500); } @@ -339,9 +341,17 @@ async function onDeviceReady() { .map(Number); const currentVersion = BuildInfo.version.split(".").map(Number); - const hasUpdate = latestVersion.some( - (num, i) => num > currentVersion[i], - ); + let hasUpdate = false; + for (let i = 0; i < latestVersion.length; i++) { + const latest = latestVersion[i]; + const current = currentVersion[i] || 0; + if (latest > current) { + hasUpdate = true; + break; + } else if (latest < current) { + break; + } + } if (hasUpdate) { acode.pushNotification( @@ -393,6 +403,20 @@ async function onLogin() { } } +async function fetchPromotions() { + try { + const res = await fetch(`${config.API_BASE}/promotions`); + if (res.ok) { + const data = await res.json(); + if (Array.isArray(data) && data.length) { + localStorage.setItem("cached_promotions", JSON.stringify(data)); + } + } + } catch (err) { + console.debug("Failed to fetch promotions:", err); + } +} + async function setDebugInfo() { const { version, versionCode } = BuildInfo; diff --git a/src/pages/plugin/plugin.scss b/src/pages/plugin/plugin.scss index 0ce0a8492..2b6c2656b 100644 --- a/src/pages/plugin/plugin.scss +++ b/src/pages/plugin/plugin.scss @@ -120,24 +120,16 @@ } .rating-value { - padding: 2px 8px; border-radius: 12px; font-weight: 600; } .rating-high { - background: var(--link-text-color); - color: #0a3600; - } - - .rating-medium { - background: #f0a500; - color: #3d2800; + color: var(--success-text-color); } .rating-low { - background: var(--error-text-color); - color: #fff; + color: var(--danger-color); } } } diff --git a/src/pages/plugin/plugin.view.js b/src/pages/plugin/plugin.view.js index 0bf932172..b02f1a05a 100644 --- a/src/pages/plugin/plugin.view.js +++ b/src/pages/plugin/plugin.view.js @@ -155,9 +155,9 @@ export default (props) => { {strings.downloads}
- + = 80 ? "rating-high" : rating.replace("%", "") >= 50 ? "rating-medium" : "rating-low"}`} + className={`rating-value ${rating === "unrated" ? "" : rating.replace("%", "") >= 80 ? "rating-high" : rating.replace("%", "") >= 50 ? "" : "rating-low"}`} > {rating} diff --git a/src/res/icons/icons.ttf b/src/res/icons/icons.ttf old mode 100644 new mode 100755 index 7760219ea32fc08c9bc88d4468a88f8460140ed6..8bcc9e37d5a99ff58213149ff7d653f783646c98 GIT binary patch delta 1283 zcmY*YT})g>6h8BFXYL=n+}+z<#DcIOM2Zwymeo{flTuCFrPR`G2wGuNYKa9)EFox! zyCzkMR4u)211;3X)HGV()+f{I8!d?%5>p=3)TT8?Nli!gXV@g#dG% zxT=Tx-+1Lx=bt?QnhEgrSl_`^@5Za6@8a1N98G-~kk|S5xc?hRW#7Qi$aC{!3wZw| z06*S;8{$n~ zZ*X^;NpzjWxD?sHvGM(W+5*C@{~j3J1+?f*mj}$9t}ln zNHrq!J=Pd&TqW;Gh=yH7s3Y1Gbpxx4@`8LsMqF?d!!f6A>KUhUs?51PHIjCfA!kAq zuA(qPUD484D!D49P*t22O3(zt&D6=G$<`V0+LHbp;Y%-VagP0YN~2@9K;nbpCY;ZHTfCub+qYv=kB@n+4rW4 zYtjsou!UV_hoKhgp#^`82G{TsV&f|?AE_wE7pks`S)SdSNW6t?%0t2-KT)ixrNqi3 z_>fhbNrkk^Su$+fhKbdNwc1A?%z0m?VcX&U>ms0Svx5QCWK7iOwk2sYmtHUeCM9g^ zQ{Rve=wT0-Rb8_R*V*<*`*InQX=~F94PC$XYpxf6_J<<; zPz4bGKV@r8l4RvpJnHFl$zLuC+O39(HG@SpG=pD;$uH$L+|cbnFi&#JDh2QC!40~> U11GKA1l{`k8Xw4hJo_E_4=_Ua{Qv*} delta 1016 zcmYLHZ%kWN6hG(Q`|f>xr7bXMp@YgE+GZF5TUtz9S%%67R$$1K1(&&QV^ z!c5#kGL{XVL>QQ0gneLYBK4D^-&C>@HH$H3SqzCWQT!7=xcJR_?xV(gdhb2&ch32} zbAGQ|GyM1Kd;$;vyl@dXH23s1#RKKOUI2W8(37V}vbp=y_n!ffb@V)ZE<2W^yA)vK z4Bh6r;aAVDRoz-9_b-6Y-X9vwo@p$6pljD@r-len8{%v7DGm=0jf|h~czyB>;-3Q$ zlf$E@v)PqT$0;bM0NB})?D-tF<26dCqJp}Yvm=AG@l65nm@p zPXkPB-uvdoz<~$grBqr!|MBtAfA{oOn#b{~Q-=d=ry+j1ck21l{`j$$V}A~O_rmJ& zA5K^&zRz18-xYotr}E*qUcyMKmFyrUTWminSx=^1qdVT3%D+3?gSCbs1UDoiGTLYu zTo{rwDTSe`^S-x}*u*HrxsK8jZkp?U4iW{V**%_y$KXwP2fn~TyyW~d^SJZgT>qg) zjKxF25bZ<+AHqtz38OJG!n7rVp=2-_joFlEN9)On)hFU)cD*i(V9fbwexH+@Zy&IC z``$e(D=I6B6h!kR+EnQB>N6SDGyiXiR4A2b!=ezHpeTc_Z1UpHxAU*HDZip=B|}oe z6b22)ISIj;ps{IQM(Uw{&_6?!xCvSc(-h`@=kFU4G@MUvr28?v$5fWbl7f+5%CL|b z%JT0CqY@r77~srH+Hxd)bwrt_Dd`lCGR~#oT4-d&?_gP4b3rfkIF$>pH0|OP7fh2= zi#n0HFnPPJy0sdX&fdiuWX^93&D~OSc)X_RDPaa@p)$Y4m|-ZPs0klq-cqSb0s)`D hgfowl^oP)mtQWb7j0p9#?h7&Bx)^TA&wh0W{{_3WxnlqT diff --git a/src/res/icons/style.css b/src/res/icons/style.css index 431df79bb..f883316e0 100644 --- a/src/res/icons/style.css +++ b/src/res/icons/style.css @@ -1,11 +1,13 @@ @font-face { font-family: "code-editor-icon"; - src: url("icons.ttf?v2") format("truetype"); + src: url("icons.ttf?v3") format("truetype"); font-weight: normal; font-style: normal; font-display: block; } -.icon { +.icon, +[class^="icon-"], +[class*=" icon-"] { /* Use !important to prevent extensions from overriding this font. */ font-family: "code-editor-icon" !important; font-style: normal; @@ -18,6 +20,12 @@ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } +.icon.like:before { + content: "\f2df"; +} +.icon.like-solid:before { + content: "\f576"; +} .icon.text-search:before { content: "\f02a"; } @@ -224,116 +232,90 @@ } .icon.android:before { content: "\e92e"; - color: #a4c639; } .icon.angular:before { content: "\e92f"; - color: #dd0031; } .icon.css3:before { content: "\e930"; - color: #1572b6; } .icon.dev-dot-to:before { content: "\e931"; } .icon.facebook:before { content: "\e932"; - color: #4172b8; } .icon.git:before { content: "\e933"; - color: #f05032; } .icon.github:before { content: "\e934"; } .icon.gmail:before { content: "\e935"; - color: #d14836; } .icon.googlechrome:before { content: "\e936"; - color: #4285f4; } .icon.googledrive:before { content: "\e937"; - color: #4285f4; } .icon.googleplay:before { content: "\e938"; - color: #607d8b; } .icon.html5:before { content: "\e939"; - color: #e34f26; } .icon.instagram:before { content: "\e93a"; - color: #e4405f; } .icon.ionic:before { content: "\e93b"; - color: #3880ff; } .icon.javascript:before { content: "\e93c"; - color: #f7df1e; } .icon.jekyll:before { content: "\e93d"; - color: #c00; } .icon.linkedin:before { content: "\e93e"; - color: #0077b5; } .icon.markdown:before { content: "\e93f"; } .icon.npm:before { content: "\e940"; - color: #cb3837; } .icon.python:before { content: "\e941"; - color: #3776ab; } .icon.react:before { content: "\e942"; - color: #61dafb; } .icon.stackexchange:before { content: "\e943"; - color: #1e5397; } .icon.stackoverflow:before { content: "\e944"; - color: #fe7a16; } .icon.telegram:before { content: "\e945"; - color: #2ca5e0; } .icon.twitter:before { content: "\e946"; - color: #1da1f2; } .icon.visualstudiocode:before { content: "\e947"; - color: #007acc; } .icon.webpack:before { content: "\e948"; - color: #8dd6f9; } .icon.yarn:before { content: "\e949"; - color: #2c8ebb; } .icon.youtube:before { content: "\e94a"; - color: #f00; } .icon.error:before { content: "\e94b"; @@ -874,11 +856,9 @@ } .icon.vue:before { content: "\e9fe"; - color: #4fc08d; } .icon.angularuniversal:before { content: "\e9ff"; - color: #00acc1; } .icon.linkinsert_link:before { content: "\ea00"; @@ -921,19 +901,15 @@ } .icon.acode:before { content: "\ea0d"; - color: #3499fe; } .icon.patreon:before { content: "\ea0f"; - color: #f96854; } .icon.paypal:before { content: "\ea10"; - color: #00457c; } .icon.ruby:before { content: "\ea11"; - color: #cc342d; } .icon.font_download:before { content: "\ea12"; diff --git a/src/settings/mainSettings.js b/src/settings/mainSettings.js index fec0d21d7..b53ccc381 100644 --- a/src/settings/mainSettings.js +++ b/src/settings/mainSettings.js @@ -182,6 +182,25 @@ export default function mainSettings() { }); } + // Add promotion items from cached data + const cachedPromotions = helpers.parseJSON( + localStorage.getItem("cached_promotions"), + ); + if (Array.isArray(cachedPromotions) && cachedPromotions.length) { + categories.promotions = strings["settings-category-discover-apps"]; + cachedPromotions.forEach((promo) => { + if (!promo.url || !promo.label) return; + items.push({ + key: `promo-${encodeURIComponent(promo.url)}`, + text: promo.label, + image: typeof promo.icon === "string" ? promo.icon : null, + info: typeof promo.link_text === "string" ? promo.link_text : "", + link: promo.url, + category: categories.promotions, + }); + }); + } + /** * Callback for settings page for handling click event * @this {HTMLElement} diff --git a/src/theme/builder.js b/src/theme/builder.js index 293248518..cc7ecfabc 100644 --- a/src/theme/builder.js +++ b/src/theme/builder.js @@ -12,6 +12,7 @@ export default class ThemeBuilder { "--button-background-color": "rgb(51, 153, 255)", "--button-text-color": "rgb(255, 255, 255)", "--error-text-color": "rgb(255, 185, 92)", + "--success-text-color": "rgb(22, 152, 44)", "--primary-color": "rgb(153, 153, 255)", "--primary-text-color": "rgb(255, 255, 255)", "--secondary-color": "rgb(255, 255, 255)", @@ -124,6 +125,14 @@ export default class ThemeBuilder { this.#theme["--error-text-color"] = value; } + get successTextColor() { + return this.#theme["--success-text-color"]; + } + + set successTextColor(value) { + this.#theme["--success-text-color"] = value; + } + get primaryColor() { return this.#theme["--primary-color"]; } From c67b2c4293bd502cd009436c9f11f129319d9833 Mon Sep 17 00:00:00 2001 From: Ajit Kumar Date: Tue, 9 Jun 2026 00:24:51 +0530 Subject: [PATCH 2/3] fix: linting --- src/lang/ar-ye.json | 2 +- src/lang/be-by.json | 2 +- src/lang/bn-bd.json | 2 +- src/lang/cs-cz.json | 2 +- src/lang/de-de.json | 2 +- src/lang/es-sv.json | 2 +- src/lang/fr-fr.json | 2 +- src/lang/he-il.json | 2 +- src/lang/hi-in.json | 2 +- src/lang/hu-hu.json | 2 +- src/lang/id-id.json | 2 +- src/lang/ir-fa.json | 2 +- src/lang/it-it.json | 2 +- src/lang/ja-jp.json | 2 +- src/lang/ko-kr.json | 2 +- src/lang/ml-in.json | 2 +- src/lang/mm-unicode.json | 2 +- src/lang/mm-zawgyi.json | 2 +- src/lang/pl-pl.json | 2 +- src/lang/pt-br.json | 2 +- src/lang/pu-in.json | 2 +- src/lang/ru-ru.json | 2 +- src/lang/tl-ph.json | 2 +- src/lang/tr-tr.json | 2 +- src/lang/uk-ua.json | 2 +- src/lang/uz-uz.json | 2 +- src/lang/vi-vn.json | 2 +- src/lang/zh-cn.json | 2 +- src/lang/zh-hant.json | 2 +- src/lang/zh-tw.json | 2 +- 30 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/lang/ar-ye.json b/src/lang/ar-ye.json index 1be169179..f8dd9a3d9 100644 --- a/src/lang/ar-ye.json +++ b/src/lang/ar-ye.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "اكتشف المزيد من التطبيقات", + "settings-category-discover-apps": "اكتشف المزيد من التطبيقات", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/be-by.json b/src/lang/be-by.json index 6e7faa9e8..14f6e8db4 100644 --- a/src/lang/be-by.json +++ b/src/lang/be-by.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Адкрыйце больш прыкладанняў", + "settings-category-discover-apps": "Адкрыйце больш прыкладанняў", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/bn-bd.json b/src/lang/bn-bd.json index be557ee10..6138d85fa 100644 --- a/src/lang/bn-bd.json +++ b/src/lang/bn-bd.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "আরও অ্যাপ আবিষ্কার করুন", + "settings-category-discover-apps": "আরও অ্যাপ আবিষ্কার করুন", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/cs-cz.json b/src/lang/cs-cz.json index c15b03939..9953d633e 100644 --- a/src/lang/cs-cz.json +++ b/src/lang/cs-cz.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Objevte další aplikace", + "settings-category-discover-apps": "Objevte další aplikace", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/de-de.json b/src/lang/de-de.json index d42e9abfa..a55f8e77a 100644 --- a/src/lang/de-de.json +++ b/src/lang/de-de.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Weitere Apps entdecken", + "settings-category-discover-apps": "Weitere Apps entdecken", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/es-sv.json b/src/lang/es-sv.json index 11438e986..8c9fd43ce 100644 --- a/src/lang/es-sv.json +++ b/src/lang/es-sv.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Descubre más aplicaciones", + "settings-category-discover-apps": "Descubre más aplicaciones", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/fr-fr.json b/src/lang/fr-fr.json index c52d85dd9..6b1bc080a 100644 --- a/src/lang/fr-fr.json +++ b/src/lang/fr-fr.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Découvrir plus d'applis", + "settings-category-discover-apps": "Découvrir plus d'applis", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/he-il.json b/src/lang/he-il.json index 68f2b4cbd..72d8915b2 100644 --- a/src/lang/he-il.json +++ b/src/lang/he-il.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "גלה עוד אפליקציות", + "settings-category-discover-apps": "גלה עוד אפליקציות", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/hi-in.json b/src/lang/hi-in.json index 8fac1e25a..38c54551f 100644 --- a/src/lang/hi-in.json +++ b/src/lang/hi-in.json @@ -595,7 +595,7 @@ "lsp-version-line": "वर्ज़न: {version}", "lsp-view-initialization-options": "इनिशियलाइज़ेशन विकल्प देखें", "settings-category-about-acode": "Acode के बारे में", - "settings-category-discover-apps": "और ऐप्स खोजें", + "settings-category-discover-apps": "और ऐप्स खोजें", "settings-category-advanced": "एडवांस्ड", "settings-category-assistance": "सहायता", "settings-category-core": "मुख्य सेटिंग्स", diff --git a/src/lang/hu-hu.json b/src/lang/hu-hu.json index 640cd8809..8a911767c 100644 --- a/src/lang/hu-hu.json +++ b/src/lang/hu-hu.json @@ -595,7 +595,7 @@ "lsp-version-line": "Verzió: {version}", "lsp-view-initialization-options": "Előkészítési beállítások megtekintése", "settings-category-about-acode": "Az Acode névjegye", - "settings-category-discover-apps": "Fedezz fel további alkalmazásokat", + "settings-category-discover-apps": "Fedezz fel további alkalmazásokat", "settings-category-advanced": "Speciális", "settings-category-assistance": "Segítségnyújtás", "settings-category-core": "Alapvető beállítások", diff --git a/src/lang/id-id.json b/src/lang/id-id.json index d4b9ae688..321e177ab 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -595,7 +595,7 @@ "lsp-version-line": "Versi: {version}", "lsp-view-initialization-options": "Lihat opsi inisiasi", "settings-category-about-acode": "Tentang Acode", - "settings-category-discover-apps": "Temukan lebih banyak aplikasi", + "settings-category-discover-apps": "Temukan lebih banyak aplikasi", "settings-category-advanced": "Lanjutan", "settings-category-assistance": "Asisten", "settings-category-core": "Pengaturan inti", diff --git a/src/lang/ir-fa.json b/src/lang/ir-fa.json index d4111e3bd..fbcbd9024 100644 --- a/src/lang/ir-fa.json +++ b/src/lang/ir-fa.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "برنامه‌های بیشتر کشف کنید", + "settings-category-discover-apps": "برنامه‌های بیشتر کشف کنید", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/it-it.json b/src/lang/it-it.json index e56866ac1..7e0ae5cd4 100644 --- a/src/lang/it-it.json +++ b/src/lang/it-it.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Scopri altre app", + "settings-category-discover-apps": "Scopri altre app", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/ja-jp.json b/src/lang/ja-jp.json index 07318bec6..0515c1f3c 100644 --- a/src/lang/ja-jp.json +++ b/src/lang/ja-jp.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "他のアプリを見つける", + "settings-category-discover-apps": "他のアプリを見つける", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/ko-kr.json b/src/lang/ko-kr.json index 9b65c70e5..7bb079ccc 100644 --- a/src/lang/ko-kr.json +++ b/src/lang/ko-kr.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "더 많은 앱 찾기", + "settings-category-discover-apps": "더 많은 앱 찾기", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/ml-in.json b/src/lang/ml-in.json index ab3313829..1244c72cc 100644 --- a/src/lang/ml-in.json +++ b/src/lang/ml-in.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "കൂടുതൽ ആപ്പുകൾ കണ്ടെത്തൂ", + "settings-category-discover-apps": "കൂടുതൽ ആപ്പുകൾ കണ്ടെത്തൂ", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/mm-unicode.json b/src/lang/mm-unicode.json index 9550cf7ff..a447adcd1 100644 --- a/src/lang/mm-unicode.json +++ b/src/lang/mm-unicode.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "နောက်ထပ် အက်ပ်များ ရှာဖွေပါ", + "settings-category-discover-apps": "နောက်ထပ် အက်ပ်များ ရှာဖွေပါ", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/mm-zawgyi.json b/src/lang/mm-zawgyi.json index 8dbefe419..232b6941c 100644 --- a/src/lang/mm-zawgyi.json +++ b/src/lang/mm-zawgyi.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "ေနာက္ထပ္ အက္ပ္မ်ား ရှာေဖြပါ", + "settings-category-discover-apps": "ေနာက္ထပ္ အက္ပ္မ်ား ရှာေဖြပါ", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/pl-pl.json b/src/lang/pl-pl.json index 9b5edcb4c..cbac039df 100644 --- a/src/lang/pl-pl.json +++ b/src/lang/pl-pl.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Odkryj więcej aplikacji", + "settings-category-discover-apps": "Odkryj więcej aplikacji", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/pt-br.json b/src/lang/pt-br.json index bfb0ca08a..0df155671 100644 --- a/src/lang/pt-br.json +++ b/src/lang/pt-br.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Descubra mais apps", + "settings-category-discover-apps": "Descubra mais apps", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/pu-in.json b/src/lang/pu-in.json index d3df50117..69d1f0bd3 100644 --- a/src/lang/pu-in.json +++ b/src/lang/pu-in.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "ਹੋਰ ਐਪਾਂ ਖੋਜੋ", + "settings-category-discover-apps": "ਹੋਰ ਐਪਾਂ ਖੋਜੋ", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/ru-ru.json b/src/lang/ru-ru.json index 634fde8ff..034ef67df 100644 --- a/src/lang/ru-ru.json +++ b/src/lang/ru-ru.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Откройте больше приложений", + "settings-category-discover-apps": "Откройте больше приложений", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/tl-ph.json b/src/lang/tl-ph.json index 1b0ef2a8a..1a9bb7f5d 100644 --- a/src/lang/tl-ph.json +++ b/src/lang/tl-ph.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Tumuklas ng higit pang apps", + "settings-category-discover-apps": "Tumuklas ng higit pang apps", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/tr-tr.json b/src/lang/tr-tr.json index 98840cf76..0079141b4 100644 --- a/src/lang/tr-tr.json +++ b/src/lang/tr-tr.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Daha fazla uygulama keşfet", + "settings-category-discover-apps": "Daha fazla uygulama keşfet", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/uk-ua.json b/src/lang/uk-ua.json index 36efa6c9f..208b12772 100644 --- a/src/lang/uk-ua.json +++ b/src/lang/uk-ua.json @@ -595,7 +595,7 @@ "lsp-version-line": "Версія: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "Про Acode", - "settings-category-discover-apps": "Відкрийте більше застосунків", + "settings-category-discover-apps": "Відкрийте більше застосунків", "settings-category-advanced": "Розширений", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/uz-uz.json b/src/lang/uz-uz.json index 7e1499cf6..7aeb0c740 100644 --- a/src/lang/uz-uz.json +++ b/src/lang/uz-uz.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Ko‘proq ilovalarni kashf qiling", + "settings-category-discover-apps": "Ko‘proq ilovalarni kashf qiling", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/vi-vn.json b/src/lang/vi-vn.json index 82206320f..a0a306366 100644 --- a/src/lang/vi-vn.json +++ b/src/lang/vi-vn.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "Khám phá thêm ứng dụng", + "settings-category-discover-apps": "Khám phá thêm ứng dụng", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json index d8fc1ba51..9a7a58667 100644 --- a/src/lang/zh-cn.json +++ b/src/lang/zh-cn.json @@ -595,7 +595,7 @@ "lsp-version-line": "版本:{version}", "lsp-view-initialization-options": "查看初始化选项", "settings-category-about-acode": "关于 Acode", - "settings-category-discover-apps": "发现更多应用", + "settings-category-discover-apps": "发现更多应用", "settings-category-advanced": "高级", "settings-category-assistance": "辅助", "settings-category-core": "核心设置", diff --git a/src/lang/zh-hant.json b/src/lang/zh-hant.json index bda90076b..26212812e 100644 --- a/src/lang/zh-hant.json +++ b/src/lang/zh-hant.json @@ -595,7 +595,7 @@ "lsp-version-line": "版本:{version}", "lsp-view-initialization-options": "查看初始化選項", "settings-category-about-acode": "關於 Acode", - "settings-category-discover-apps": "發現更多應用程式", + "settings-category-discover-apps": "發現更多應用程式", "settings-category-advanced": "高級", "settings-category-assistance": "輔助", "settings-category-core": "核心設置", diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json index dade3c306..2c79ed324 100644 --- a/src/lang/zh-tw.json +++ b/src/lang/zh-tw.json @@ -595,7 +595,7 @@ "lsp-version-line": "Version: {version}", "lsp-view-initialization-options": "View initialization options", "settings-category-about-acode": "About Acode", - "settings-category-discover-apps": "發現更多應用程式", + "settings-category-discover-apps": "發現更多應用程式", "settings-category-advanced": "Advanced", "settings-category-assistance": "Assistance", "settings-category-core": "Core settings", From 910542526c65d131f4a6b841f3a50bca720de7b0 Mon Sep 17 00:00:00 2001 From: Ajit Kumar Date: Tue, 9 Jun 2026 00:34:13 +0530 Subject: [PATCH 3/3] fix(promotions): allow server to clear cached promotions and validate URL scheme - Remove data.length guard so empty [] response clears stale promotions - Validate promo.url starts with http:// or https:// before rendering --- src/main.js | 2 +- src/settings/mainSettings.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.js b/src/main.js index 22b32825c..c7696e6d0 100644 --- a/src/main.js +++ b/src/main.js @@ -408,7 +408,7 @@ async function fetchPromotions() { const res = await fetch(`${config.API_BASE}/promotions`); if (res.ok) { const data = await res.json(); - if (Array.isArray(data) && data.length) { + if (Array.isArray(data)) { localStorage.setItem("cached_promotions", JSON.stringify(data)); } } diff --git a/src/settings/mainSettings.js b/src/settings/mainSettings.js index b53ccc381..105f62229 100644 --- a/src/settings/mainSettings.js +++ b/src/settings/mainSettings.js @@ -189,7 +189,7 @@ export default function mainSettings() { if (Array.isArray(cachedPromotions) && cachedPromotions.length) { categories.promotions = strings["settings-category-discover-apps"]; cachedPromotions.forEach((promo) => { - if (!promo.url || !promo.label) return; + if (!promo.url || !promo.label || !/^https?:\/\//.test(promo.url)) return; items.push({ key: `promo-${encodeURIComponent(promo.url)}`, text: promo.label,