From 6f255079222a16137a6fba76ac04482ab6026fe2 Mon Sep 17 00:00:00 2001 From: AG Date: Thu, 18 Dec 2025 23:08:47 +0200 Subject: [PATCH] Initialize GUI fixed --- server/prisma/test.db | Bin 2990080 -> 3002368 bytes src/components/InitializeAccount.tsx | 25 +++++++++++-------------- src/components/Profile.tsx | 2 +- src/components/Tracker/IdleView.tsx | 2 +- src/components/ui/DatePicker.tsx | 10 ++++++++++ src/services/i18n.ts | 4 ++-- tests/01_core_auth.spec.ts | 3 ++- 7 files changed, 27 insertions(+), 19 deletions(-) diff --git a/server/prisma/test.db b/server/prisma/test.db index 2529006fa3e1c2c415ccc6ecba0c7b24e2acea10..0764957d38f83e88a853468313563b346040186b 100644 GIT binary patch delta 13214 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 delta 5371 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 = ({ onInitialized, la const [birthDate, setBirthDate] = useState(''); const [height, setHeight] = useState(''); const [weight, setWeight] = useState(''); - const [gender, setGender] = useState<'MALE' | 'FEMALE' | 'OTHER' | ''>(''); + const [gender, setGender] = useState<'MALE' | 'FEMALE' | 'OTHER'>('MALE'); const handleInitialize = async () => { setIsSubmitting(true); @@ -91,16 +92,13 @@ const InitializeAccount: React.FC = ({ onInitialized, la
-
- - setBirthDate(e.target.value)} - className="w-full p-4 rounded-2xl bg-surface-container-high border border-outline-variant/30 text-on-surface focus:border-primary focus:outline-none transition-all" - /> -
+ setBirthDate(val)} + maxDate={new Date()} + testId="init-birth-date" + />
@@ -114,7 +112,7 @@ const InitializeAccount: React.FC = ({ onInitialized, la />
- + = ({ onInitialized, la onChange={(e) => setGender(e.target.value as any)} className="w-full p-4 rounded-2xl bg-surface-container-high border border-outline-variant/30 text-on-surface focus:border-primary focus:outline-none transition-all appearance-none" > - diff --git a/src/components/Profile.tsx b/src/components/Profile.tsx index cc03ae0..293a00d 100644 --- a/src/components/Profile.tsx +++ b/src/components/Profile.tsx @@ -302,7 +302,7 @@ const Profile: React.FC = ({ user, onLogout, lang, onLanguageChang

{t('personal_data', lang)}

- + = ({ tracker, lang }) => {
= ({ if (textInputValue && validateDateInput(textInputValue)) { onChange(textInputValue); setTextInputValue(''); + setIsOpen(false); + (e.target as HTMLInputElement).blur(); + } else if (!textInputValue) { + setIsOpen(false); (e.target as HTMLInputElement).blur(); } } + if (e.key === 'Escape') { + setIsOpen(false); + setTextInputValue(''); + setTextInputError(''); + (e.target as HTMLInputElement).blur(); + } }} placeholder={placeholder} disabled={disabled} diff --git a/src/services/i18n.ts b/src/services/i18n.ts index c5dff88..0c014a9 100644 --- a/src/services/i18n.ts +++ b/src/services/i18n.ts @@ -51,7 +51,7 @@ const translations = { // Tracker ready_title: 'Ready?', ready_subtitle: 'Start your workout and break records.', - my_weight: 'My Weight (kg)', + bodyweight: 'Bodyweight (kg)', change_in_profile: 'Change in profile', last_workout_today: 'Last workout: Today', days_off: 'Days off training:', @@ -275,7 +275,7 @@ const translations = { // Tracker ready_title: 'Готовы?', ready_subtitle: 'Начните тренировку и побейте рекорды.', - my_weight: 'Мой вес (кг)', + bodyweight: 'Вес тела (кг)', change_in_profile: 'Можно изменить в профиле', last_workout_today: 'Последняя тренировка: Сегодня', days_off: 'Дней без тренировок:', diff --git a/tests/01_core_auth.spec.ts b/tests/01_core_auth.spec.ts index 54eebed..b1cf83a 100644 --- a/tests/01_core_auth.spec.ts +++ b/tests/01_core_auth.spec.ts @@ -202,8 +202,9 @@ test.describe('I. Core & Authentication', () => { // Fill data await page.getByLabel(/Birth Date|Дата рожд./i).fill('1990-01-01'); + await page.keyboard.press('Enter'); await page.getByLabel(/Height|Рост/i).fill('180'); - await page.getByLabel(/Weight|Мой вес/i).fill('80'); + await page.getByLabel(/Bodyweight|Вес тела/i).fill('80'); await page.getByLabel(/Gender|Пол/i).selectOption('MALE'); await page.getByRole('button', { name: /Get Started|Начать работу/i }).click();