chore: release v0.36.1
This commit is contained in:
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.36.1] - 2026-04-29
|
||||
|
||||
### Fixed
|
||||
- Date input: default date format changed from US (`MM/DD/YYYY`) to day-month-year (`DD.MM.YYYY`) for new users
|
||||
- Date input: dot-separated dates (`DD.MM.YYYY`) are now accepted in addition to slash-separated dates
|
||||
- Date input: `dmy` placeholder and display format updated to use dots instead of slashes
|
||||
|
||||
## [0.36.0] - 2026-04-29
|
||||
|
||||
### Added
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "oikos",
|
||||
"version": "0.36.0",
|
||||
"version": "0.36.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "oikos",
|
||||
"version": "0.36.0",
|
||||
"version": "0.36.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"bcrypt": "^6.0.0",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "oikos",
|
||||
"version": "0.36.0",
|
||||
"version": "0.36.1",
|
||||
"description": "Self-hosted family planner - calendar, tasks, shopping, meal planning, budget and more. Private, open-source, no subscription.",
|
||||
"main": "server/index.js",
|
||||
"type": "module",
|
||||
|
||||
+4
-4
@@ -9,7 +9,7 @@ const SUPPORTED_LOCALES = ['de', 'en', 'es', 'fr', 'it', 'sv', 'el', 'ru', 'tr',
|
||||
const DEFAULT_LOCALE = 'de';
|
||||
const STORAGE_KEY = 'oikos-locale';
|
||||
const DATE_FORMAT_KEY = 'oikos-date-format';
|
||||
const DEFAULT_DATE_FORMAT = 'mdy';
|
||||
const DEFAULT_DATE_FORMAT = 'dmy';
|
||||
|
||||
let currentLocale = DEFAULT_LOCALE;
|
||||
let translations = {};
|
||||
@@ -100,7 +100,7 @@ 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 'ymd': return `${year}-${month}-${day}`;
|
||||
default: return `${month}/${day}/${year}`;
|
||||
}
|
||||
@@ -127,7 +127,7 @@ export function formatDate(date) {
|
||||
|
||||
export function dateInputPlaceholder() {
|
||||
switch (getDateFormatPreference()) {
|
||||
case 'dmy': return 'DD/MM/YYYY';
|
||||
case 'dmy': return 'DD.MM.YYYY';
|
||||
case 'ymd': return 'YYYY-MM-DD';
|
||||
default: return 'MM/DD/YYYY';
|
||||
}
|
||||
@@ -145,7 +145,7 @@ export function parseDateInput(value) {
|
||||
const isoMatch = raw.match(/^(\d{4})-(\d{2})-(\d{2})$/);
|
||||
if (isoMatch) return isValidDateParts(isoMatch[1], isoMatch[2], isoMatch[3]) ? raw : '';
|
||||
|
||||
const slashMatch = raw.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);
|
||||
const slashMatch = raw.match(/^(\d{1,2})[\/.](\d{1,2})[\/.](\d{4})$/);
|
||||
if (!slashMatch) return '';
|
||||
|
||||
const [, first, second, year] = slashMatch;
|
||||
|
||||
Reference in New Issue
Block a user