From d42611fb87f733765a2198dd9d59a6d25f842635 Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Thu, 4 Jun 2026 17:40:32 +0300 Subject: [PATCH 01/15] Clean Up: Remove the existing content from the /teachers page to make room for the new card. --- .../TeachersPage/ui/TeachersPage.module.scss | 15 +++--- .../TeachersPage/ui/TeachersPage.tsx | 48 ------------------- .../src/shared/i18n/locales/en/teachers.json | 36 -------------- .../src/shared/i18n/locales/fi/teachers.json | 36 -------------- 4 files changed, 6 insertions(+), 129 deletions(-) diff --git a/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.module.scss b/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.module.scss index 74f0c6f00..a73f1a703 100644 --- a/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.module.scss +++ b/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.module.scss @@ -1,11 +1,8 @@ .container { - padding: 0; - padding-left: 10em; - display: flex; - flex-direction: column; - gap: 2em; - margin-bottom: 3em; + padding: 0; + padding-left: 10em; + display: flex; + flex-direction: column; + gap: 2em; + margin-bottom: 3em; } -.taskButton { - width: fit-content; -} \ No newline at end of file diff --git a/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.tsx b/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.tsx index 21a6b0f51..abe6d6d8a 100644 --- a/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.tsx +++ b/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.tsx @@ -1,56 +1,8 @@ 'use client'; -import { PageTitle } from '@/shared/ui/PageTitle'; -import cls from './TeachersPage.module.scss'; -import { DescriptionCard, DescriptionCardTheme } from '@/shared/ui/v2/DescriptionCard'; -import LessonList from './LessonList/LessonList'; -import { Button } from '@/shared/ui/v2/Button'; import { useClientTranslation } from '@/shared/i18n'; -import { Container } from '@/shared/ui/Container'; const TeachersPage = () => { const { t } = useClientTranslation('teachers'); - return ( - -
- - - - {t('welcome')}! -

{t('instruction-title')}

-

- - - - - - - - - {t('preparation-title')} - -

{t('managing-title')}

-

{t('managing-text')}

-

{t('implementation-title')}

-

-

{t('preparatory-materials-title')}

-

{t('preparatory-materials-text')}

-

{t('game-literacy-tasks-title')}

-

{t('game-literacy-tasks-text')}

- -
-
-
-
- ); }; export default TeachersPage; diff --git a/frontend-next-migration/src/shared/i18n/locales/en/teachers.json b/frontend-next-migration/src/shared/i18n/locales/en/teachers.json index 6a5db843c..e69de29bb 100644 --- a/frontend-next-migration/src/shared/i18n/locales/en/teachers.json +++ b/frontend-next-migration/src/shared/i18n/locales/en/teachers.json @@ -1,36 +0,0 @@ -{ - "head-title": "Teacher's Page", - "head-description": "Learn how to set up ALT Zone classroom testing sessions in four simple steps. Create clans, prepare materials, share the game link, and analyze student results — make game-based learning fun and competitive.", - "head-keywords": "altzone, teachers, classroom testing, educational gaming, game-based learning, test instructions, create clans, analyze results", - "og-title": "ALT Zone Teacher's Page", - "og-description": "Step-by-step instructions for teachers on setting up ALT Zone classroom testing sessions. Create clans, prepare materials, launch the game, and analyze student performance results.", - "instructions": "1. Instructions", - "preparation": "2. Preparation", - "gaming": "3. Gaming", - "results": "4. Results", - "welcome": "Welcome", - "instruction-title": "Here you can manage your lessons and prepare for teaching game art", - "instruction-text": "In the Teacher's Panel under My Lessons, you can create a new lesson by giving it an appropriate tag (e.g., Class 7B) as well as browse and delete the lessons you have created.

By navigating to the lesson, a view opens that contains the necessary additional information for joining clans, the slides needed for teaching, the clan leaderboard, and also the homework section for that lesson. During the teaching session, simply project the desired lesson with its content and phases onto the board.

Comprehensive info packages related to game art and the game literacy skills and tasks included in this teaching package have been created to support preparation for teaching.", - "preparation-title": "Preparing for teaching", - "managing-title": "Managing the lesson", - "managing-text": "A teacher can have a maximum of 10 active lessons at the same time. The teacher can delete outdated and completed lessons, freeing up space for new lessons. It is also recommended to delete a completed lesson as soon as possible. If the teacher does not delete a previously created lesson, it will be considered outdated after X months from the creation of the lesson and will then be automatically removed from the system.", - "implementation-title": "Implementing the lesson", - "implementation-text": "The lesson includes two clans that compete against each other during the testing period. First, familiarize yourselves with the game literacy tasks and game art teaching materials, allocating approximately XX time for this.

The testing can begin once the students have downloaded the test version of the game from the bottom of this page and created an account in the game.

Students can join the clans using the passwords assigned to them from within the game. Try to divide into these two clans as evenly as possible.

During the testing, students will complete tasks from different sections of game literacy. After the testing ends, the results can be viewed on the leaderboard. It is advisable to allocate about 20 minutes for the testing portion.", - "preparatory-materials-title": "Materials to support preparation", - "preparatory-materials-text": "What materials for preparation and where. They are included here.", - "game-literacy-tasks-title": "Game literacy tasks", - "game-literacy-tasks-text": "Below you can access the game literacy tasks page. There you can explore the available tasks.", - "game-literacy-tasks-button": "Game literacy tasks", - "my-lessons": "My Lessons", - "create-lesson": "Create new lesson", - "delete-lesson": "Delete lesson", - "goto-lesson": "Go to lesson", - "confirm-delete": "Are you sure you want to delete the lesson?", - "no": "No", - "yes": "Yes", - "lesson": "Lesson", - "create": "Create", - "cancel": "Cancel", - "name-lesson": "Name the lesson", - "number-students": "Number of students" -} diff --git a/frontend-next-migration/src/shared/i18n/locales/fi/teachers.json b/frontend-next-migration/src/shared/i18n/locales/fi/teachers.json index 42b0afce3..e69de29bb 100644 --- a/frontend-next-migration/src/shared/i18n/locales/fi/teachers.json +++ b/frontend-next-migration/src/shared/i18n/locales/fi/teachers.json @@ -1,36 +0,0 @@ -{ - "head-title": "Opettajan sivu", - "head-description": "Opi, miten voit järjestää ALT Zone -luokkahuoneen testisessioita neljässä yksinkertaisessa vaiheessa. Luo klaaneja, valmistele materiaaleja, jaa pelilinkki ja analysoi opiskelijoiden tuloksia - tee pelipohjaisesta oppimisesta hauskaa ja kilpailullista.", - "head-keywords": "altzone, opettajat, luokkahuoneen testaus, koulutuspelaaminen, pelipohjainen oppiminen, testiohjeet, luo klaaneja, analysoi tuloksia", - "og-title": "ALT Zone Opettajan sivu", - "og-description": "Vaiheittaiset ohjeet opettajille ALT Zone -luokkahuoneen testisessioiden järjestämiseen. Luo klaaneja, valmistele materiaaleja, käynnistä peli ja analysoi opiskelijoiden suoritustuloksia.", - "instructions": "1. Ohjeet", - "preparation": "2. Valmistelu", - "gaming": "3. Pelaaminen", - "results": "4. Tulokset", - "welcome": "Tervetuloa", - "instruction-title": "Täällä pääset hallinnoimaan oppituntejasi ja valmistautumaan pelitaiteen opetukseen", - "instruction-text": "Opettajan paneelissa kohdassa Omat oppitunnit voit luoda uuden oppitunnin antamalla sille sopivan tunnisteen (esim. 7B-luokka) sekä selata ja poistaa luomiasi oppitunteja.

Siirtymällä oppituntiin avautuu näkymä, josta löytyy kyseistä oppituntia varten tarvittavat lisätiedot klaaneihin liittymiseksi, opetukseen tarvittavat diat, klaanien tulostaulukko sekä myös kotitehtävän osuus. Opetustilanteessa heijasta vain haluamasi oppitunti sisältöineen ja vaiheineen taululle.

Opetukseen valmistautumisen yhteyteen on tehty perusteelliset infopaketit liittyen mm. pelitaiteeseen sekä tämän opetuspaketin sisältämiin pelilukutaitoihin ja niiden tehtäviin.", - "preparation-title": "Opetukseen valmistautuminen", - "managing-title": "Oppitunnin hallinnointi", - "managing-text": "Opettajalla voi olla samanaikaisesti aktiivisena enintään 10 oppituntia.Opettaja voi poistaa vanhentuneita ja käytyjä oppitunteja, jolloin tilaa vapautuu seuraaville oppitunneille. Suositeltavaa myös on, että suoritettu oppitunti poistetaan mahdollisimman pian. Mikäli opettaja jättää poistamatta aikaisemmin luodun oppitunnin, se katsotaan vanhentuneeksi X kuukauden kuluttua oppitunnin luomisesta ja poistuu silloin järjestelmästä automaattisesti.", - "implementation-title": "Oppitunnin toteutus", - "implementation-text": "Oppituntiin sisällytetään kaksi klaania, jotka kilpailevat keskenään testauksen ajan. Tutustukaa ensin pelilukutaidon tehtäviin ja pelitaiteen opetusmateriaaliin ja varatkaa tälle aikaa noin XX.

Testaus voidaan aloittaa, kun oppilaat ovat ladanneet pelin testiversion tämän sivun alaosasta ja luoneet peliin tunnuksen.

Oppilaat pääsevät liittymään klaaneihin niille osoitetuilla salasanoilla pelistä. Jakaututukaa näihin kahteen klaaniin mahdollisimman tasaisesti.

Testauksen aikana oppilaat suorittavat tehtäviä eri pelilukutaidon osioista. Testauksen päättymisen jälkeen tulokset on nähtävillä tulostaulukosta. Testausosuuteen on hyvä varata aikaa noin 20 minuuttia.", - "preparatory-materials-title": "Valmistautumista tukevat materiaalit", - "preparatory-materials-text": "Mitä materiaaleja valmistautumiseen ja missä. Ne tähän yhteyteen.", - "game-literacy-tasks-title": "Pelilukutaidon tehtävät", - "game-literacy-tasks-text": "Alta pääset pelilukutaidon tehtävien sivulle. Siellä voit tutustua saatavilla oleviin tehtäviin.", - "game-literacy-tasks-button": "Pelilukutaidon tehtävät", - "my-lessons": "Omat oppitunnit", - "create-lesson": "Luo oppitunti", - "delete-lesson": "Poista oppitunti", - "goto-lesson": "Siirry oppituntiin", - "confirm-delete": "Oletko varma, että haluat poistaa oppitunnin?", - "no": "Ei", - "yes": "Kyllä", - "lesson": "Oppitunti", - "create": "Luo", - "cancel": "Peruuta", - "name-lesson": "Nimeä oppitunti", - "number-students": "Oppilaiden määrä" -} From 4403b3919518b5015b77e52a370a77a1d6ac3bda Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Mon, 22 Jun 2026 23:13:37 +0300 Subject: [PATCH 02/15] feat: add TeacherSignInCard component with styles and functionality - Created TeacherSignInCard component for teacher sign-in functionality. - Added styles for the TeacherSignInCard in TeacherSignInCard.module.scss. - Implemented visibility toggle for username and password fields. - Integrated ALT logo and teacher character images. - Set up routing to navigate to the instructions page upon form submission. TODO: Adjust UI to match Figma Designs. --- .../public/images/Cartoon_character_ope.png | Bin 0 -> 76355 bytes .../src/features/TeacherSignIn/index.ts | 1 + .../TeacherSignInCard.module.scss | 286 ++++++++++++++++++ .../TeacherSignInCard/TeacherSignInCard.tsx | 164 ++++++++++ .../ui/TeacherSignInCard/index.ts | 1 + .../src/features/TeacherSignIn/ui/index.ts | 1 + .../TeachersPage/ui/TeachersPage.tsx | 4 +- .../src/shared/i18n/locales/en/teachers.json | 13 + .../src/shared/i18n/locales/fi/teachers.json | 13 + 9 files changed, 481 insertions(+), 2 deletions(-) create mode 100644 frontend-next-migration/public/images/Cartoon_character_ope.png create mode 100644 frontend-next-migration/src/features/TeacherSignIn/index.ts create mode 100644 frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss create mode 100644 frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.tsx create mode 100644 frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/index.ts create mode 100644 frontend-next-migration/src/features/TeacherSignIn/ui/index.ts diff --git a/frontend-next-migration/public/images/Cartoon_character_ope.png b/frontend-next-migration/public/images/Cartoon_character_ope.png new file mode 100644 index 0000000000000000000000000000000000000000..e67481c2a59d34c03c96080f9ef84ef0458b0d68 GIT binary patch literal 76355 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 z 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 = ({ isVisible }) => ( + + {isVisible ? ( + <> + + + + ) : ( + <> + + + + )} + +); + +const TeacherSignInCard: React.FC = ({ className }) => { + const router = useRouter(); + const { t } = useClientTranslation('teachers'); + const [username, setUsername] = useState(''); + const [password, setPassword] = useState(''); + const [showUsername, setShowUsername] = useState(true); + const [showPassword, setShowPassword] = useState(false); + + const handleSubmit = (event: React.FormEvent) => { + event.preventDefault(); + // Navigate to instructions page + router.push('/teachers/instructions'); + }; + + const togglePasswordVisibility = () => { + setShowPassword(!showPassword); + }; + + const toggleUsernameVisibility = () => { + setShowUsername(!showUsername); + }; + + return ( +

+ {/* Brick wall background */} +
+ + {/* ALT Logo */} +
+ ALT Zone Logo +
+ + {/* Sign In Card */} +
+

{t('signin-card-title')}

+ +
+
+
+ setUsername(event.target.value)} + className={cls.UsernameInput} + aria-label={t('signin-card-username-label')} + autoComplete="username" + /> + +
+
+ +
+
+ setPassword(event.target.value)} + className={cls.PasswordInput} + aria-label={t('signin-card-password-label')} + /> + +
+
+ + +
+
+ + {/* Teacher Character */} +
+ Teacher Character +
+
+ ); +}; + +export default TeacherSignInCard; diff --git a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/index.ts b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/index.ts new file mode 100644 index 000000000..5b49f5f7f --- /dev/null +++ b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/index.ts @@ -0,0 +1 @@ +export { default as TeacherSignInCard } from './TeacherSignInCard'; diff --git a/frontend-next-migration/src/features/TeacherSignIn/ui/index.ts b/frontend-next-migration/src/features/TeacherSignIn/ui/index.ts new file mode 100644 index 000000000..33481d0d3 --- /dev/null +++ b/frontend-next-migration/src/features/TeacherSignIn/ui/index.ts @@ -0,0 +1 @@ +export { TeacherSignInCard } from './TeacherSignInCard'; diff --git a/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.tsx b/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.tsx index abe6d6d8a..b18cf1d78 100644 --- a/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.tsx +++ b/frontend-next-migration/src/preparedPages/TeachersPage/ui/TeachersPage.tsx @@ -1,8 +1,8 @@ 'use client'; -import { useClientTranslation } from '@/shared/i18n'; +import { TeacherSignInCard } from '@/features/TeacherSignIn'; const TeachersPage = () => { - const { t } = useClientTranslation('teachers'); + return ; }; export default TeachersPage; diff --git a/frontend-next-migration/src/shared/i18n/locales/en/teachers.json b/frontend-next-migration/src/shared/i18n/locales/en/teachers.json index e69de29bb..813ccb4a1 100644 --- a/frontend-next-migration/src/shared/i18n/locales/en/teachers.json +++ b/frontend-next-migration/src/shared/i18n/locales/en/teachers.json @@ -0,0 +1,13 @@ +{ + "head-title": "Teachers Page", + "head-description": "Learn how to set up test sessions in the classroom with ALT Zone in four simple steps. Create clans, prepare materials, share the game link and analyze student results - make game-based learning fun and competitive.", + "head-keywords": "altzone, teachers, classroom testing, educational games, game-based learning, testing instructions, clan creation, results analysis", + "og-title": "ALT Zone Teachers Page", + "og-description": "Step-by-step instructions for teachers to set up test sessions in the classroom with ALT Zone. Create clans, prepare materials, launch the game and analyze student performance results.", + "signin-card-title": "Teacher Sign In", + "signin-card-username-placeholder": "Username", + "signin-card-username-label": "Username", + "signin-card-password-placeholder": "Password", + "signin-card-password-label": "Password", + "signin-card-submit-button": "Sign in" +} diff --git a/frontend-next-migration/src/shared/i18n/locales/fi/teachers.json b/frontend-next-migration/src/shared/i18n/locales/fi/teachers.json index e69de29bb..08928a3f4 100644 --- a/frontend-next-migration/src/shared/i18n/locales/fi/teachers.json +++ b/frontend-next-migration/src/shared/i18n/locales/fi/teachers.json @@ -0,0 +1,13 @@ +{ + "head-title": "Opettajien sivu", + "head-description": "Opi kuinka määrittää testisessioita luokkahuoneessa ALT Zonen kanssa neljässä yksinkertaisessa vaiheessa. Luo klaaneja, valmista materiaalia, jaa pelilinkkiä ja analysoi opiskelijoiden tuloksia - tee pelipohjaisesta oppimisesta hauskaa ja kilpailukykyistä.", + "head-keywords": "altzone, opettajat, luokkahuonetestaus, opetuspelit, pelipohjaiset oppiminen, testausohjeet, klaanin luominen, tulosten analyysi", + "og-title": "ALT Zonen opettajien sivu", + "og-description": "Vaiheittaiset ohjeet opettajille testisessioiden määrittämiseen ALT Zonen luokkahuoneissa. Luo klaaneja, valmista materiaalia, käynnistä peli ja analysoi opiskelijoiden suorituksia.", + "signin-card-title": "Opettajan kirjautuminen", + "signin-card-username-placeholder": "Käyttäjätunnus", + "signin-card-username-label": "Käyttäjätunnus", + "signin-card-password-placeholder": "Salasana", + "signin-card-password-label": "Salasana", + "signin-card-submit-button": "Kirjaudu sisään" +} From e05ce1bf3db44084306a3d625c9c45a7ceacf423 Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Wed, 24 Jun 2026 22:58:24 +0300 Subject: [PATCH 03/15] Adjusted Teacher SignInCard to match Figma designs. --- .../TeacherSignInCard.module.scss | 168 +++++++----------- .../TeacherSignInCard/TeacherSignInCard.tsx | 13 +- 2 files changed, 74 insertions(+), 107 deletions(-) diff --git a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss index 0734c39ea..7e3d3f910 100644 --- a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss +++ b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss @@ -3,73 +3,62 @@ display: flex; align-items: center; justify-content: center; - min-height: 100vh; - width: 100%; - overflow: hidden; - - @media (max-width: 768px) { - min-height: auto; - padding: 40px 20px; - } + width: 950px; + height: 634px; + max-width: 100%; + margin: 0 auto; + overflow: visible; + box-sizing: border-box; } -// ALT Logo positioned at top-left .AltLogo { position: absolute; - top: -20px; + top: -5px; left: -20px; z-index: 20; - width: 120px; - height: 120px; + width: 193px; + height: 161px; display: flex; align-items: center; justify-content: center; - background: rgba(255, 165, 0, 0.1); - border-radius: 50%; - filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3)); img { width: 100%; - height: auto; + height: 100%; + object-fit: contain; } @media (max-width: 768px) { - top: -15px; - left: -15px; - width: 80px; - height: 80px; - - img { - width: 60px; - height: 60px; - } + top: 60px; + left: 3px; + width: 150px; + height: 125px; + } + + @media (max-width: 480px) { + top: 95px; + left: 5px; + width: 120px; + height: 100px; } } // Main card container .Card { position: relative; - z-index: 10; + display: flex; + flex-direction: column; + justify-content: center; background: #2b353a; border: 7px solid var(--primary-color); border-radius: 1px; - padding: 60px 50px; - max-width: 500px; - width: 100%; - box-shadow: - 0 20px 60px rgba(0, 0, 0, 0.5), - inset 0 1px 0 rgba(255, 255, 255, 0.1); - - @media (max-width: 768px) { - padding: 40px 30px; - border-width: 3px; - max-width: 100%; - } - - @media (max-width: 480px) { - padding: 30px 20px; - border-width: 2px; - } + padding: 10px; + gap: 10px; + width: 917.68px; + aspect-ratio: 917.68 / 532.58; + max-width: calc(100% - 32px); + box-sizing: border-box; + box-shadow: 0px 4px 4px 0px #000000c4; } .Title { @@ -110,22 +99,21 @@ .Input { padding: 14px 16px; font-size: 15px; - background: rgba(255, 255, 255, 0.08); - border: 2px solid rgba(255, 165, 0, 0.3); + background: var(--background); + border: 1.96px solid var(--Border-blackBorder, #121212); border-radius: 8px; - color: #fff; + color: var(--primary-color); transition: all 0.3s ease; font-family: inherit; &::placeholder { - color: rgba(255, 255, 255, 0.5); + color: var(--primary-color); } &:focus { outline: none; - border-color: var(--primary-color); - background: rgba(255, 255, 255, 0.12); - box-shadow: 0 0 0 3px rgba(255, 165, 0, 0.15); + border-color: var(--black); + background: var(--background); } @media (max-width: 480px) { @@ -146,23 +134,22 @@ padding: 14px 16px; padding-right: 50px; font-size: 15px; - background: rgba(255, 255, 255, 0.08); - border: 2px solid rgba(255, 165, 0, 0.3); + background: var(--background); + border: 1.96px solid var(--Border-blackBorder, #121212); border-radius: 8px; - color: var(--white); + color: var(--primary-color); transition: all 0.3s ease; font-family: inherit; width: 100%; &::placeholder { - color: rgba(255, 255, 255, 0.5); + color: var(--primary-color); } &:focus { outline: none; - border-color: var(--primary-color); - background: rgba(255, 255, 255, 0.12); - box-shadow: 0 0 0 3px rgba(255, 165, 0, 0.15); + border-color: var(--black); + background: var(--background); } @media (max-width: 480px) { @@ -180,7 +167,7 @@ transform: translateY(-50%); background: none; border: none; - color: rgba(255, 255, 255, 0.6); + color: var(--primary-color); cursor: pointer; padding: 6px; display: flex; @@ -215,72 +202,55 @@ .SubmitButton { margin-top: 28px; letter-spacing: -4%; - transition: all 0.3s ease; - padding: 14px 40px !important; + + padding: 18px 32px !important; border-radius: 50px !important; background: var(--primary-color) !important; - border: none !important; + border: 1.96px solid var(--Border-blackBorder, #121212); color: var(--black) !important; - text-transform: none; - font: var(--font-dm-m); - min-width: 200px; + + font: var(font-dm-m); display: block; margin-left: auto; margin-right: auto; - &:hover:not(:disabled) { - transform: translateY(-3px); - box-shadow: 1.96px 3.92px 0px 0px var(--black); - } - - &:active:not(:disabled) { - transform: translateY(-1px); - } - - &:disabled { - opacity: 0.6; - cursor: not-allowed; - } + box-shadow: 1.96px 3.92px 0px 0px var(--black); @media (max-width: 480px) { margin-top: 20px; - padding: 12px 32px !important; + padding: 14px 24px !important; min-width: auto; - font-size: 14px; } } -// Teacher character positioned at bottom-right .TeacherCharacter { position: absolute; - bottom: -40px; - right: -40px; - z-index: 15; - width: 250px; - height: auto; - filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.4)); + display: flex; + align-items: center; + justify-content: center; + z-index: 20; + + width: 282px; + height: 282px; + right: -10px; + bottom: -45px; img { width: 100%; - height: auto; + height: 100%; display: block; - } - - @media (max-width: 1024px) { - bottom: -30px; - right: -30px; - width: 200px; + object-fit: contain; } @media (max-width: 768px) { - bottom: -20px; - right: -20px; - width: 150px; + width: 200px; + height: 200px; + bottom: 40px; } @media (max-width: 480px) { - bottom: -15px; - right: -15px; - width: 120px; + width: 140px; + height: 140px; + bottom: 110px; } } diff --git a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.tsx b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.tsx index 914a7ec11..95e52bbfc 100644 --- a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.tsx +++ b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.tsx @@ -73,16 +73,13 @@ const TeacherSignInCard: React.FC = ({ className }) => { return (
- {/* Brick wall background */} -
- {/* ALT Logo */}
ALT Zone Logo
@@ -153,8 +150,8 @@ const TeacherSignInCard: React.FC = ({ className }) => { Teacher Character
From 47d1fe9c50815508d50de73b92d5e659d2701055 Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Fri, 26 Jun 2026 17:08:04 +0300 Subject: [PATCH 04/15] style: update SubmitButton dimensions and padding for improved layout --- .../TeacherSignInCard/TeacherSignInCard.module.scss | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss index 7e3d3f910..e283e1911 100644 --- a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss +++ b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss @@ -200,11 +200,17 @@ } .SubmitButton { + width: 176.09px; + height: 53.96px; + top: 803px; + left: 916.99px; + border-radius: var(--border-radius-xl); + padding: 11.77px 23.54px 11.77px 23.54px; + gap: 9.81px; + margin-top: 28px; letter-spacing: -4%; - padding: 18px 32px !important; - border-radius: 50px !important; background: var(--primary-color) !important; border: 1.96px solid var(--Border-blackBorder, #121212); color: var(--black) !important; @@ -218,7 +224,6 @@ @media (max-width: 480px) { margin-top: 20px; - padding: 14px 24px !important; min-width: auto; } } From 82900bcda40e8fdfa8fafc6c2dc64f8a492ac46e Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Fri, 26 Jun 2026 18:39:05 +0300 Subject: [PATCH 05/15] style: update TeacherSignInCard styles for improved responsiveness and layout --- .../TeacherSignInCard.module.scss | 20 ++++++++++++------- .../TeacherSignInCard/TeacherSignInCard.tsx | 3 +-- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss index e283e1911..30b8910d3 100644 --- a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss +++ b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.module.scss @@ -70,13 +70,13 @@ text-transform: none; @media (max-width: 768px) { - font-size: 26px; + font: var(--font-sw-l); margin-bottom: 30px; letter-spacing: 0.5px; } @media (max-width: 480px) { - font-size: 22px; + font: var(--font-sw-l); margin-bottom: 20px; } } @@ -97,6 +97,10 @@ } .Input { + width: 438.51px; + height: 189.34px; + top: 614px; + left: 788px; padding: 14px 16px; font-size: 15px; background: var(--background); @@ -200,12 +204,12 @@ } .SubmitButton { - width: 176.09px; - height: 53.96px; + width: 180.01px; + height: 58px; top: 803px; left: 916.99px; border-radius: var(--border-radius-xl); - padding: 11.77px 23.54px 11.77px 23.54px; + padding: 1.96px 1.96px; gap: 9.81px; margin-top: 28px; @@ -215,8 +219,10 @@ border: 1.96px solid var(--Border-blackBorder, #121212); color: var(--black) !important; - font: var(font-dm-m); - display: block; + font: var(font-dm-bold-m); + display: flex; + align-items: center; + justify-content: center; margin-left: auto; margin-right: auto; diff --git a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.tsx b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.tsx index 95e52bbfc..fcaab6510 100644 --- a/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.tsx +++ b/frontend-next-migration/src/features/TeacherSignIn/ui/TeacherSignInCard/TeacherSignInCard.tsx @@ -3,7 +3,7 @@ import Image from 'next/image'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { useClientTranslation } from '@/shared/i18n'; -import { Button, ButtonSize, ButtonTheme } from '@/shared/ui/Button'; +import { Button, ButtonSize } from '@/shared/ui/Button'; import { classNames } from '@/shared/lib/classNames/classNames'; import cls from './TeacherSignInCard.module.scss'; @@ -136,7 +136,6 @@ const TeacherSignInCard: React.FC = ({ className }) => { + +
+
+ setUsername(event.target.value)} + className={cls.UsernameInput} + aria-label={t('signin-card-username-label')} + autoComplete="username" + /> + +
-
-
-
- setPassword(event.target.value)} - className={cls.PasswordInput} - aria-label={t('signin-card-password-label')} - /> - +
+
+ setPassword(event.target.value)} + className={cls.PasswordInput} + aria-label={t('signin-card-password-label')} + /> + +
-
- - -
+ + + - {/* Teacher Character */} -
- Teacher Character + {/* Teacher Character */} +
+ Teacher Character +
);