mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-06 05:07:36 -05:00
Merge branch 'css-rework-sidenav' of https://github.com/sendou-ink/sendou.ink into css-rework-sidenav
This commit is contained in:
commit
49d5d634ff
|
|
@ -1,21 +1,22 @@
|
|||
---
|
||||
# sendou.ink-0q9m
|
||||
title: My calendar page and components
|
||||
title: My Events page and components
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-01-11T11:45:35Z
|
||||
updated_at: 2026-01-11T11:45:35Z
|
||||
updated_at: 2026-01-11T12:50:56Z
|
||||
parent: sendou.ink-om3i
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Build the `/my-calendar` page with list view and event card components.
|
||||
Build the `/my-events` page with list view and event card components.
|
||||
|
||||
## Details
|
||||
|
||||
**Page requirements:**
|
||||
- Route: `/my-calendar`
|
||||
- Route: `/my-events`
|
||||
- Login required (redirect if not authenticated)
|
||||
- List view grouped by day (chronological)
|
||||
- Empty state with links to /calendar and /scrims
|
||||
|
|
@ -28,7 +29,7 @@ Build the `/my-calendar` page with list view and event card components.
|
|||
- Click navigates directly to tournament/scrim page
|
||||
|
||||
**Component sharing:**
|
||||
- Build components that can be reused by sidebar My Calendar section
|
||||
- Build components that can be reused by sidebar Events section
|
||||
- Handle both tournament and scrim event types
|
||||
|
||||
## Checklist
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
---
|
||||
# sendou.ink-1kb8
|
||||
title: Show times on mobile My Calendar panel
|
||||
title: Show times on mobile Events panel
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
tags:
|
||||
- my-calendar-epic
|
||||
- my-events-epic
|
||||
created_at: 2026-01-11T09:48:18Z
|
||||
updated_at: 2026-01-11T11:45:42Z
|
||||
updated_at: 2026-01-11T12:51:46Z
|
||||
parent: sendou.ink-6eko
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
The mobile My Calendar panel currently only shows tournament names without any time information. Add day headers and event times to help players know when things are happening.
|
||||
The mobile Events panel currently only shows tournament names without any time information. Add day headers and event times to help players know when things are happening.
|
||||
|
||||
## Current state
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
# sendou.ink-36dp
|
||||
title: Check if pagination styles can be improved
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-01-11T12:35:22Z
|
||||
updated_at: 2026-01-11T12:35:22Z
|
||||
parent: sendou.ink-1l22
|
||||
---
|
||||
|
||||
Review the current pagination component styling and identify potential improvements that align with the CSS rework goals (modern practices, theming, accessibility).
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
# sendou.ink-3hgl
|
||||
title: Fix black background on date/time inputs in Chrome
|
||||
status: todo
|
||||
type: bug
|
||||
created_at: 2026-01-11T12:36:28Z
|
||||
updated_at: 2026-01-11T12:36:28Z
|
||||
parent: sendou.ink-1l22
|
||||
---
|
||||
|
||||
Some native input types (time, datetime-local, week, month) display with black backgrounds or styling issues in Chrome. Need to investigate the root cause and apply a consistent fix across all affected input types.
|
||||
|
||||
## Details
|
||||
- Affected inputs: time, datetime-local, week, month (and possibly others)
|
||||
- Browser: Chrome
|
||||
- The icons and placeholder text appear correctly but there seems to be a color scheme conflict
|
||||
|
||||
## Checklist
|
||||
- [ ] Identify which CSS rules cause the black background
|
||||
- [ ] Check if it's related to color-scheme property or browser defaults
|
||||
- [ ] Apply a fix that works for all affected input types at once
|
||||
- [ ] Test in Chrome and other browsers
|
||||
|
|
@ -1,16 +1,17 @@
|
|||
---
|
||||
# sendou.ink-d6vh
|
||||
title: My calendar data layer
|
||||
title: My Events data layer
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-01-11T11:45:35Z
|
||||
updated_at: 2026-01-11T11:45:35Z
|
||||
updated_at: 2026-01-11T12:51:07Z
|
||||
parent: sendou.ink-om3i
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Create the data fetching layer for the My Calendar page that combines tournaments and scrims into a unified event list.
|
||||
Create the data fetching layer for the My Events page that combines tournaments and scrims into a unified event list.
|
||||
|
||||
## Details
|
||||
|
||||
|
|
@ -28,7 +29,7 @@ Create the data fetching layer for the My Calendar page that combines tournament
|
|||
|
||||
## Technical approach
|
||||
|
||||
- Create loader at `/my-calendar` route
|
||||
- Create loader at `/my-events` route
|
||||
- Repository functions to fetch user tournaments and scrims
|
||||
- Merge and sort by start time
|
||||
- Design data structure that works for both page and sidebar (shared)
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
---
|
||||
# sendou.ink-kw6u
|
||||
title: Show scrims in My calendar
|
||||
title: Show scrims in Events
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
tags:
|
||||
- my-calendar-epic
|
||||
- my-events-epic
|
||||
created_at: 2026-01-11T09:44:26Z
|
||||
updated_at: 2026-01-11T11:45:42Z
|
||||
updated_at: 2026-01-11T12:51:46Z
|
||||
parent: sendou.ink-6eko
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Display scrims (both scheduled and looking-for-match) in the sidebar's "My calendar" section.
|
||||
Display scrims (both scheduled and looking-for-match) in the sidebar's "Events" section.
|
||||
|
||||
## Details
|
||||
|
||||
The My calendar section currently shows tournament calendar entries. It should also include:
|
||||
The Events section currently shows tournament calendar entries. It should also include:
|
||||
|
||||
1. **Scheduled scrims** - Scrims where the user's team has a confirmed match scheduled
|
||||
2. **Looking-for-match scrims** - Active scrim postings where user's team is still searching for opponents
|
||||
|
|
@ -27,6 +27,6 @@ This gives competitive players visibility into their upcoming scrim commitments
|
|||
## Checklist
|
||||
|
||||
- [ ] Identify where scrim data is fetched/stored
|
||||
- [ ] Add scrim entries to My calendar data source
|
||||
- [ ] Add scrim entries to Events data source
|
||||
- [ ] Distinguish between scheduled vs looking-for-match scrims visually
|
||||
- [ ] Test with various scrim states
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
---
|
||||
# sendou.ink-n3wk
|
||||
title: Rename mobile menu tab from Calendar to avoid confusion
|
||||
status: todo
|
||||
status: completed
|
||||
type: bug
|
||||
priority: normal
|
||||
created_at: 2026-01-11T09:38:36Z
|
||||
updated_at: 2026-01-11T09:38:36Z
|
||||
updated_at: 2026-01-11T12:48:03Z
|
||||
parent: sendou.ink-6eko
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,31 +1,32 @@
|
|||
---
|
||||
# sendou.ink-oiw2
|
||||
title: My calendar navigation links
|
||||
title: My Events navigation links
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-01-11T11:45:36Z
|
||||
updated_at: 2026-01-11T11:45:36Z
|
||||
updated_at: 2026-01-11T12:50:48Z
|
||||
parent: sendou.ink-om3i
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Add links to My Calendar page in sidebar (desktop) and mobile menu.
|
||||
Add links to My Events page in sidebar (desktop) and mobile menu.
|
||||
|
||||
## Details
|
||||
|
||||
**Desktop sidebar:**
|
||||
- Add "My Calendar" link
|
||||
- Add "My Events" link
|
||||
- Placement TBD (near existing Calendar link?)
|
||||
- Only show when logged in
|
||||
|
||||
**Mobile menu:**
|
||||
- Add "My Calendar" link in appropriate location
|
||||
- Add "My Events" link in appropriate location
|
||||
- Only show when logged in
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] Add My Calendar link to desktop sidebar
|
||||
- [ ] Add My Calendar link to mobile menu
|
||||
- [ ] Add My Events link to desktop sidebar
|
||||
- [ ] Add My Events link to mobile menu
|
||||
- [ ] Ensure links only appear when authenticated
|
||||
- [ ] Add translations for link text
|
||||
|
|
@ -1,16 +1,16 @@
|
|||
---
|
||||
# sendou.ink-om3i
|
||||
title: My calendar page
|
||||
title: My Events page
|
||||
status: todo
|
||||
type: epic
|
||||
priority: normal
|
||||
created_at: 2026-01-11T09:45:51Z
|
||||
updated_at: 2026-01-11T10:37:00Z
|
||||
updated_at: 2026-01-11T12:50:40Z
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
A dedicated page (`/my-calendar`) for viewing the user's personal calendar with all their upcoming commitments in one centralized view.
|
||||
A dedicated page (`/my-events`) for viewing the user's personal events with all their upcoming commitments in one centralized view.
|
||||
|
||||
## Why
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ Users struggle to see all their commitments (tournaments, scrims) in one place.
|
|||
|
||||
**Interaction:** Clicking an event navigates directly to the tournament/scrim page
|
||||
|
||||
**URL:** `/my-calendar` (login required)
|
||||
**URL:** `/my-events` (login required)
|
||||
|
||||
**Empty state:** Simple message ("No upcoming events") with links to /calendar and /scrims
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ Users struggle to see all their commitments (tournaments, scrims) in one place.
|
|||
|
||||
## Technical Notes
|
||||
|
||||
- Share components and data fetching logic with sidebar "My Calendar" section
|
||||
- Share components and data fetching logic with sidebar "Events" section
|
||||
- Related tasks: `sendou.ink-kw6u` (scrims in sidebar), `sendou.ink-1kb8` (times on mobile panel)
|
||||
|
||||
## Navigation
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
---
|
||||
# sendou.ink-svz2
|
||||
title: Inline function in NotificationPopover
|
||||
status: todo
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-01-11T08:58:55Z
|
||||
updated_at: 2026-01-11T08:58:55Z
|
||||
updated_at: 2026-01-11T12:41:51Z
|
||||
parent: sendou.ink-6eko
|
||||
---
|
||||
|
||||
|
|
|
|||
20
.beans/sendou.ink-v42i--check-brackets-ui-design.md
Normal file
20
.beans/sendou.ink-v42i--check-brackets-ui-design.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
# sendou.ink-v42i
|
||||
title: Check brackets UI design
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-01-11T12:34:21Z
|
||||
updated_at: 2026-01-11T12:34:21Z
|
||||
parent: sendou.ink-6eko
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
Review the brackets UI and decide on design questions:
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] Should tabs (Main/Underground) be "attached" to brackets outline?
|
||||
- [ ] Should "Add sub" link to a different page?
|
||||
- [ ] Compactify button restyle needed?
|
||||
- [ ] Do we need "Go to match" button when match info is already in the sidebar?
|
||||
|
|
@ -1,16 +1,17 @@
|
|||
---
|
||||
# sendou.ink-yyzj
|
||||
title: My calendar iCal export
|
||||
title: My Events iCal export
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-01-11T11:45:35Z
|
||||
updated_at: 2026-01-11T11:45:35Z
|
||||
updated_at: 2026-01-11T12:51:39Z
|
||||
parent: sendou.ink-om3i
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Add .ics file export for the user's personal calendar, allowing subscription in external calendar apps.
|
||||
Add .ics file export for the user's personal events, allowing subscription in external calendar apps.
|
||||
|
||||
## Details
|
||||
|
||||
|
|
@ -28,8 +29,8 @@ Add .ics file export for the user's personal calendar, allowing subscription in
|
|||
## Checklist
|
||||
|
||||
- [ ] Research existing /calendar iCal implementation
|
||||
- [ ] Create endpoint for personal calendar .ics
|
||||
- [ ] Create endpoint for personal events .ics
|
||||
- [ ] Generate iCal events from user's tournaments
|
||||
- [ ] Generate iCal events from user's scrims
|
||||
- [ ] Add subscription URL/button to My Calendar page
|
||||
- [ ] Add subscription URL/button to My Events page
|
||||
- [ ] Test subscription in external calendar app
|
||||
|
|
@ -117,7 +117,7 @@ function MobileTabBar({
|
|||
/>
|
||||
<MobileTab
|
||||
icon={<Calendar />}
|
||||
label={t("common:pages.calendar")}
|
||||
label={t("front:sideNav.myCalendar")}
|
||||
isActive={activePanel === "tourneys"}
|
||||
onPress={() => onTabPress("tourneys")}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
import clsx from "clsx";
|
||||
import { Bell, RefreshCcw } from "lucide-react";
|
||||
import * as React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
|
@ -37,12 +36,6 @@ export function useNotifications() {
|
|||
return { notifications, unseenIds };
|
||||
}
|
||||
|
||||
export function notificationPopoverClassName(notificationsLength: number) {
|
||||
return clsx(styles.popoverContainer, {
|
||||
[styles.noNotificationsContainer]: notificationsLength === 0,
|
||||
});
|
||||
}
|
||||
|
||||
export function NotificationContent({
|
||||
notifications,
|
||||
unseenIds,
|
||||
|
|
|
|||
|
|
@ -36,11 +36,8 @@ import { Footer } from "./Footer";
|
|||
import styles from "./index.module.css";
|
||||
import { LogInButtonContainer } from "./LogInButtonContainer";
|
||||
import { NavDialog } from "./NavDialog";
|
||||
import {
|
||||
NotificationContent,
|
||||
notificationPopoverClassName,
|
||||
useNotifications,
|
||||
} from "./NotificationPopover";
|
||||
import { NotificationContent, useNotifications } from "./NotificationPopover";
|
||||
import notificationPopoverStyles from "./NotificationPopover.module.css";
|
||||
import { TopNavMenus } from "./TopNavMenus";
|
||||
import { TopRightButtons } from "./TopRightButtons";
|
||||
|
||||
|
|
@ -386,8 +383,12 @@ function SideNavUserPanel() {
|
|||
<Bell />
|
||||
</Button>
|
||||
}
|
||||
popoverClassName={notificationPopoverClassName(
|
||||
notifications.length,
|
||||
popoverClassName={clsx(
|
||||
notificationPopoverStyles.popoverContainer,
|
||||
{
|
||||
[notificationPopoverStyles.noNotificationsContainer]:
|
||||
notifications.length === 0,
|
||||
},
|
||||
)}
|
||||
>
|
||||
<NotificationContent
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
"leaderboards.viewFull": "View full leaderboard",
|
||||
"updates.header": "Updates",
|
||||
"updates.viewPast": "View past updates",
|
||||
"sideNav.myCalendar": "My Calendar",
|
||||
"sideNav.myCalendar": "Events",
|
||||
"sideNav.noEvents": "No upcoming events",
|
||||
"sideNav.friends": "Friends",
|
||||
"sideNav.streams": "Streams",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user