From 2d8177500a6cae573a44dc48d295965612be705c Mon Sep 17 00:00:00 2001 From: Skidder Date: Thu, 15 Aug 2024 04:11:27 +0800 Subject: [PATCH] full language list and better admin panel --- data/language.json | 192 ++++++++++++++++++++++++++++++++++++-- deno.jsonc | 2 +- pages/admin/loading.ts | 1 - pages/admin/state.ts | 1 - pages/admin/views/menu.ts | 10 +- pages/shared/restSpec.ts | 18 +--- 6 files changed, 189 insertions(+), 35 deletions(-) diff --git a/data/language.json b/data/language.json index 247259f..4bf64a8 100644 --- a/data/language.json +++ b/data/language.json @@ -1,9 +1,185 @@ { - "EN": "English", - "PT": "Portuguese", - "FR": "French", - "DE": "German", - "IT": "Italian", - "RU": "Russian", - "ES": "Spanish" -} + "en": "English", + "pt": "Portuguese", + "fr": "French", + "de": "German", + "it": "Italian", + "ru": "Russian", + "es": "Spanish", + "ab": "Abkhazian", + "aa": "Afar", + "af": "Afrikaans", + "ak": "Akan", + "sq": "Albanian", + "am": "Amharic", + "ar": "Arabic", + "an": "Aragonese", + "hy": "Armenian", + "as": "Assamese", + "av": "Avaric", + "ae": "Avestan", + "ay": "Aymara", + "az": "Azerbaijani", + "bm": "Bambara", + "ba": "Bashkir", + "eu": "Basque", + "be": "Belarusian", + "bn": "Bengali", + "bh": "Bihari languages", + "bi": "Bislama", + "bs": "Bosnian", + "br": "Breton", + "bg": "Bulgarian", + "my": "Burmese", + "ca": "Catalan", + "km": "Central Khmer", + "ch": "Chamorro", + "ce": "Chechen", + "ny": "Chichewa", + "zh": "Chinese", + "cu": "Church Slavic", + "cv": "Chuvash", + "kw": "Cornish", + "co": "Corsican", + "cr": "Cree", + "hr": "Croatian", + "cs": "Czech", + "da": "Danish", + "dv": "Divehi", + "nl": "Dutch", + "dz": "Dzongkha", + "eo": "Esperanto", + "et": "Estonian", + "ee": "Ewe", + "fo": "Faroese", + "fj": "Fijian", + "fi": "Finnish", + "ff": "Fulah", + "gl": "Galician", + "ka": "Georgian", + "el": "Greek", + "gn": "Guarani", + "gu": "Gujarati", + "ht": "Haitian", + "ha": "Hausa", + "he": "Hebrew", + "hz": "Herero", + "hi": "Hindi", + "ho": "Hiri Motu", + "hu": "Hungarian", + "is": "Icelandic", + "io": "Ido", + "ig": "Igbo", + "id": "Indonesian", + "ia": "Interlingua", + "ie": "Interlingue", + "iu": "Inuktitut", + "ik": "Inupiaq", + "ga": "Irish", + "ja": "Japanese", + "jv": "Javanese", + "kl": "Kalaallisut", + "kn": "Kannada", + "kr": "Kanuri", + "ks": "Kashmiri", + "kk": "Kazakh", + "ki": "Kikuyu", + "rw": "Kinyarwanda", + "ky": "Kirghiz", + "kv": "Komi", + "kg": "Kongo", + "ko": "Korean", + "kj": "Kuanyama", + "ku": "Kurdish", + "lo": "Lao", + "la": "Latin", + "lv": "Latvian", + "li": "Limburgan", + "ln": "Lingala", + "lt": "Lithuanian", + "lu": "Luba-Katanga", + "lg": "Luganda", + "lb": "Luxembourgish", + "mk": "Macedonian", + "mg": "Malagasy", + "ms": "Malay", + "ml": "Malayalam", + "mt": "Maltese", + "gv": "Manx", + "mi": "Maori", + "mr": "Marathi", + "mh": "Marshallese", + "mn": "Mongolian", + "na": "Nauru", + "nv": "Navajo", + "ng": "Ndonga", + "ne": "Nepali", + "nd": "North Ndebele", + "se": "Northern Sami", + "no": "Norwegian", + "nb": "Norwegian Bokmål", + "nn": "Norwegian Nynorsk", + "oc": "Occitan", + "oj": "Ojibwa", + "or": "Oriya", + "om": "Oromo", + "os": "Ossetian", + "pi": "Pali", + "pa": "Panjabi", + "fa": "Persian", + "pl": "Polish", + "ps": "Pushto", + "qu": "Quechua", + "ro": "Romanian", + "rm": "Romansh", + "rn": "Rundi", + "sm": "Samoan", + "sg": "Sango", + "sa": "Sanskrit", + "sc": "Sardinian", + "sr": "Serbian", + "sn": "Shona", + "ii": "Sichuan Yi", + "sd": "Sindhi", + "si": "Sinhala", + "sk": "Slovak", + "sl": "Slovenian", + "so": "Somali", + "st": "Sotho, Southern", + "nr": "South Ndebele", + "su": "Sundanese", + "sw": "Swahili", + "ss": "Swati", + "sv": "Swedish", + "tl": "Tagalog", + "ty": "Tahitian", + "tg": "Tajik", + "ta": "Tamil", + "tt": "Tatar", + "te": "Telugu", + "th": "Thai", + "bo": "Tibetan", + "ti": "Tigrinya", + "to": "Tonga (Tonga Islands)", + "ts": "Tsonga", + "tn": "Tswana", + "tr": "Turkish", + "tk": "Turkmen", + "tw": "Twi", + "ug": "Uighur", + "uk": "Ukrainian", + "ur": "Urdu", + "uz": "Uzbek", + "ve": "Venda", + "vi": "Vietnamese", + "vo": "Volapük", + "wa": "Walloon", + "cy": "Welsh", + "fy": "Western Frisian", + "wo": "Wolof", + "xh": "Xhosa", + "yi": "Yiddish", + "yo": "Yoruba", + "za": "Zhuang", + "zu": "Zulu" +} \ No newline at end of file diff --git a/deno.jsonc b/deno.jsonc index fab8ba3..c2f0818 100644 --- a/deno.jsonc +++ b/deno.jsonc @@ -9,7 +9,7 @@ "@std/path": "jsr:@std/path@^0.225.2", "shared/": "./pages/shared/", // "webgen/": "../WebGen/" - "webgen/": "https://raw.githubusercontent.com/lucsoft/WebGen/8778c22/" + "webgen/": "https://raw.githubusercontent.com/lucsoft/WebGen/54a115d/" }, "lock": false, "compilerOptions": { diff --git a/pages/admin/loading.ts b/pages/admin/loading.ts index 31dff23..3822b7b 100644 --- a/pages/admin/loading.ts +++ b/pages/admin/loading.ts @@ -10,7 +10,6 @@ export async function refreshState() { (async () => state.drops.publishing = await API.admin.drops.list(DropType.Publishing))(), (async () => state.groups = await API.admin.groups.list())(), (async () => state.payouts = await API.admin.payouts.list())(), - (async () => state.files = await API.admin.files.list())(), (async () => state.wallets = await API.admin.wallets.list())(), (async () => state.oauth = await API.oauth.list())(), ]); diff --git a/pages/admin/state.ts b/pages/admin/state.ts index f5d84be..7b4fdda 100644 --- a/pages/admin/state.ts +++ b/pages/admin/state.ts @@ -11,7 +11,6 @@ export const state = asState({ groups: | "loading"> "loading", payouts: | "loading"> "loading", oauth: | "loading"> "loading", - files: | "loading"> "loading", wallets: | "loading"> "loading", search: | "loading"> { status: "fulfilled", value: [{ _index: "empty" }] }, searchQuery: "", diff --git a/pages/admin/views/menu.ts b/pages/admin/views/menu.ts index 659f18c..f1e8867 100644 --- a/pages/admin/views/menu.ts +++ b/pages/admin/views/menu.ts @@ -91,10 +91,7 @@ export const adminMenu = Navigation({ }) .addPrefix(showProfilePicture(it._source)); case "files": - return Entry({ - title: it._source.filename, - subtitle: `${it._source.length} bytes`, - }); + return entryFile(it._source); case "user-events": return Entry({ title: it._source.type, @@ -196,11 +193,6 @@ export const adminMenu = Navigation({ ] ), }, - { - id: "files", - title: ref`Files`, - children: [HeavyList(state.$files, entryFile)], - }, { id: "wallets", title: ref`Wallets`, diff --git a/pages/shared/restSpec.ts b/pages/shared/restSpec.ts index 9154df6..cb25e99 100644 --- a/pages/shared/restSpec.ts +++ b/pages/shared/restSpec.ts @@ -1,4 +1,4 @@ -import { Artist, BugReport, Drop, DropType, File, Group, Meta, OAuthApp, Payout, RequestPayoutResponse, Server, ServerAudit, ServerCreate, ServerTypes, Song, StoreItems, Wallet } from "../../spec/music.ts"; +import { Artist, BugReport, Drop, DropType, Group, Meta, OAuthApp, Payout, RequestPayoutResponse, Server, ServerAudit, ServerCreate, ServerTypes, Song, StoreItems, Wallet } from "../../spec/music.ts"; import { SearchResult } from "../admin/state.ts"; import { ProfileData } from "./helper.ts"; @@ -275,21 +275,9 @@ export const API = { headers: headers(API.getToken()), }) .then(json()) - .catch(reject) + .catch(reject); }, files: { - list: (offset: number | undefined = undefined) => { - const paging = new URLSearchParams(); - if (offset) { - paging.append("_offset", offset.toString()); - } - paging.append("_limit", "31"); - return fetch(`${API.BASE_URL}admin/files?${paging}`, { - headers: headers(API.getToken()), - }) - .then(json()) - .catch(reject); - }, download: (id: string) => fetch(`${API.BASE_URL}admin/files/${id}/download`, { headers: headers(API.getToken()), @@ -475,7 +463,7 @@ export const API = { }) .then(json()) .catch(reject), - create: (data: Partial) => + create: (data: Omit) => fetch(`${API.BASE_URL}music/songs`, { method: "POST", headers: headers(API.getToken()),