brackt/public/logo.svg
Chris Parsons 9ed0282fd0
New design (#309)
* Redesign home page with new layout and component system

- Two-column layout (My Leagues 2/3, Upcoming Events 1/3) with mobile stack
- LeagueRow: square avatar, gradient draft highlight, rank/points display, progress bar
- MyLeaguesCard, CreateLeagueCard with shared SectionCardHeader
- UpcomingEventsCard: vertical timeline with grouped multi-league events
- Shared gradient system: BracktGradients SVG defs, GradientIcon wrapper, brand.ts constants
- Button default variant updated to green→cyan gradient
- Navbar: plain nav links with gradient hover, support/admin icon buttons
- Accessibility fixes: semantic h2 headings, aria-label on LeagueAvatar and nav elements
- Storybook stories for all new components

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Responsive league row layout and mobile polish

- League rows stack avatar+name on top, stats full-width below on mobile
- Stats spread to right side on sm+ screens with border separator on mobile
- Tighter padding on mobile (px-3/py-3), full padding on sm+
- Card headers and content use px-3 sm:px-6 to reduce mobile gutters
- Two-column home layout deferred to lg breakpoint (tablet gets stacked)
- Active leagues sorted by completion percentage descending
- Default rank 1 / 0 points for active leagues with no scoring events yet
- Fix ordinal bug for 11th/12th/13th; add aria-labels to rank change indicators
- Remove dead StatDivider className prop

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Improve claude file.

* Add StandingsPreview card component with podium row styling

- New StandingsPreview component with gold/silver/bronze row tints for
  top 3, team avatar, and LeagueRow-style stat columns (Ranking + Points)
  with rank and 7-day point change indicators
- Fix GradientIcon in Storybook by adding BracktGradients decorator to
  preview.tsx (renamed from .ts to support JSX)
- Fix degenerate SVG gradient on horizontal strokes by switching
  BracktGradients to gradientUnits="userSpaceOnUse" with Lucide-space
  coordinates (0→24)
- Revert erroneous fill: url(#gradient) from GradientIcon; stroke-only
  fix was sufficient once gradientUnits was corrected

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Update components on league homepage.

* Finish up league page styling.

* Work on standings page.

* Add story for RecentScoresCard

* Update Point Progression Chart.

* Sort point progression legend by ranking and add team links to standings rows

* Fix standings discrepancy on change.

* Create draft cell component.

* Update draft board page

* Draft room improvements.

* Update some draft room styling.

* Fix context menu missing.

* Move tab navigation and autodraft to header row, narrow sidebar

* Virtualize available participants list, memoize draft room props

Adds @tanstack/react-virtual to replace separate mobile/desktop lists
with a single unified virtual scroll loop. Also memoizes miniDraftGrid
and availableParticipantsSectionProps, and switches pick lookup from
Array.find to a Map for O(1) access.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Update draft room UI.

* More draft room fixes.

* Draft room tweaks.

* Fix Rosters page.

* Queue Section fixes.

* Mobile Draft fixes.

* Fix draft board page.

* Create bracket look.

* Bracket work.

* Finish bracket page.

* Homepage initial styling

* homepage copy

* Add privacy policy. Fixes #88.

* how to play copy

* rules copy

* Fix brackets on homepage.

* Add footer to website.

* Glow on dots.

* Landing page copy.

* Fix sidebar.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 13:14:55 -07:00

28 lines
No EOL
4.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1366 768">
<defs>
<style>
.cls-1 {
fill: url(#linear-gradient);
}
.cls-1, .cls-2 {
stroke-width: 0px;
}
.cls-2 {
fill: #fff;
}
</style>
<linearGradient id="linear-gradient" x1="163" y1="159.57" x2="163" y2="579.94" gradientUnits="userSpaceOnUse">
<stop offset=".1" stop-color="#adf661"/>
<stop offset=".91" stop-color="#2ce1c1"/>
</linearGradient>
</defs>
<path class="cls-1" d="M276.96,364.23c53.62,32.3,55.39,89.93,42.18,146.12-11.49,48.88-44.57,68.07-108.03,69.04-69.48,1.07-138.99.24-210.16.24v-150.46h91.63v-119.54H0v-150.06c10.93,0,22.08-.01,33.24,0,62.95.08,125.91-.13,188.86.33,53.15.39,90.76,37.31,93.03,90.36,2.83,66.07,1.4,70.4-38.16,113.96ZM38.76,539.3c66.89,0,132.74,3.65,197.93-1.36,39.4-3.03,54.11-41.77,45.33-100.97-5.14-34.62-27.75-50.5-62.13-50.53-17.83-.02-35.66,0-54.1,0v-38.54c18.77,0,36.78.73,54.71-.16,32.13-1.58,49.91-19.74,52.97-51.08,5.71-58.53-6.66-92.05-40.81-94.07-63.94-3.78-128.27-1.09-193.46-1.09v70.81h91.87v193.85H38.76v73.14Z"/>
<path class="cls-2" d="M509.65,277.27c2.8,1.6,3.8,4.2,3,7.81l-7.21,31.23c-.4,3.6-2.81,4.8-7.21,3.6-4.8-2.4-10.81-3.6-18.02-3.6-3.21,0-5.61.21-7.21.6-14.41.81-26.23,8.31-35.43,22.52-9.21,14.22-13.81,31.53-13.81,51.95v180.16c0,4.01-2.01,6.01-6.01,6.01h-30.63c-4.01,0-6.01-2-6.01-6.01v-291.86c0-4,2-6.01,6.01-6.01h30.63c4,0,6.01,2.01,6.01,6.01v36.03c0,1.2.3,1.8.9,1.8s1.29-.39,2.1-1.2c11.61-30.42,30.63-45.64,57.05-45.64,10,0,18.62,2.21,25.82,6.61Z"/>
<path class="cls-2" d="M710.23,296.18c16.81,18.22,25.22,42.54,25.22,72.96v202.38c0,4.01-2.01,6.01-6.01,6.01h-30.63c-4.01,0-6.01-2-6.01-6.01v-18.02c0-.8-.3-1.29-.9-1.5-.6-.2-1.3.1-2.1.9-14.82,19.62-37.04,29.43-66.66,29.43-22.02,0-41.14-6.31-57.35-18.92-16.21-12.61-24.32-34.92-24.32-66.96,0-34.02,9.81-58.95,29.43-74.77,19.61-15.81,45.43-23.72,77.47-23.72h42.04c1.6,0,2.4-.8,2.4-2.4v-23.42c0-20.01-4.61-36.03-13.81-48.04-9.21-12.01-21.62-18.02-37.23-18.02-12.01,0-22.32,4.01-30.93,12.01-8.61,8.01-13.72,18.22-15.31,30.63,0,4.01-2.01,6.01-6.01,6.01l-33.63-.6c-2.01,0-3.51-.6-4.5-1.8-1-1.2-1.3-2.6-.9-4.2,2-23.62,11.61-42.73,28.83-57.35,17.21-14.61,38.43-21.92,63.66-21.92,28.02,0,50.44,9.11,67.26,27.32ZM674.8,529.19c12.01-10.6,18.02-25.32,18.02-44.14v-50.44c0-1.6-.81-2.4-2.4-2.4h-42.64c-19.22,0-34.44,5.1-45.64,15.31-11.21,10.21-16.81,25.33-16.81,45.34,0,17.62,4.3,30.73,12.91,39.33,8.6,8.61,19.91,12.91,33.93,12.91,16.41,0,30.63-5.3,42.64-15.91Z"/>
<path class="cls-2" d="M809.01,557.12c-17.02-16.81-25.52-39.03-25.52-66.66v-129.72c0-27.22,8.6-49.34,25.82-66.36,17.21-17.01,39.83-25.52,67.86-25.52,18.81,0,35.43,3.81,49.84,11.41,14.41,7.61,25.52,17.72,33.33,30.33s11.71,26.53,11.71,41.74v6.01c0,4.01-2.01,6.01-6.01,6.01l-30.63,1.2c-4.01,0-6.01-2-6.01-6.01v-4.2c0-13.21-4.91-24.72-14.71-34.53-9.81-9.81-22.32-14.71-37.53-14.71s-27.53,5.31-36.93,15.91c-9.41,10.61-14.11,24.53-14.11,41.74v123.71c0,17.22,4.7,31.13,14.11,41.74,9.4,10.61,21.71,15.91,36.93,15.91s27.72-4.9,37.53-14.71c9.81-9.81,14.71-21.32,14.71-34.53v-4.2c0-4,2-6.01,6.01-6.01l30.63.6c4,0,6.01,2.01,6.01,6.01v6.61c0,24.02-8.71,43.94-26.12,59.75-17.42,15.82-40.34,23.72-68.76,23.72s-51.15-8.41-68.16-25.22Z"/>
<path class="cls-2" d="M1019.49,571.53V163.17c0-4,2-6.01,6.01-6.01h30.63c4,0,6.01,2.01,6.01,6.01v241.41c0,.81.39,1.41,1.2,1.8.8.4,1.4.21,1.8-.6l90.08-128.51c1.6-2.4,4-3.6,7.21-3.6h31.23c2.4,0,4,.7,4.8,2.1.8,1.41.39,3.11-1.2,5.1l-59.45,85.28c-1.2,1.2-1.41,2.4-.6,3.6l70.86,201.18.6,2.4c0,2.81-1.8,4.2-5.4,4.2h-31.83c-3.6,0-6.01-1.6-7.21-4.8l-53.45-166.95c-.4-2.4-1.6-2.6-3.6-.6l-43.84,62.46c-.81.81-1.2,1.8-1.2,3v100.89c0,4.01-2.01,6.01-6.01,6.01h-30.63c-4.01,0-6.01-2-6.01-6.01Z"/>
<path class="cls-2" d="M1359.99,305.49h-45.64c-1.6,0-2.4.81-2.4,2.4v183.76c0,18.42,3.2,31.13,9.61,38.13,6.4,7.01,16.21,10.31,29.43,9.91h6.01c4,0,6.01,2.01,6.01,6.01v25.82c0,4.01-2.01,6.01-6.01,6.01h-15.01c-23.63,0-41.54-5.1-53.75-15.31-12.22-10.21-18.32-29.52-18.32-57.95v-196.38c0-1.6-.81-2.4-2.4-2.4h-23.42c-4.01,0-6.01-2-6.01-6.01v-19.82c0-4,2-6.01,6.01-6.01h23.42c1.6,0,2.4-.8,2.4-2.4v-67.26c0-4,2-6.01,6.01-6.01h30.03c4,0,6.01,2.01,6.01,6.01v67.26c0,1.6.8,2.4,2.4,2.4h45.64c4,0,6.01,2.01,6.01,6.01v19.82c0,4.01-2.01,6.01-6.01,6.01Z"/>
</svg>