Commit Graph

28 Commits

Author SHA1 Message Date
Ilia Mashkov d89dc2ee70 chore: add vitest/globals types, remove redundant vitest imports, fix pre-existing lint issues 2026-04-24 09:34:27 +03:00
Ilia Mashkov f0fccd55f1 fix: replace revalidate with cache force-cache for SSG compatibility 2026-04-24 09:34:27 +03:00
Ilia Mashkov 5dbf5e34c2 fix: mock next/font in tests and remove broken shared export 2026-04-23 21:01:46 +03:00
Ilia Mashkov 1d333fd945 chore: format codebase and move SectionAccordion to entities/Section 2026-04-23 20:52:43 +03:00
Ilia Mashkov 9c139adbf5 feat: define PocketBase types and fetch client 2026-04-23 20:35:46 +03:00
Ilia Mashkov 759f579695 fix: storybook font rendering and shared fonts module 2026-04-23 20:35:32 +03:00
Ilia Mashkov de03d21429 feat: add Storybook with component stories
Installs @storybook/nextjs-vite. Stories co-located with components,
grouped by layer (Shared/Entities/Widgets). Multi-variant cases use
render functions instead of one story per variant/size.
2026-04-19 09:19:17 +03:00
Ilia Mashkov a47341ffcb feat: add Navigation widget barrel export 2026-04-19 08:40:10 +03:00
Ilia Mashkov cfe50069b7 feat: add MobileNav, SidebarNav, and UtilityBar widgets
TDD implementation of three navigation widgets: mobile overlay toggle,
fixed sidebar with IntersectionObserver-driven active section tracking,
and utility bar with contact info and CV download action.
2026-04-19 08:40:08 +03:00
Ilia Mashkov 590147adb1 feat: add experience entity (ExperienceCard) and entities barrel export 2026-04-19 08:37:24 +03:00
Ilia Mashkov eeef679f69 feat: add project entity (ProjectMetadata, ProjectCard, DetailedProjectCard) 2026-04-19 08:37:21 +03:00
Ilia Mashkov 0fa66f275d feat: add shared/ui and shared barrel exports; add FSD path aliases to tsconfig 2026-04-19 08:34:38 +03:00
Ilia Mashkov ad188fcb21 feat: add TechStackBrick and TechStackGrid components to shared/ui 2026-04-19 08:27:56 +03:00
Ilia Mashkov faf6c574d1 feat: add SectionAccordion component to shared/ui 2026-04-19 08:27:08 +03:00
Ilia Mashkov d17104b294 feat: add Section and Container components to shared/ui 2026-04-19 08:26:26 +03:00
Ilia Mashkov 9c52889b72 fix: associate Input/Textarea labels and wire error aria-describedby
Uses useId() for stable IDs so label htmlFor matches input id,
and error spans are referenced via aria-describedby.
2026-04-19 08:25:07 +03:00
Ilia Mashkov dc3bedeeec feat: add Input and Textarea components to shared/ui 2026-04-19 08:20:29 +03:00
Ilia Mashkov 26860b27e5 feat: add Card component family to shared/ui 2026-04-19 08:19:58 +03:00
Ilia Mashkov 11e7aa9a96 feat: add Button component to shared/ui 2026-04-19 08:19:23 +03:00
Ilia Mashkov 169988906c refactor: rename shared/ui component dirs to PascalCase 2026-04-18 23:26:14 +03:00
Ilia Mashkov f95588381d fix: export BadgeVariant type from Badge public API 2026-04-18 15:54:45 +03:00
Ilia Mashkov bb9c91b4f8 feat: add Badge component to shared/ui 2026-04-18 15:53:01 +03:00
Ilia Mashkov db2d7b78dd fix: fix indentation, export ClassValue, add object-syntax test 2026-04-18 15:52:05 +03:00
Ilia Mashkov f4c95d5ea6 feat: add cn utility to shared/lib 2026-04-18 15:49:24 +03:00
Ilia Mashkov 38d7a59e1e fix: add h6 to heading selector and display:block to grain overlay 2026-04-18 15:48:29 +03:00
Ilia Mashkov 939884c95d fix: expose all semantic color tokens in @theme inline block 2026-04-18 15:46:40 +03:00
Ilia Mashkov 3a29b99ae8 feat: transfer brutalist design tokens and configure next/font 2026-04-18 15:45:55 +03:00
Ilia Mashkov 08071b3d27 chore: configure vitest with jsdom and layer aliases 2026-04-18 15:39:44 +03:00