Aucun badge
- )} -From cc1fb080b5ea1475c5df3fb1ff08812c6b5a1423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o?= <43091603+glazk0@users.noreply.github.com> Date: Mon, 17 Apr 2023 21:03:12 +0200 Subject: [PATCH] Big update & refactor & metadata --- app/dashboard/badges/page.tsx | 60 +++++++------ app/dashboard/puzzles/[id]/not-found.tsx | 2 +- app/dashboard/puzzles/[id]/page.tsx | 20 ++--- app/dashboard/puzzles/page.tsx | 2 + app/dashboard/settings/page.tsx | 12 --- app/layout.tsx | 87 ++++++++++++------- app/page.tsx | 6 +- lib/nav-items.ts | 12 +-- lib/puzzles.ts | 2 + middleware.ts | 7 +- styles/globals.css | 5 +- ui/DefaultTags.tsx | 7 -- ui/Dialog.tsx | 2 +- ui/Leaderboard.tsx | 4 +- ui/Puzzle.tsx | 102 +++++++++++++---------- ui/Puzzles.tsx | 83 +++++++++--------- ui/UserAuthForm.tsx | 2 +- ui/dashboard/Sidenav.tsx | 19 +++-- ui/dashboard/Wrapper.tsx | 1 + ui/events/Leaderboard.tsx | 10 +-- ui/events/podium/Podium.tsx | 2 - 21 files changed, 235 insertions(+), 212 deletions(-) delete mode 100644 app/dashboard/settings/page.tsx delete mode 100644 ui/DefaultTags.tsx diff --git a/app/dashboard/badges/page.tsx b/app/dashboard/badges/page.tsx index 34b3300..b70d5ec 100644 --- a/app/dashboard/badges/page.tsx +++ b/app/dashboard/badges/page.tsx @@ -1,40 +1,38 @@ 'use client'; -import { UserContext } from '@/context/user'; -import Badge from '@/ui/Badge'; import { useContext } from 'react'; +import { UserContext } from '@/context/user'; + +import Badge from '@/ui/Badge'; + export default function Page() { const { data: me } = useContext(UserContext); return ( -
- Vos badges sont affichés ici, vous pouvez les partager avec vos amis -
-Aucun badge
- )} -+ Vos badges sont affichés ici, vous pouvez les partager avec vos amis +
+Aucun badge
+ )} +
BIP BZZ BIIIP, HIIP, HELIP, HELLO, je suis Philipz ‘Cipher Wolf’ Barlow, une
diff --git a/lib/nav-items.ts b/lib/nav-items.ts
index 1e8cdb7..d252a7a 100644
--- a/lib/nav-items.ts
+++ b/lib/nav-items.ts
@@ -20,12 +20,12 @@ export type NavItem = {
* @type {NavItem[]}
*/
export const navItems: NavItem[] = [
- {
- name: 'Dashboard',
- slug: '',
- icon: 'dashboard-line',
- disabled: false
- },
+ // {
+ // name: 'Dashboard',
+ // slug: '',
+ // icon: 'dashboard-line',
+ // disabled: false
+ // },
{
name: 'Classement',
slug: 'leaderboard',
diff --git a/lib/puzzles.ts b/lib/puzzles.ts
index cc3fe12..5c1a4b5 100644
--- a/lib/puzzles.ts
+++ b/lib/puzzles.ts
@@ -83,7 +83,9 @@ export type Puzzle = {
id: number;
name: string;
content: string;
+ scoreMax: number;
tags: Tag[] | null;
+ score?: number;
};
export type Chapter = {
diff --git a/middleware.ts b/middleware.ts
index aced43a..eb7bcc0 100644
--- a/middleware.ts
+++ b/middleware.ts
@@ -27,7 +27,12 @@ export async function middleware(req: NextRequest) {
}
if (isAuth && req.nextUrl.pathname.includes('sign')) {
- return NextResponse.redirect(getURL('/dashboard'));
+ return NextResponse.redirect(getURL('/dashboard/puzzles'));
+ }
+
+ // TODO REMOVE
+ if (isAuth && req.nextUrl.pathname.match(/^\/dashboard\/?$/)) {
+ return NextResponse.redirect(getURL('/dashboard/puzzles'));
}
return res;
diff --git a/styles/globals.css b/styles/globals.css
index 5cc833f..e06bde9 100644
--- a/styles/globals.css
+++ b/styles/globals.css
@@ -11,10 +11,7 @@
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
- textarea:-webkit-autofill:focus,
- select:-webkit-autofill,
- select:-webkit-autofill:hover,
- select:-webkit-autofill:focus {
+ textarea:-webkit-autofill:focus {
-webkit-box-shadow: 0 0 0px 1000px hsl(258deg 15% 17%) inset;
transition: background-color 5000s ease-in-out 0s;
}
diff --git a/ui/DefaultTags.tsx b/ui/DefaultTags.tsx
deleted file mode 100644
index e5cee56..0000000
--- a/ui/DefaultTags.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-export default function DefaultTags() {
- return (
- <>
-
- >
- );
-}
diff --git a/ui/Dialog.tsx b/ui/Dialog.tsx
index b4a356d..eff2215 100644
--- a/ui/Dialog.tsx
+++ b/ui/Dialog.tsx
@@ -6,7 +6,7 @@ import Icon from './Icon';
type DialogProps = {
title?: ReactNode;
- tooltip: ReactNode;
+ tooltip?: ReactNode;
trigger: ReactNode;
children: ReactNode;
open?: boolean;
diff --git a/ui/Leaderboard.tsx b/ui/Leaderboard.tsx
index 70467df..a79c6b2 100644
--- a/ui/Leaderboard.tsx
+++ b/ui/Leaderboard.tsx
@@ -40,8 +40,8 @@ export default function Leaderboard({ token }: { token: string }) {
return (
Suivez la progression des élèves en direct ChapitreTableau des scores
+ Tableau des scores
{puzzle.name}
- {/* {puzzle.name}