Commit Graph

26 Commits

Author SHA1 Message Date
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 7c00f8bb1e chore: add $routes and @ aliases to vitest config 2026-04-18 15:41:08 +03:00
Ilia Mashkov 08071b3d27 chore: configure vitest with jsdom and layer aliases 2026-04-18 15:39:44 +03:00
Ilia Mashkov 0fdafb22f1 chore: add test infrastructure and static export config 2026-04-18 15:32:01 +03:00
Ilia Mashkov 2dfd9a81b7 chore: update .gitignore 2026-04-18 14:53:36 +03:00
Ilia Mashkov 8d0df31537 feature: initial TS + Next.js + Tailwind + ESLint setup 2026-04-18 14:52:39 +03:00