Skip to content

Commit 807896a

Browse files
feat: redesign 'schedule' page; refactor tailwind theme; remove headlessui
1 parent 94d3948 commit 807896a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+236
-648
lines changed

package.json

-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
"@fullcalendar/moment": "^6.1.15",
3131
"@fullcalendar/react": "^6.1.15",
3232
"@fullcalendar/timegrid": "^6.1.15",
33-
"@headlessui/react": "^2.1.8",
3433
"@iconify/json": "^2.2.248",
3534
"@iconify/tailwind": "^1.1.3",
3635
"@mdx-js/mdx": "^3.0.1",

pnpm-lock.yaml

-114
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/routes/_with_menu/schedule/$category.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Topbar } from "@/components/layout/Topbar.tsx";
2-
import ScheduleList from "@/components/schedule/ScheduleList.tsx";
2+
import SchedulePage from "@/components/schedule/SchedulePage.tsx";
33
import { getCategoryInfoBySlug } from "@/lib/events/events-view-config.ts";
44
import { createFileRoute, redirect } from "@tanstack/react-router";
55
import { Helmet } from "react-helmet-async";
@@ -20,8 +20,8 @@ export const Route = createFileRoute("/_with_menu/schedule/$category")({
2020
<meta name="description" content={categoryInfo.shortDescription} />
2121
</Helmet>
2222

23-
<Topbar title={`Schedule${categoryInfo.title}`} />
24-
<ScheduleList category={category} />
23+
<Topbar title="Schedule" />
24+
<SchedulePage category={category} />
2525
</>
2626
);
2727
},

src/app/routes/_with_menu/schedule/index.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Topbar } from "@/components/layout/Topbar.tsx";
2-
import { ScheduleMainPage } from "@/components/schedule/ScheduleMainPage.tsx";
2+
import SchedulePage from "@/components/schedule/SchedulePage.tsx";
33
import { createFileRoute } from "@tanstack/react-router";
44
import { Helmet } from "react-helmet-async";
55

@@ -16,8 +16,9 @@ export const Route = createFileRoute("/_with_menu/schedule/")({
1616
}
1717
/>
1818
</Helmet>
19+
1920
<Topbar title="Schedule" />
20-
<ScheduleMainPage />
21+
<SchedulePage category={null} />
2122
</>
2223
),
2324
});

src/app/routes/index.tsx

+3-7
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,8 @@ import { createFileRoute, redirect } from "@tanstack/react-router";
33
export const Route = createFileRoute("/")({
44
component: () => null,
55

6-
// Check state
7-
beforeLoad: ({ context }) => {
8-
if (context.isAuthenticated) {
9-
throw redirect({ to: "/dashboard" });
10-
} else {
11-
throw redirect({ to: "/schedule" });
12-
}
6+
// Redirect to Dashboard
7+
beforeLoad: () => {
8+
throw redirect({ to: "/dashboard" });
139
},
1410
});

src/app/styles.css

+7-16
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@
99
:root {
1010
@apply bg-base;
1111
color-scheme: light;
12-
accent-color: var(--color-focus);
12+
accent-color: var(--color-brand-violet);
13+
14+
--color-brand-violet: 151 71 255; /* #9747FF */
15+
--color-brand-gradient-start: 154 46 255; /* #9A2EFF */
16+
--color-brand-gradient-end: 209 35 162; /* #D1233E */
17+
1318
--color-base: 255 255 255; /* #FFFFFF */
1419
--color-primary: 235 237 239; /* #EBEDEF */
1520
--color-primary-hover: 223 225 229; /* #DFE1E5 */
@@ -19,16 +24,11 @@
1924
--color-secondary-hover: 210 212 216; /* #D2D4D8 */
2025
--color-border: 211 211 211; /* #D3D3D3 */
2126
--color-border-hover: 182 182 182;
22-
--color-disabled: 192 192 192; /* #C0C0C0 */
2327
--color-inactive: 138 138 138; /* #8A8A8A */
2428
--color-icon: 0 0 0; /* #00000080 */
2529
--color-icon-hover: 0 0 0; /* #000000BF */
2630
--color-text: 0 0 0; /* #000000 */
2731
--color-text-secondary: 0 0 0; /* #000000BF */
28-
--color-text-transparent: 0 0 0; /* #00000080 */
29-
--color-section-g-start: 154 46 255; /* #9A2EFF */
30-
--color-section-g-end: 209 35 162; /* #D1233E */
31-
--color-focus: 151 71 255; /* #9747FF */
3232
}
3333
:root[class~="dark"] {
3434
color-scheme: dark;
@@ -41,29 +41,20 @@
4141
--color-secondary-hover: 55 55 55; /* #373737 */
4242
--color-border: 44 44 44; /* #2C2C2C */
4343
--color-border-hover: 60 60 60;
44-
--color-disabled: 43 43 43; /* #2B2B2B */
4544
--color-inactive: 105 105 105; /* #696969 */
4645
--color-icon: 255 255 255; /* #FFFFFF7F */
4746
--color-icon-hover: 255 255 255; /* #FFFFFFBF */
4847
--color-text: 255 255 255; /* #FFFFFF */
4948
--color-text-secondary: 255 255 255; /* #FFFFFFBF */
50-
--color-text-transparent: 255 255 255; /* #FFFFFF7F */
51-
--color-section-g-start: 154 46 255; /* #9A2EFF */
52-
--color-section-g-end: 209 35 162; /* #D1233E */
53-
--color-focus: 151 71 255; /* #9747FF */
5449
}
5550
}
5651

5752
@layer components {
5853
.selected {
59-
@apply bg-gradient-to-r from-section_g_start to-section_g_end bg-clip-text text-transparent;
54+
@apply bg-gradient-to-r from-brand-gradient-start to-brand-gradient-end bg-clip-text text-transparent;
6055
}
6156
}
6257

63-
body {
64-
overflow-y: scroll;
65-
}
66-
6758
.rubles-input {
6859
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='48px' width='192px'><text x='164' y='27' fill='gray' font-size='18px' font-family='sans-serif'>₽</text></svg>");
6960
background-repeat: no-repeat;

src/components/account/ConnectTelegramPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export function ConnectTelegramPage() {
9696
</div>
9797
<div className="flex items-center justify-center">
9898
<button
99-
className="border-focus_color flex h-14 w-fit items-center justify-center gap-4 rounded-2xl border-2 bg-base px-6 py-2 text-xl font-medium hover:bg-primary-hover"
99+
className="flex h-14 w-fit items-center justify-center gap-4 rounded-2xl border-2 border-brand-violet bg-base px-6 py-2 text-xl font-medium hover:bg-primary-hover"
100100
onClick={() => {
101101
const searchParams = new URLSearchParams(searchStr);
102102
const bot = searchParams.get("bot");

src/components/calendar/styles-calendar.css

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
--fc-page-bg-color: theme("colors.base");
44
--fc-border-color: theme("colors.inactive/0.5");
55
--fc-list-event-hover-bg-color: theme("colors.primary.hover");
6-
--fc-event-bg-color: theme("colors.section_g_end");
7-
--fc-event-border-color: theme("colors.focus");
6+
--fc-event-bg-color: theme("colors.brand.violet");
7+
--fc-event-border-color: theme("colors.brand.violet");
88
--fc-button-bg-color: theme("colors.primary.main");
99
--fc-button-hover-bg-color: theme("colors.primary.hover");
1010
--fc-button-active-bg-color: theme("colors.primary.hover");

src/components/common/SignInButton.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export const SignInButton = forwardRef(function SignInButton_(
1818
ref={ref}
1919
rel="nofollow noindex"
2020
className={clsx(
21-
"flex h-14 w-fit items-center justify-center gap-4 rounded-2xl border-2 border-focus bg-base px-6 py-2 text-xl font-medium hover:bg-primary-hover",
21+
"flex h-14 w-fit items-center justify-center gap-4 rounded-2xl border-2 border-brand-violet bg-base px-6 py-2 text-xl font-medium hover:bg-primary-hover",
2222
className,
2323
)}
2424
onClick={(e) => {

src/components/dashboard/DashboardPage.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,14 @@ export function DashboardPage() {
5555
className="group flex flex-row gap-4 rounded-2xl bg-primary-main px-4 py-6 hover:bg-secondary-main"
5656
>
5757
<div className="w-12">
58-
<span className="icon-[ic--baseline-telegram] text-5xl text-[#9747FF]" />
58+
<span className="icon-[ic--baseline-telegram] text-5xl text-brand-violet" />
5959
</div>
6060
<div className="flex flex-col gap-2">
6161
<p className="text-2xl font-semibold text-text-main">
6262
Telegram channel
6363
</p>
6464
<p className="text-lg text-text-secondary/75">
65-
Join <span className="text-[#9747FF]">one-zero-eight</span>{" "}
65+
Join <span className="text-brand-violet">one-zero-eight</span>{" "}
6666
channel in Telegram for all important information about
6767
InNoHassle.
6868
</p>
@@ -109,7 +109,7 @@ export function DashboardPage() {
109109
name={
110110
<span className="flex items-center">
111111
Moodle
112-
<span className="ml-2 rounded-full bg-focus px-2 py-1 text-xs font-semibold text-white">
112+
<span className="ml-2 rounded-full bg-brand-violet px-2 py-1 text-xs font-semibold text-white">
113113
NEW
114114
</span>
115115
</span>

src/components/dorms/DormsPage.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export function DormsPage() {
44
<div className="flex flex-col gap-4">
55
<div className="group flex flex-row gap-4 rounded-2xl bg-primary-main px-4 py-6">
66
<div className="w-12">
7-
<span className="icon-[material-symbols--quick-reference-outline-rounded] text-5xl text-[#9747FF]" />
7+
<span className="icon-[material-symbols--quick-reference-outline-rounded] text-5xl text-brand-violet" />
88
</div>
99
<div className="flex flex-col gap-2">
1010
<p className="flex items-center text-2xl font-semibold text-text-main">
@@ -44,7 +44,7 @@ export function DormsPage() {
4444
className="group flex flex-row gap-4 rounded-2xl bg-primary-main px-4 py-6 hover:bg-secondary-main"
4545
>
4646
<div className="w-12">
47-
<span className="icon-[mdi--robot-excited-outline] text-5xl text-[#9747FF]" />
47+
<span className="icon-[mdi--robot-excited-outline] text-5xl text-brand-violet" />
4848
</div>
4949
<div className="flex flex-col gap-2">
5050
<p className="flex items-center text-2xl font-semibold text-text-main">
@@ -62,7 +62,7 @@ export function DormsPage() {
6262
className="group flex flex-row gap-4 rounded-2xl bg-primary-main px-4 py-6 hover:bg-secondary-main"
6363
>
6464
<div className="w-12">
65-
<span className="icon-[ic--baseline-telegram] text-5xl text-[#9747FF]" />
65+
<span className="icon-[ic--baseline-telegram] text-5xl text-brand-violet" />
6666
</div>
6767
<div className="flex flex-col gap-2">
6868
<p className="flex items-center text-2xl font-semibold text-text-main">

0 commit comments

Comments
 (0)