Added ClubPage UI and routing functionality#13
Added ClubPage UI and routing functionality#13shadil-rayyan merged 22 commits intoCodeCompasss:clubfrom
Conversation
Changed home page and overall theme to match with provided design also added the bottem naviagtion bar
…pdate Lost & Found Page
There was a problem hiding this comment.
Pull Request Overview
This PR implements ClubPage UI and routing functionality along with multiple related updates and improvements across the Firebase integration, common UI components (e.g. topNavbar, bottomNavbar, quick actions), and several new pages such as lost & found, timetable, and login. Key changes include:
- New ClubPage and ClubList components with static club data integration and improved routing.
- Updates to Firebase configuration and authentication modules.
- Refinements and typo corrections in various pages and components for overall UI/UX consistency.
Reviewed Changes
Copilot reviewed 39 out of 44 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| src/lib/firebase/auth.ts | Updated auth logic and comments for email filtering. |
| src/components/home/TimeTable.tsx | Hardcoded day limits in next/prev functions affecting maintainability. |
| src/components/club/ClubData.ts | Inconsistent slug for a club entry. |
| src/components/club/ClubCard.tsx | Potential Tailwind typo affecting the image border styling. |
| src/app/studymaterial/page.tsx | Text contains multiple spelling errors. |
| src/app/lost/page.tsx | Text includes typographical errors in comments/documentation. |
| src/app/login/newUser/page.tsx | Spelling mistakes in the new user instructions. |
| src/app/hostel/page.tsx | Informal text with typos in the hostel page description. |
| src/app/expanse/page.tsx | Typos and spelling mistakes in the expense tracker description. |
| src/app/complaint/page.tsx | Numerous typos in the complaint page copy. |
| src/app/club/[slug]/page.tsx | Unnecessary asynchronous destructuring of params. |
| src/app/attendence/page.tsx | Spelling errors in the attendance page description. |
| src/app/admin/page.tsx | Spelling errors in the admin page description. |
Comments suppressed due to low confidence (1)
src/components/club/ClubData.ts:44
- The club entry for 'Mulearn' uses the slug 'uuu', which seems inconsistent; consider using a more descriptive and consistent slug.
slug: "uuu",
| throw new Error('Google sign-in failed'); | ||
| } | ||
|
|
||
| // Restrict login to only emails from "gecskp.ac.in" |
There was a problem hiding this comment.
[nitpick] The comment restricting login emails appears twice with similar wording; consider removing the redundant comment for clarity.
| // Restrict login to only emails from "gecskp.ac.in" |
| setCurrentDay((prev) => (prev === 4 ? 0 : prev + 1)); | ||
| }; | ||
|
|
||
| const prevDay = () => { | ||
| setCurrentDay((prev) => (prev === 0 ? 4 : prev - 1)); |
There was a problem hiding this comment.
Using a hardcoded value (4) for day limits may lead to maintenance issues; consider using timetableData.length - 1 instead.
| setCurrentDay((prev) => (prev === 4 ? 0 : prev + 1)); | |
| }; | |
| const prevDay = () => { | |
| setCurrentDay((prev) => (prev === 0 ? 4 : prev - 1)); | |
| setCurrentDay((prev) => (prev === timetableData.length - 1 ? 0 : prev + 1)); | |
| }; | |
| const prevDay = () => { | |
| setCurrentDay((prev) => (prev === 0 ? timetableData.length - 1 : prev - 1)); |
| return ( | ||
| <Link href={`/club/${club.slug}`}> | ||
| <div className="bg-white rounded-3xl border-2 border-black hover:bg-gray-200 transition h-[300px] flex flex-col"> | ||
| <img src={club.image} alt={club.name} className="w-full h-40 object-cover rounded-t-3xl border-b border-bottom-width-2px;" /> |
There was a problem hiding this comment.
The class 'border-bottom-width-2px;' does not follow Tailwind CSS conventions; consider replacing it with 'border-b-2' or the appropriate Tailwind class.
| <img src={club.image} alt={club.name} className="w-full h-40 object-cover rounded-t-3xl border-b border-bottom-width-2px;" /> | |
| <img src={club.image} alt={club.name} className="w-full h-40 object-cover rounded-t-3xl border-b border-b-2" /> |
| in this page we need folder like strucutre basically you will dynamic slect the folder basically if there cse mech | ||
| then slect cse the website should autoamtically all the folder inside the cse folder like taht | ||
| then | ||
| -2019 and 2024 schema | ||
| -deptmarntent | ||
| -sem | ||
| -subject | ||
| -notebook,textbook,question paper,notes,syllabus,previous year question paper,lab manual,lab record,lab experiment | ||
| -module wise or quesiton year wise questions |
There was a problem hiding this comment.
There are several typos in this line (e.g., 'strucutre', 'slect', 'cse mech'); please correct these spelling mistakes for clear documentation.
| in this page we need folder like strucutre basically you will dynamic slect the folder basically if there cse mech | |
| then slect cse the website should autoamtically all the folder inside the cse folder like taht | |
| then | |
| -2019 and 2024 schema | |
| -deptmarntent | |
| -sem | |
| -subject | |
| -notebook,textbook,question paper,notes,syllabus,previous year question paper,lab manual,lab record,lab experiment | |
| -module wise or quesiton year wise questions | |
| In this page, we need a folder-like structure. Basically, you will dynamically select the folder. For example, if there are folders for CSE or Mechanical, | |
| then select CSE. The website should automatically display all the folders inside the CSE folder, like that. | |
| Then: | |
| - 2019 and 2024 schema | |
| - department | |
| - semester | |
| - subject | |
| - notebook, textbook, question paper, notes, syllabus, previous year question paper, lab manual, lab record, lab experiment | |
| - module-wise or question-year-wise questions |
| @@ -1,6 +1,10 @@ | |||
| //in this we show lost and found items, with a toggle to switch between lost and found items, and a floating button to add new items. | |||
| // only implement lost not found items temperoilaily | |||
There was a problem hiding this comment.
There are spelling errors such as 'temperoilaily' in the comments; please fix these typos to improve clarity.
| // only implement lost not found items temperoilaily | |
| // only implement lost not found items temporarily |
| in this we are adding a expanse tracker remeber it is fro mobile user are mainly | ||
| so it should be easy to use | ||
| mainly it is for studnet to know how much they spent in a month year |
There was a problem hiding this comment.
There are several spelling errors (e.g., 'expanse', 'remeber', 'fro mobile user are mainly'); please correct these errors to ensure the text is clear and professional.
| in this we are adding a expanse tracker remeber it is fro mobile user are mainly | |
| so it should be easy to use | |
| mainly it is for studnet to know how much they spent in a month year | |
| In this, we are adding an expense tracker. Remember, it is for mobile users mainly, | |
| so it should be easy to use. | |
| Mainly, it is for students to know how much they spent in a month or year. |
| In this dynamic page, when you click any bus button, the UI/UX for all bus locations remains the same. | ||
| We use a dynamic page system so that clicking on, for example, the "Bus 1" button redirects here, | ||
| but the displayed content updates to show the respective bus's location. | ||
| the most importnetn thing is it need to be annoynmous but the suer who posted it should be able to delete or obivoulsy admin need to able to dlete it as well |
There was a problem hiding this comment.
This line contains multiple typos (such as 'importnetn', 'annoynmous', 'suer', 'obivoulsy', 'dlete'); please correct them for clear communication.
| the most importnetn thing is it need to be annoynmous but the suer who posted it should be able to delete or obivoulsy admin need to able to dlete it as well | |
| the most important thing is it needs to be anonymous, but the user who posted it should be able to delete it, or obviously, the admin needs to be able to delete it as well |
| basically this is a page where the user can see their attendance not puttin green if they were present | ||
| but rather it is made ot so they can see how many classes they have missed |
There was a problem hiding this comment.
There are spelling issues in this line (e.g., 'puttin', 'ot'); please revise the text to clearly convey the intended functionality.
| basically this is a page where the user can see their attendance not puttin green if they were present | |
| but rather it is made ot so they can see how many classes they have missed | |
| basically this is a page where the user can see their attendance not putting green if they were present | |
| but rather it is made out so they can see how many classes they have missed |
| In this dynamic page, when you click any bus button, the UI/UX for all bus locations remains the same. | ||
| We use a dynamic page system so that clicking on, for example, the "Bus 1" button redirects here, | ||
| but the displayed content updates to show the respective bus's location. | ||
| admin lost where they can edit delete as well |
There was a problem hiding this comment.
The text 'admin lost where they can edit delete as well' contains typos and is unclear; please correct the wording for clarity.
| admin lost where they can edit delete as well | |
| Admin page: Manage, edit, and delete items. |
Please review and let me know if any improvements are needed.