From 62c803f4ad3eb0573a9ff2da3e280fd562637dd6 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Thu, 21 Jul 2022 10:25:58 +0300 Subject: [PATCH] Calendar navigation initial --- app/components/layout/nav-items.json | 1 + app/routes/calendar.tsx | 41 +++++++++++++++++++ app/styles/calendar.css | 57 +++++++++++++++++++++++++++ public/img/layout/calendar.avif | Bin 0 -> 4762 bytes public/img/layout/calendar.png | Bin 0 -> 32409 bytes public/locales/en/common.json | 1 + 6 files changed, 100 insertions(+) create mode 100644 app/routes/calendar.tsx create mode 100644 app/styles/calendar.css create mode 100644 public/img/layout/calendar.avif create mode 100644 public/img/layout/calendar.png diff --git a/app/components/layout/nav-items.json b/app/components/layout/nav-items.json index 560043d78..89bc4d3bb 100644 --- a/app/components/layout/nav-items.json +++ b/app/components/layout/nav-items.json @@ -3,6 +3,7 @@ "name": "admin", "url": "admin" }, + { "name": "calendar", "url": "calendar" }, { "name": "badges", "url": "badges" }, { "name": "plus", diff --git a/app/routes/calendar.tsx b/app/routes/calendar.tsx new file mode 100644 index 000000000..a905a3072 --- /dev/null +++ b/app/routes/calendar.tsx @@ -0,0 +1,41 @@ +import { type LinksFunction } from "@remix-run/node"; +import { Link } from "@remix-run/react"; +import * as React from "react"; +import { Main } from "~/components/Main"; +import styles from "~/styles/calendar.css"; + +export const links: LinksFunction = () => { + return [{ rel: "stylesheet", href: styles }]; +}; + +export default function CalendarPage() { + const [weeks, setWeeks] = React.useState([ + "10", + "Last", + "This", + "Next", + "14", + ]); + + return ( +
+
+
+ {weeks.map((week) => ( +
setWeeks(["Last", "This", "Next", "14", "15"])} + className="calendar__week" + > +
+ {week}
+ Week +
+
×12
+
+ ))} +
+
+
+ ); +} diff --git a/app/styles/calendar.css b/app/styles/calendar.css new file mode 100644 index 000000000..14e79d179 --- /dev/null +++ b/app/styles/calendar.css @@ -0,0 +1,57 @@ +.calendar__weeks { + display: flex; + max-width: 24rem; + align-items: center; + justify-content: space-between; + gap: var(--s-2); + padding-inline: var(--s-2-5); + + --full-size-week-height: 6.75rem; + + /* xxx: this should be behind a media query */ + --full-size-week-width: 6rem; +} + +.calendar__week { + display: flex; + width: var(--full-size-week-width); + height: var(--full-size-week-height); + flex-direction: column; + justify-content: space-between; + padding: var(--s-2); + background-color: var(--theme-transparent); + border-radius: var(--rounded); + color: var(--theme); + font-size: var(--fonts-sm); + font-weight: var(--bold); + text-align: center; +} + +.calendar__event-count { + font-size: var(--fonts-xs); + font-weight: var(--body); +} + +.calendar__week:nth-child(1), +.calendar__week:nth-child(5) { + width: calc(var(--full-size-week-width) - 2rem); + height: calc(var(--full-size-week-height) - 2rem); + font-size: var(--fonts-xxs); +} + +.calendar__week:nth-child(1) > .calendar__event-count, +.calendar__week:nth-child(5) > .calendar__event-count { + font-size: var(--fonts-xxxs); +} + +.calendar__week:nth-child(2), +.calendar__week:nth-child(4) { + width: calc(var(--full-size-week-width) - 1rem); + height: calc(var(--full-size-week-height) - 1rem); + font-size: var(--fonts-xs); +} + +.calendar__week:nth-child(2) > .calendar__event-count, +.calendar__week:nth-child(4) > .calendar__event-count { + font-size: var(--fonts-xxs); +} diff --git a/public/img/layout/calendar.avif b/public/img/layout/calendar.avif new file mode 100644 index 0000000000000000000000000000000000000000..995929ce794eaf41cc684a429f550b4cfd53d55f GIT binary patch literal 4762 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 X3Z7i0w7>KoZUoU((@`x_u?qTMlVlwG literal 0 HcmV?d00001 diff --git a/public/locales/en/common.json b/public/locales/en/common.json index d7266a8c2..d5fc1c09f 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -3,6 +3,7 @@ "pages.badges": "Badges", "pages.plus": "Plus Server", "pages.contributors": "Contributors", + "pages.calendar": "Calendar", "pages.faq": "FAQ", "header.profile": "Profile",