diff --git a/public/i18n.js b/public/i18n.js index fa1c1d6..fc7f077 100644 --- a/public/i18n.js +++ b/public/i18n.js @@ -87,7 +87,7 @@ function isDateOnlyString(value) { return typeof value === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(value); } -const VALID_DATE_FORMATS = ['mdy', 'dmy', 'ymd', 'mdy_dot', 'dmy_dot', 'ymd_dot', 'ymd_slash']; +const VALID_DATE_FORMATS = ['mdy', 'dmy', 'ymd', 'mdy_dot', 'dmy_dot', 'dmy_slash', 'ymd_dot', 'ymd_slash']; function getDateFormatPreference() { const stored = localStorage.getItem(DATE_FORMAT_KEY); @@ -114,9 +114,10 @@ function formatDateParts(date, useUtc = false) { const month = String((useUtc ? d.getUTCMonth() : d.getMonth()) + 1).padStart(2, '0'); const day = String(useUtc ? d.getUTCDate() : d.getDate()).padStart(2, '0'); switch (getDateFormatPreference()) { - case 'dmy': return `${day}/${month}/${year}`; + case 'dmy': return `${day}.${month}.${year}`; case 'mdy_dot': return `${month}.${day}.${year}`; case 'dmy_dot': return `${day}.${month}.${year}`; + case 'dmy_slash': return `${day}/${month}/${year}`; case 'ymd': return `${year}-${month}-${day}`; case 'ymd_dot': return `${year}.${month}.${day}`; case 'ymd_slash': return `${year}/${month}/${day}`; @@ -145,9 +146,10 @@ export function formatDate(date) { export function dateInputPlaceholder() { switch (getDateFormatPreference()) { - case 'dmy': return 'DD/MM/YYYY'; + case 'dmy': return 'DD.MM.YYYY'; case 'mdy_dot': return 'MM.DD.YYYY'; case 'dmy_dot': return 'DD.MM.YYYY'; + case 'dmy_slash': return 'DD/MM/YYYY'; case 'ymd': return 'YYYY-MM-DD'; case 'ymd_dot': return 'YYYY.MM.DD'; case 'ymd_slash': return 'YYYY/MM/DD'; diff --git a/public/pages/settings.js b/public/pages/settings.js index faaae39..c1c72c9 100644 --- a/public/pages/settings.js +++ b/public/pages/settings.js @@ -338,10 +338,10 @@ export async function render(container, { user }) { diff --git a/server/routes/preferences.js b/server/routes/preferences.js index 9ff8d00..3f132d2 100644 --- a/server/routes/preferences.js +++ b/server/routes/preferences.js @@ -20,7 +20,7 @@ const VALID_CURRENCIES = ['AED', 'AUD', 'BRL', 'CAD', 'CHF', 'CNY', 'CZK', 'DKK' const DEFAULT_CURRENCY = 'EUR'; const DEFAULT_APP_NAME = 'Oikos'; -const VALID_DATE_FORMATS = ['mdy', 'dmy', 'ymd', 'mdy_dot', 'dmy_dot', 'ymd_dot', 'ymd_slash']; +const VALID_DATE_FORMATS = ['mdy', 'dmy', 'ymd', 'mdy_dot', 'dmy_dot', 'dmy_slash', 'ymd_dot', 'ymd_slash']; const DEFAULT_DATE_FORMAT = 'mdy'; const VALID_TIME_FORMATS = ['24h', '12h']; const DEFAULT_TIME_FORMAT = '24h';