Skip to content

Production#474

Merged
Benjtalkshow merged 11 commits intomainfrom
production
Mar 9, 2026
Merged

Production#474
Benjtalkshow merged 11 commits intomainfrom
production

Conversation

@Benjtalkshow
Copy link
Collaborator

@Benjtalkshow Benjtalkshow commented Mar 9, 2026

Summary by CodeRabbit

  • Documentation
    • Added design specifications for hackathon detail page improvements, including updated layouts, navigation structure, and UI refinements for desktop and mobile experiences.

0xdevcollins and others added 11 commits March 6, 2026 13:27
* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page
* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

* UI fixes (#458)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* Blog fix (#464)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* Blog fix (#465)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* fix: fix broken blog image and notification redirect

* merge fork main to boundlessfi main (#468)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge to main (#469)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge (#470)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge fork to main (#471)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Create hackathon-detail-design.md (#466)

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>
* Create hackathon-detail-design.md (#466)

* Production (#472)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Merge fixes to production (#467)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

* UI fixes (#458)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* Blog fix (#464)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* Blog fix (#465)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* fix: fix broken blog image and notification redirect

* merge fork main to boundlessfi main (#468)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge to main (#469)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge (#470)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge fork to main (#471)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Create hackathon-detail-design.md (#466)

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

---------

Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>
Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
@vercel
Copy link

vercel bot commented Mar 9, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
boundless-kd16 Ready Ready Preview, Comment Mar 9, 2026 7:24pm

@coderabbitai
Copy link

coderabbitai bot commented Mar 9, 2026

📝 Walkthrough

Walkthrough

This PR introduces design documentation for the hackathon detail page redesign and removes a blank line from a hook file. The changes include UI/UX specifications and one minor whitespace edit.

Changes

Cohort / File(s) Summary
Design Documentation
app/(landing)/hackathons/[slug]/hackathon-detail-design.md
New design specification document outlining hackathon detail page redesign with layouts, components (hero section, sticky sidebar, tab navigation), and design goals for improved usability.
Hook Whitespace Cleanup
hooks/hackathon/use-participants.ts
Removed unnecessary blank line after setIsLoading(true) statement; no functional changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

  • PR #466: Also modifies the hackathon-detail-design.md file with similar design specifications.
  • PR #472: Makes the same trivial whitespace edit to hooks/hackathon/use-participants.ts.
  • PR #458: Modifies hooks/hackathon/use-participants.ts with hook refactoring logic changes.

Suggested reviewers

  • 0xdevcollins

Poem

🐰 A design so bright, a hop of delight,
With tabs and layouts polished just right,
A whitespace removed, the code stays clean,
The prettiest hackathon page you've seen! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Production' is vague and does not clearly describe the actual changes made in the pull request, which include design documentation and a minor code cleanup. Use a more descriptive title that summarizes the main changes, such as 'Add hackathon detail page design spec' or 'Add design documentation and clean up whitespace'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch production

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
app/(landing)/hackathons/[slug]/hackathon-detail-design.md (1)

15-18: Define visibility rules for tabs and primary actions before implementation starts.

The spec names the tabs and CTAs, but it never says when each one is shown, hidden, or disabled. That leaves key flows up to engineer interpretation—for example Join vs Submit vs View Submission, or whether Winners/Resources/Announcements render when empty. Please add acceptance criteria for state-dependent visibility here.

I can draft a compact matrix for action/tab states if you want to include it in this doc.

Also applies to: 25-30

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/`(landing)/hackathons/[slug]/hackathon-detail-design.md around lines 15 -
18, Add explicit, state-dependent visibility and enablement acceptance criteria
for each named tab (overview, participants, resources, announcements,
submissions, discussions, find team, winners) and primary CTAs (Join, Submit,
View Submission) in the hackathon-detail-design.md spec: for each tab say when
it is shown/hidden and when it should render an empty state versus be omitted,
and for each CTA define the exact conditions that enable/disable or replace it
(e.g., Join visible when user not a participant and registration open; Submit
visible when user is a participant and submissions open; View Submission visible
when user has an existing submission), and include rules for contentless tabs
(e.g., show “empty” placeholder vs hide) and any precedence between conflicting
CTAs so engineers have deterministic UI behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@app/`(landing)/hackathons/[slug]/hackathon-detail-design.md:
- Around line 1-5: The doc currently uses plain text and needs proper Markdown
structure so the formatter passes: update the file
app/(landing)/hackathons/[slug]/hackathon-detail-design.md to add real headings
(e.g., "# Hackathon Detail Page Redesign", "## Issue", "## Figma Design"),
convert the raw Figma URL into a Markdown link ([Figma
Design](https://www.figma.com/...)), and structure content into short sections
(summary, goals, components, notes) so the document is valid Markdown and the
formatter error (also present around lines 20-30) is resolved.

---

Nitpick comments:
In `@app/`(landing)/hackathons/[slug]/hackathon-detail-design.md:
- Around line 15-18: Add explicit, state-dependent visibility and enablement
acceptance criteria for each named tab (overview, participants, resources,
announcements, submissions, discussions, find team, winners) and primary CTAs
(Join, Submit, View Submission) in the hackathon-detail-design.md spec: for each
tab say when it is shown/hidden and when it should render an empty state versus
be omitted, and for each CTA define the exact conditions that enable/disable or
replace it (e.g., Join visible when user not a participant and registration
open; Submit visible when user is a participant and submissions open; View
Submission visible when user has an existing submission), and include rules for
contentless tabs (e.g., show “empty” placeholder vs hide) and any precedence
between conflicting CTAs so engineers have deterministic UI behavior.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f7d3263a-c213-4323-b447-c3907d520ab6

📥 Commits

Reviewing files that changed from the base of the PR and between 6639c96 and 3483b21.

📒 Files selected for processing (2)
  • app/(landing)/hackathons/[slug]/hackathon-detail-design.md
  • hooks/hackathon/use-participants.ts
💤 Files with no reviewable changes (1)
  • hooks/hackathon/use-participants.ts

Comment on lines +1 to +5
Hackathon Detail Page Redesign
Issue: #414

Figma Design
https://www.figma.com/design/EMNGAQl1SGObXcsoa24krt/Boundless_Project-Details?node-id=0-1&t=A1ywRcn60Xyw0X6h-1
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use proper Markdown structure so this doc renders cleanly and matches the failing formatter.

This reads like Markdown content, but it is authored mostly as plain text. Adding real headings and a formatted Figma link will make the page navigable and should also address the reported Prettier/style failure.

Suggested rewrite
-Hackathon Detail Page Redesign
-Issue: `#414`
-
-Figma Design
-https://www.figma.com/design/EMNGAQl1SGObXcsoa24krt/Boundless_Project-Details?node-id=0-1&t=A1ywRcn60Xyw0X6h-1
+# Hackathon Detail Page Redesign
+
+Issue: `#414`
+
+## Figma Design
+
+[Boundless Project Details](https://www.figma.com/design/EMNGAQl1SGObXcsoa24krt/Boundless_Project-Details?node-id=0-1&t=A1ywRcn60Xyw0X6h-1)
@@
-Banner Placement Proposal
+## Banner Placement Proposal
@@
-Design Goals
+## Design Goals

Also applies to: 20-30

🧰 Tools
🪛 GitHub Actions: CI/CD Pipeline

[warning] 1-1: Code style issues found by Prettier. Run 'prettier --write' to fix.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/`(landing)/hackathons/[slug]/hackathon-detail-design.md around lines 1 -
5, The doc currently uses plain text and needs proper Markdown structure so the
formatter passes: update the file
app/(landing)/hackathons/[slug]/hackathon-detail-design.md to add real headings
(e.g., "# Hackathon Detail Page Redesign", "## Issue", "## Figma Design"),
convert the raw Figma URL into a Markdown link ([Figma
Design](https://www.figma.com/...)), and structure content into short sections
(summary, goals, components, notes) so the document is valid Markdown and the
formatter error (also present around lines 20-30) is resolved.

@Benjtalkshow Benjtalkshow merged commit 3482a52 into main Mar 9, 2026
6 of 9 checks passed
Benjtalkshow added a commit that referenced this pull request Mar 10, 2026
* Create hackathon-detail-design.md (#466)

* Production (#472)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Merge fixes to production (#467)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

* UI fixes (#458)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* Blog fix (#464)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* Blog fix (#465)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* fix: fix broken blog image and notification redirect

* merge fork main to boundlessfi main (#468)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge to main (#469)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge (#470)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge fork to main (#471)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Create hackathon-detail-design.md (#466)

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

* Production (#474)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and p…
Benjtalkshow added a commit that referenced this pull request Mar 10, 2026
* Create hackathon-detail-design.md (#466)

* Production (#472)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Merge fixes to production (#467)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

* UI fixes (#458)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* Blog fix (#464)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* Blog fix (#465)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* fix: fix broken blog image and notification redirect

* merge fork main to boundlessfi main (#468)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge to main (#469)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge (#470)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge fork to main (#471)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Create hackathon-detail-design.md (#466)

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

* Production (#474)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa …
Benjtalkshow added a commit that referenced this pull request Mar 11, 2026
* Create hackathon-detail-design.md (#466)

* Production (#472)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Merge fixes to production (#467)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

* UI fixes (#458)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* Blog fix (#464)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* Blog fix (#465)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* fix: fix broken blog image and notification redirect

* merge fork main to boundlessfi main (#468)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge to main (#469)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge (#470)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge fork to main (#471)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Create hackathon-detail-design.md (#466)

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

* Production (#474)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for em…
Benjtalkshow added a commit that referenced this pull request Mar 11, 2026
* Create hackathon-detail-design.md (#466)

* Production (#472)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Merge fixes to production (#467)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

* UI fixes (#458)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* Blog fix (#464)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* Blog fix (#465)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* fix: fix auto refresh ib submission page

* fix: hackathon submission fixes

* fix: fix coderabbit corrections

* fix: fix coderabbit corrections

* chore: write boundless on x challenge blog

* fix: remove blog

* chore: add blog content

* fix: fix broken blog image and notification redirect

* merge fork main to boundlessfi main (#468)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge to main (#469)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge (#470)

* fix: improve timeline input , ui improvement and fixes for participation tab

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* merge fork to main (#471)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>

* merg to prod (#461)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

* feat(newsletter): implement newsletter API integration with subscribe… (#452)

* feat(newsletter): implement newsletter API integration with subscribe, confirm, unsubscribe, and preferences

* Draft
feat(newsletter): Imp some extra things

* feat(newsletter): add API routes, client helpers, and UI pages

* Docs: add comprehensive bug test report for organization features (#456)

* Test: add comprehensive bug test report for organization features

* docs: update bug test report for organization features and address critical issues

* fix: update branch name in bug test report and upgrade dompurify to version 3.3.2

* fix: update the milestone submission flow for campaign

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>

* Create hackathon-detail-design.md (#466)

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

---------

Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>
Co-authored-by: Sandeep chauhan <92181599+ryzen-xp@users.noreply.github.com>
Co-authored-by: Ekene Ngwudike <94962750+Ekene001@users.noreply.github.com>
Co-authored-by: David Emulo <161654052+Davidemulo@users.noreply.github.com>

* Production (#474)

* merg to prod (#450)

* fix: improve timeline input , ui improvement and fixes for participation tab (#442)

* feat: integrate Sentry for error tracking and reporting

- Added Sentry configuration for both server and edge environments to capture errors and performance metrics.
- Updated error handling across various components to report errors to Sentry, enhancing monitoring capabilities.
- Introduced a new MessagesProvider for managing in-app messaging and notifications.
- Refactored the .env.example file to include Sentry DSN and related configurations for production environments.
- Removed the deprecated connect-wallet component to streamline the codebase.

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* UI fixes (#445)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: handle potential null values in notification data

- Updated notification handling to safely access properties using optional chaining.
- Ensured that the notification data is checked for null values before accessing its properties in various components, improving robustness and preventing runtime errors.

* feat: Enforce Submission Requirements (requireGithub, requireDemoVideo, requireOtherLinks) (#443)

* feat: enforce submission requirements (requireGithub, requireDemoVideo, requireOtherLinks)

- Add dynamic schema validation based on currentHackathon flags
- Enforce requireDemoVideo at schema level with Zod refine
- Add Step 2 validation for requireGithub, requireDemoVideo, requireOtherLinks
- Add final validation pass in onSubmit before API call
- Add dynamic asterisk (*) to required field labels
- Add legend and helper text for required fields
- Wrap links section in FormField for proper error display

* UI fixes (#444)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* feat: prevent removal of required links and style required asterisks in red

Made-with: Cursor

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>

* feat(submissions): enforce team size limits (teamMin, teamMax) (#446)

* feat(submissions): enforce team size limits (teamMin, teamMax)

- Add validation in handleNext (Step 0) to block progression when team
  size is below teamMin, showing specific message with members needed
- Guard handleAddInvitee function to prevent adding members when team
  reaches teamMax capacity
- Add capacity indicator Badge showing "X / Y members" with visual
  states: orange when below minimum, yellow when at capacity
- Disable "Add Member" button and inputs when team is full
- Display helper text when team is below minimum requirement

Closes #405

* fix(submissions): remove hardcoded team size fallbacks

- Use undefined instead of hardcoded defaults (1, 10)
- Add hasTeamLimits guard to only enforce when hackathon defines limits
- Conditionally render Badge and helper text when limits are defined

* refactor: enhance error handling and submission response structure

- Introduced a utility function to standardize API error messages across submission operations.
- Updated the create and update submission functions to handle optional chaining for response checks.
- Improved the response structure to include messages for successful submissions.
- Adjusted the CreateSubmissionRequest interface to remove the hackathonId field and made organizationId optional in the update submission request.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>
Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: felipevega2x <feliaguilar5@gmail.com>
Co-authored-by: Josué Araya Marín <104031367+Josue19-08@users.noreply.github.com>

* UI fixes (#451) (#453)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* ui-fixes (#455)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* merge to prod (#457)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* fix: fix hackathon submission and participant page

* fix: fix hackathon submission and participant page

* feat(navbar): enhance navbar styles and layout

- Added CSS variables for active navbar link states, improving visual feedback.
- Refactored navbar layout for better alignment and responsiveness, including adjustments for mobile and desktop views.
- Updated component structure to ensure consistent styling and behavior across different states.

* feat(announcements): enhance announcement rendering and markdown support

- Implemented a `stripMarkdown` function to convert Markdown content to plain text for better preview handling in the announcement page.
- Created an `AnnouncementPreview` component to render announcements with Markdown support, improving content display in the announcements tab.
- Updated the announcement editor to utilize a dynamic Markdown editor, enhancing the editing experience for users.

---------

Co-authored-by: Nnaji Benjamin <60315147+Benjtalkshow@users.noreply.github.com>

* merg to prod (#459)

* UI fixes (#451)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and password login

* fix: fix conflict

* fix: fix submission form

* UI fixes (#454)

* fix: improve timeline input , ui improvement and fixes for participation tab

* fix: implement 2fa for email and p…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants