Skip to content

Set up React SPA foundation with header, hero section, and core UI components#554

Open
mrsvolodya wants to merge 4 commits intomate-academy:masterfrom
mrsvolodya:master
Open

Set up React SPA foundation with header, hero section, and core UI components#554
mrsvolodya wants to merge 4 commits intomate-academy:masterfrom
mrsvolodya:master

Conversation

@mrsvolodya
Copy link
Copy Markdown

Summary

  • React migration: Converted the project from vanilla JS to a React 19 SPA with React Router, Parcel bundler (with raw SVG/image transformers), and path aliases (@components, @assets,
    @hooks, @styles, @utils)
  • Core UI components: Built reusable Button (polymorphic link/anchor/button), H (heading with size system), P (paragraph), ResponsiveImage (picture with mobile/tablet/desktop
    sources), and LanguageSwitcher (EN/UA dropdown)
  • Layout system: Implemented Header (with main/sidemenu variants), SideMenu (full-screen slide-in navigation), MainLayout wrapper, and LandingHomeBlock hero section with
    responsive hero images (PNG + WebP)
  • i18n: Integrated i18next with EN/UA translation files and language switcher
  • Design system: Established SCSS architecture with BEM naming, responsive mixins (mobile/tablet/desktop), spacing scale, color variables, typography (Playfair Display + Raleway), and
    shared extends/placeholders
  • Custom hooks: Added useScreenSize with debounced resize listener

New dependencies

react, react-dom, react-router-dom, i18next, react-i18next, chalk

Test plan

  • Verify npm start runs the dev server without errors
  • Confirm responsive layout at mobile (<640px), tablet (640-1279px), and desktop (1280px+) breakpoints
  • Test language switcher toggles between EN and UA
  • Test side menu opens/closes correctly
  • Verify hero images load correct format (WebP with PNG fallback) per breakpoint
  • Run npm run lint with no errors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant