From 1de3070df3ddc9663266fee40714d349372fca74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Rag=C3=A1ny-N=C3=A9meth?= Date: Fri, 15 Nov 2024 22:00:48 +0100 Subject: [PATCH] Readd animations --- frontend/app/groups/[id]/activity/page.tsx | 311 +++++++++++--------- frontend/components/client-side-profile.tsx | 2 +- frontend/package.json | 1 + yarn.lock | 21 ++ 4 files changed, 202 insertions(+), 133 deletions(-) diff --git a/frontend/app/groups/[id]/activity/page.tsx b/frontend/app/groups/[id]/activity/page.tsx index e9a9f14..99ccd6a 100644 --- a/frontend/app/groups/[id]/activity/page.tsx +++ b/frontend/app/groups/[id]/activity/page.tsx @@ -1,5 +1,6 @@ 'use client'; +import { AnimatePresence, motion } from 'framer-motion'; import { AwardIcon, ChevronDownIcon, StarIcon, UserIcon } from 'lucide-react'; import Link from 'next/link'; import { useState } from 'react'; @@ -69,149 +70,195 @@ export default function GroupSemesterScores() { return (
- - -
- - - - {groupData.name - .split(' ') - .map((n) => n[0]) - .join('')} - - -
- {groupData.name} - - - -
-
- - - - - - -

Group Members

-
-
-
- - - - - - -

Group Achievements

-
-
-
-
-
-
- -
-
-
- - Total Members + + + +
+ + + + {groupData.name + .split(' ') + .map((n) => n[0]) + .join('')} + + +
+ {groupData.name} + + + +
+
+ + + + + + +

Group Members

+
+
+
+ + + + + + +

Group Achievements

+
+
+
- {totalMembers}
-
-
- - Entry Cards + + +
+
+
+ + Total Members +
+ {totalMembers} +
+
+
+ + Entry Cards +
+ {entryCards}
- {entryCards}
-
- - + + - - - - - Group Leader's Praise - - - -

“{groupData.leaderPraise}”

-
-
+ + + + + + + Group Leader's Praise + + + +

“{groupData.leaderPraise}”

+
+
+
+
- - - - - Member Contributions - - - -
- - - - Name - Score - Award Class - - - - {groupData.members.map((member, index) => ( - - - - {member.name} - - {(member.awardClass === 'AB' || member.awardClass === 'KB') && <>{member.comment}} - - - {member.score} - - - + + + + + + Member Contributions + + + +
+
+ + + Name + Score + Award Class + + + + {groupData.members.map((member, index) => ( + + + + {member.name} + + {(member.awardClass === 'AB' || member.awardClass === 'KB') && ( + + {member.comment} + + )} + + + {member.score} + + + - {member.awardClass} - - - - ))} - -
-
-
-
+ > + {member.awardClass} + + + + ))} + + +
+ +
+
+ +
); } diff --git a/frontend/components/client-side-profile.tsx b/frontend/components/client-side-profile.tsx index 280e8fe..eeb472c 100644 --- a/frontend/components/client-side-profile.tsx +++ b/frontend/components/client-side-profile.tsx @@ -6,7 +6,7 @@ export function ClientSideProfile() { const { data: me, status, error } = useAuthMe({ query: { retry: false } }); if (status === 'pending') return

Loading...

; if (status === 'error' && error.status === 401) return

Client: Anonymous

; - if (status === 'error') return

Something went wrong {error.response.data.message}

; + if (status === 'error') return

Something went wrong {error?.response?.data?.message}

; return

Client: {me.name}

; } diff --git a/frontend/package.json b/frontend/package.json index 69e2ea1..ff1e00c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -31,6 +31,7 @@ "axios": "^1.7.7", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", + "framer-motion": "^11.11.17", "js-cookie": "^3.0.5", "lucide-react": "^0.441.0", "next": "14.2.11", diff --git a/yarn.lock b/yarn.lock index dc34de3..ee2b076 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7071,6 +7071,26 @@ __metadata: languageName: node linkType: hard +"framer-motion@npm:^11.11.17": + version: 11.11.17 + resolution: "framer-motion@npm:11.11.17" + dependencies: + tslib: "npm:^2.4.0" + peerDependencies: + "@emotion/is-prop-valid": "*" + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + "@emotion/is-prop-valid": + optional: true + react: + optional: true + react-dom: + optional: true + checksum: 10c0/4ec88a568e636c5409a238668770a7d0237270b4b58fdf27d0cab1f9094a4fdd22d25d827a1bba51e52f01e9d2db65544b32a5feb8eff9a63c8798f2e64677d0 + languageName: node + linkType: hard + "fresh@npm:0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" @@ -7108,6 +7128,7 @@ __metadata: eslint: "npm:^8.57.0" eslint-config-next: "npm:14.2.11" eslint-plugin-react: "npm:^7.36.1" + framer-motion: "npm:^11.11.17" js-cookie: "npm:^3.0.5" lucide-react: "npm:^0.441.0" next: "npm:14.2.11"