feat: Phase 1 — extract the client (web SPA + desktop) to dtoro/oikos-web
Problem: the hexagonal refactor churns the backend tree for nine more phases; the UI delivery stack (web/ SPA, cmd/desktop Wails wrapper, compose/web image) must move to its own repo first so doc/layout rewrites land once on a backend-only tree. Change: - New repo git.hubris.network/dtoro/oikos-web (v0.33.0): web/, desktop/ (updateURL repointed to oikos-web releases), compose/, own CI (web + desktop jobs), own deploy script (CI-green gate, TOCTOU guard, version-tagged images, prune-to-3), own webhook receiver on :9798 + launchd unit, own compose project publishing the same 8091:80. - Cutover executed on mac-mini in order: oikos stack's web service stopped+removed, oikos-web project brought up on 8091; outer Caddy untouched (targets the published port) — serving + Authentik flow + /wails 404 quirk verified post-cutover. - Stripped from oikos: web/, cmd/desktop/, compose/web/, desktop CI workflow, ci.yml web job, Makefile ui/desktop/desktop-package/install targets, the compose web service, oikos-web from deploy.sh's fallback prune list; wails + go-keyring dropped from go.mod, vendor synced. - README / CONTRIBUTING / AGENTS.md / .agents dev+operations docs now point at the new repo; mbse + mascot design docs carry a path note. Risk: production SPA serving depends on the new pipeline now; rollback is versioned-image re-up of the old web service from a pre-split checkout (port 8091). Desktop builds installed before the split still check dtoro/oikos releases — one manual reinstall, noted in the oikos-web release notes. Verification: go vet, make test (race), make generate-check, golangci (no new findings; baseline down 400→365); post-cutover curls — localhost:8091 200, /wails/runtime.js 404, outer Caddy 302 Authentik.
This commit is contained in:
129
web/node_modules/bits-ui/dist/internal/date-time/placeholders.js
generated
vendored
Normal file
129
web/node_modules/bits-ui/dist/internal/date-time/placeholders.js
generated
vendored
Normal file
@@ -0,0 +1,129 @@
|
||||
// prettier-ignore
|
||||
const supportedLocales = [
|
||||
'ach', 'af', 'am', 'an', 'ar', 'ast', 'az', 'be', 'bg', 'bn', 'br', 'bs',
|
||||
'ca', 'cak', 'ckb', 'cs', 'cy', 'da', 'de', 'dsb', 'el', 'en', 'eo', 'es',
|
||||
'et', 'eu', 'fa', 'ff', 'fi', 'fr', 'fy', 'ga', 'gd', 'gl', 'he', 'hr',
|
||||
'hsb', 'hu', 'ia', 'id', 'it', 'ja', 'ka', 'kk', 'kn', 'ko', 'lb', 'lo',
|
||||
'lt', 'lv', 'meh', 'ml', 'ms', 'nl', 'nn', 'no', 'oc', 'pl', 'pt', 'rm',
|
||||
'ro', 'ru', 'sc', 'scn', 'sk', 'sl', 'sr', 'sv', 'szl', 'tg', 'th', 'tr',
|
||||
'uk', 'zh-CN', 'zh-TW',
|
||||
];
|
||||
const placeholderFields = ["year", "month", "day"];
|
||||
const placeholders = {
|
||||
ach: { year: "mwaka", month: "dwe", day: "nino" },
|
||||
af: { year: "jjjj", month: "mm", day: "dd" },
|
||||
am: { year: "ዓዓዓዓ", month: "ሚሜ", day: "ቀቀ" },
|
||||
an: { year: "aaaa", month: "mm", day: "dd" },
|
||||
ar: { year: "سنة", month: "شهر", day: "يوم" },
|
||||
ast: { year: "aaaa", month: "mm", day: "dd" },
|
||||
az: { year: "iiii", month: "aa", day: "gg" },
|
||||
be: { year: "гггг", month: "мм", day: "дд" },
|
||||
bg: { year: "гггг", month: "мм", day: "дд" },
|
||||
bn: { year: "yyyy", month: "মিমি", day: "dd" },
|
||||
br: { year: "bbbb", month: "mm", day: "dd" },
|
||||
bs: { year: "gggg", month: "mm", day: "dd" },
|
||||
ca: { year: "aaaa", month: "mm", day: "dd" },
|
||||
cak: { year: "jjjj", month: "ii", day: "q'q'" },
|
||||
ckb: { year: "ساڵ", month: "مانگ", day: "ڕۆژ" },
|
||||
cs: { year: "rrrr", month: "mm", day: "dd" },
|
||||
cy: { year: "bbbb", month: "mm", day: "dd" },
|
||||
da: { year: "åååå", month: "mm", day: "dd" },
|
||||
de: { year: "jjjj", month: "mm", day: "tt" },
|
||||
dsb: { year: "llll", month: "mm", day: "źź" },
|
||||
el: { year: "εεεε", month: "μμ", day: "ηη" },
|
||||
en: { year: "yyyy", month: "mm", day: "dd" },
|
||||
eo: { year: "jjjj", month: "mm", day: "tt" },
|
||||
es: { year: "aaaa", month: "mm", day: "dd" },
|
||||
et: { year: "aaaa", month: "kk", day: "pp" },
|
||||
eu: { year: "uuuu", month: "hh", day: "ee" },
|
||||
fa: { year: "سال", month: "ماه", day: "روز" },
|
||||
ff: { year: "hhhh", month: "ll", day: "ññ" },
|
||||
fi: { year: "vvvv", month: "kk", day: "pp" },
|
||||
fr: { year: "aaaa", month: "mm", day: "jj" },
|
||||
fy: { year: "jjjj", month: "mm", day: "dd" },
|
||||
ga: { year: "bbbb", month: "mm", day: "ll" },
|
||||
gd: { year: "bbbb", month: "mm", day: "ll" },
|
||||
gl: { year: "aaaa", month: "mm", day: "dd" },
|
||||
he: { year: "שנה", month: "חודש", day: "יום" },
|
||||
hr: { year: "gggg", month: "mm", day: "dd" },
|
||||
hsb: { year: "llll", month: "mm", day: "dd" },
|
||||
hu: { year: "éééé", month: "hh", day: "nn" },
|
||||
ia: { year: "aaaa", month: "mm", day: "dd" },
|
||||
id: { year: "tttt", month: "bb", day: "hh" },
|
||||
it: { year: "aaaa", month: "mm", day: "gg" },
|
||||
ja: { year: " 年 ", month: "月", day: "日" },
|
||||
ka: { year: "წწწწ", month: "თთ", day: "რრ" },
|
||||
kk: { year: "жжжж", month: "аа", day: "кк" },
|
||||
kn: { year: "ವವವವ", month: "ಮಿಮೀ", day: "ದಿದಿ" },
|
||||
ko: { year: "연도", month: "월", day: "일" },
|
||||
lb: { year: "jjjj", month: "mm", day: "dd" },
|
||||
lo: { year: "ປປປປ", month: "ດດ", day: "ວວ" },
|
||||
lt: { year: "mmmm", month: "mm", day: "dd" },
|
||||
lv: { year: "gggg", month: "mm", day: "dd" },
|
||||
meh: { year: "aaaa", month: "mm", day: "dd" },
|
||||
ml: { year: "വർഷം", month: "മാസം", day: "തീയതി" },
|
||||
ms: { year: "tttt", month: "mm", day: "hh" },
|
||||
nl: { year: "jjjj", month: "mm", day: "dd" },
|
||||
nn: { year: "åååå", month: "mm", day: "dd" },
|
||||
no: { year: "åååå", month: "mm", day: "dd" },
|
||||
oc: { year: "aaaa", month: "mm", day: "jj" },
|
||||
pl: { year: "rrrr", month: "mm", day: "dd" },
|
||||
pt: { year: "aaaa", month: "mm", day: "dd" },
|
||||
rm: { year: "oooo", month: "mm", day: "dd" },
|
||||
ro: { year: "aaaa", month: "ll", day: "zz" },
|
||||
ru: { year: "гггг", month: "мм", day: "дд" },
|
||||
sc: { year: "aaaa", month: "mm", day: "dd" },
|
||||
scn: { year: "aaaa", month: "mm", day: "jj" },
|
||||
sk: { year: "rrrr", month: "mm", day: "dd" },
|
||||
sl: { year: "llll", month: "mm", day: "dd" },
|
||||
sr: { year: "гггг", month: "мм", day: "дд" },
|
||||
sv: { year: "åååå", month: "mm", day: "dd" },
|
||||
szl: { year: "rrrr", month: "mm", day: "dd" },
|
||||
tg: { year: "сссс", month: "мм", day: "рр" },
|
||||
th: { year: "ปปปป", month: "ดด", day: "วว" },
|
||||
tr: { year: "yyyy", month: "aa", day: "gg" },
|
||||
uk: { year: "рррр", month: "мм", day: "дд" },
|
||||
"zh-CN": { year: "年", month: "月", day: "日" },
|
||||
"zh-TW": { year: "年", month: "月", day: "日" },
|
||||
};
|
||||
function getPlaceholderObj(locale) {
|
||||
if (!isSupportedLocale(locale)) {
|
||||
const localeLanguage = getLocaleLanguage(locale);
|
||||
if (!isSupportedLocale(localeLanguage)) {
|
||||
return placeholders.en;
|
||||
}
|
||||
else {
|
||||
return placeholders[localeLanguage];
|
||||
}
|
||||
}
|
||||
else {
|
||||
return placeholders[locale];
|
||||
}
|
||||
}
|
||||
export function getPlaceholder(field, value, locale) {
|
||||
if (isPlaceholderField(field))
|
||||
return getPlaceholderObj(locale)[field];
|
||||
if (isDefaultField(field))
|
||||
return value;
|
||||
if (isTimeField(field))
|
||||
return "––";
|
||||
return "";
|
||||
}
|
||||
function isSupportedLocale(locale) {
|
||||
return supportedLocales.includes(locale);
|
||||
}
|
||||
function isPlaceholderField(field) {
|
||||
return placeholderFields.includes(field);
|
||||
}
|
||||
function isTimeField(field) {
|
||||
return field === "hour" || field === "minute" || field === "second";
|
||||
}
|
||||
function isDefaultField(field) {
|
||||
return field === "era" || field === "dayPeriod";
|
||||
}
|
||||
function getLocaleLanguage(locale) {
|
||||
if (Intl.Locale) {
|
||||
return new Intl.Locale(locale).language;
|
||||
}
|
||||
return locale.split("-")[0];
|
||||
}
|
||||
Reference in New Issue
Block a user