aboutsummaryrefslogtreecommitdiff
path: root/src/lib/LandingHero.svelte
Commit message (Collapse)AuthorAgeFilesLines
* style(breakpoints): consolidate 9 ad-hoc values into 5 SCSS tokensFuwn26 hours1-2/+4
| | | | | | | | | | | | | | | | Adds src/styles/_breakpoints.scss with five canonical tokens (\$bp-sm 600, \$bp-md 800, \$bp-lg 1024, \$bp-xl 1280, \$bp-2xl 1600) and migrates all 15 @media (max-width: ...) occurrences across 9 files. Configures vite.config.ts with scss loadPaths so any file can @use "breakpoints" without relative paths. Conservative rounding-up where existing values were near-duplicates: 500 and 512 collapse to 600, 768 collapses to 800, 1000 collapses to 1024. Slightly more viewports get the smaller-layout treatment in those bands, which is usually beneficial on cramped widths. Converts 7 Svelte files from <style> to <style lang="scss"> to access the SCSS tokens. SCSS is a CSS superset, so existing rules stay valid.
* fix(hero): swap 100vh for 100dvh on landing heroFuwn26 hours1-1/+1
| | | | | | | 100vh on mobile Safari/Chrome locks to the largest viewport (URL bar collapsed), so the hero overflows by the bar's height when the page loads with the bar visible, then shrinks when the user scrolls. 100dvh tracks the dynamic viewport and avoids the jump.
* refactor(colours): tokenise card shadows and scrimsFuwn5 days1-1/+1
| | | | | | | | | | | Introduce --shadow-card, --shadow-card-emphasized, --shadow-cta, --scrim, --scrim-soft, and --scrim-banner. Migrate 14 inline literals (card.css, input.css, Notification, MediaRoulette, the two Landing CTA buttons, the popup overlay, the palette and roulette scrims, three identity banners, the user profile cover art shadow) onto the tokens, with light/dark adaptation handled by the existing prefers-color-scheme blocks instead of duplicated inline. Two single-use Landing demo-focus values stay inline.
* fix(a11y): drop redundant alts and the landing em dashFuwn5 days1-1/+1
| | | | | | | | | Replace generic alt="Avatar" / alt="Character" with empty alts on images that visually duplicate a name already present as adjacent text (Wrapped activity avatar, Hololive stream icon, three Birthdays covers); screen readers stop announcing "Avatar" / "Character" twice. Also swap the em dash in the landing subheadline for a comma per the project copy rule.
* fix(scroll): route LandingHero scroll-down through LenisFuwn12 days1-1/+3
| | | | Lenis disables native CSS smooth scroll, so window.scrollTo({behavior:"smooth"}) jumps instantly. Expose the Lenis instance via a store and scroll through it, falling back to native when unavailable.
* chore(biome): drop formatter style overridesFuwn2026-03-011-5/+6
|
* chore(biome): enable svelte formattingFuwn2026-03-011-8/+8
|
* perf(LandingHero): Optimise for faster LCPFuwn2026-02-021-4/+2
|
* feat(LandingHero): Make "See More" scroll past heroFuwn2026-01-291-3/+21
|
* perf: Optimise landing page performanceFuwn2026-01-291-16/+12
|
* feat: Add hero for landing and welcome pageFuwn2026-01-271-0/+175