Skip to content

Docs: add comprehensive bug test report for organization features - #456

Merged
0xdevcollins merged 3 commits into
boundlessfi:mainfrom
Ekene001:Test/Test-the-organization-flow---manual-QA-checklist
Mar 8, 2026
Merged

Docs: add comprehensive bug test report for organization features#456
0xdevcollins merged 3 commits into
boundlessfi:mainfrom
Ekene001:Test/Test-the-organization-flow---manual-QA-checklist

Conversation

@Ekene001

@Ekene001 Ekene001 commented Mar 7, 2026

Copy link
Copy Markdown
Contributor

closes #448

This PR adds a QA testing report documenting issues and observations found while testing the organization and hackathon features of the application.

The report includes findings from testing the application with the frontend running locally and the backend connected to the staging API (stage-api.boundlessfi.xyz).

The report covers:

  • Organization creation and navigation
  • Slug validation during organization creation
  • Organization delete/archive functionality
  • Member invitation flow and invite link routing
  • Invite acceptance behavior
  • Hackathon draft creation and publishing
  • Route validation for organization settings
  • Password validation UX on the sign-up form

Several issues were identified including:

  • Slug validation incorrectly showing "slug available" for already-used slugs
  • Organization delete/archive not functioning
  • Invite links pointing to /signup instead of /auth
  • Accepted invites not attaching users to the organization
  • Hackathon publish endpoint returning a 404
  • Invalid organization routes still loading the settings page
  • Password validation UX not providing feedback for weak passwords

Suggestions for improving validation and routing behavior are also included in the report.

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive bug test report summarizing verification status, high-priority bugs with impacts and remediation guidance, UX/UI improvement suggestions, technical edge-case considerations, and testing context (environment, status, metadata) to aid troubleshooting and onboarding.

@Ekene001
Ekene001 requested a review from 0xdevcollins as a code owner March 7, 2026 17:37
@vercel

vercel Bot commented Mar 7, 2026

Copy link
Copy Markdown

@Ekene001 is attempting to deploy a commit to the Threadflow Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Mar 7, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Adds a new documentation file docs/bug-test-report.md that provides a comprehensive QA bug test report for Issue #448, including verification status, four high-priority bug entries, UX/UI notes, technical edge cases, testing context, and remediation guidance. No application code changes.

Changes

Cohort / File(s) Summary
Test Documentation
docs/bug-test-report.md
Adds a new QA bug test report for Issue #448 with executive summary, verification status, testing environment/context, four high-priority bugs (BUG-001–BUG-004) with descriptions and remediation guidance, UX/UI improvement notes, and technical edge-case considerations. No logic or code modified.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐇 I hopped through reports with notes so bright,
Found four bold bugs in the soft moonlight,
Slugs and invites and flows to mend,
A rabbit's nudge to help them mend,
Patch and sprint — then hops again! 🥕

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR documents identified issues and observations from manual QA testing of organization features, but does not implement code changes to fix any of the issues or verify all requirements from issue #448. The PR fulfills the documentation/reporting aspect of issue #448, but the linked issue requires verifying multiple organization features via manual QA. Clarify whether this PR is intended only as a bug report or if acceptance criteria from #448 have been validated.
Out of Scope Changes check ❓ Inconclusive The PR adds a bug test report document and mentions upgrading dompurify to 3.3.2 in the commit message, but no code changes are present in the summary. Verify whether the dompurify dependency upgrade is included in this PR. If present, clarify if it is a necessary supporting change for the bug report or an unrelated scope addition.
✅ Passed checks (3 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.
Title check ✅ Passed The PR title 'Docs: add comprehensive bug test report for organization features' accurately describes the main change: adding documentation in the form of a bug test report. The title aligns with the changeset which adds docs/bug-test-report.md covering issues identified during manual QA testing of organization features, matching the PR's primary objective.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@Ekene001 Ekene001 changed the title Test: add comprehensive bug test report for organization features feat: add comprehensive bug test report for organization features Mar 7, 2026
@Ekene001 Ekene001 changed the title feat: add comprehensive bug test report for organization features Test: add comprehensive bug test report for organization features Mar 7, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Nitpick comments (6)
docs/bug-test-report.md (6)

11-21: Add more detail to general functionality tests.

The general functionality section lists what works but lacks:

  • Reference to the test checklist from issue #448
  • Information about which specific flows were tested (e.g., which org creation fields, which settings tabs)
  • Any edge cases or boundary conditions tested

Consider adding a link to the original test checklist and noting which items from issue #448 were verified versus which remain untested.

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

In `@docs/bug-test-report.md` around lines 11 - 21, Update the "General
Functionality Tests" section in docs/bug-test-report.md to reference issue
`#448`'s test checklist (add a link to the original checklist), enumerate the
specific flows and fields you tested (e.g., which organization creation form
fields, which settings tabs under "/organization/settings"), and list any edge
cases/boundary conditions checked; finally add a clear verified vs untested
checklist that maps each item from issue `#448` to a status (verified, partially
verified, untested) so reviewers can see exactly what was covered.

192-203: Add severity levels and recommended prioritization.

Consider adding severity levels (Critical, High, Medium, Low) to help the team prioritize fixes. For example:

  • Critical: Invite link 404, invite acceptance not working, delete/archive not working (core functionality broken)
  • High: Invalid org routes loading, slug validation
  • Medium: Hackathon publish 404
  • Low: Password validation UX

This would help the team understand which issues block users from core workflows versus which are nice-to-have improvements.

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

In `@docs/bug-test-report.md` around lines 192 - 203, Update the bug-test-report
to include a severity/prioritization section that classifies each listed issue
(e.g., "Invite link 404", "invite acceptance not adding members", "Organization
archive/delete not working", "Invalid organization routes loading settings",
"Slug validation feedback", "Hackathon publishing 404", "Password validation
UX") into severity buckets (Critical, High, Medium, Low); add a short rationale
line for each classification and a recommended fix order (Critical first), and
ensure the new section appears prominently after the summary so reviewers can
quickly see which items block core workflows versus which are lower priority.

84-106: Consider redacting email addresses from bug reports.

The example invite link contains an email address. While it appears to be from a temporary email service (hidingmail.com), consider using placeholder emails like test@example.com in documentation to avoid any potential privacy concerns.

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

In `@docs/bug-test-report.md` around lines 84 - 106, The invite link in the docs
points to /signup instead of the app's /auth route and also includes a real
email; update the URL generation to use the correct path and redact the email:
locate the function building invitation URLs (e.g., getInvitationUrl or the code
that concatenates "/signup" and query params) and change the path segment to
"/auth" so generated links are https://.../auth?invitationId=...; also update
the example in docs/bug-test-report.md to remove the real email and use a
placeholder like test@example.com or REDACTED in the example invite link.

108-131: Use consistent environment URLs in bug reports.

Line 112 references http://localhost:3000 while the environment section states testing was done with "Frontend running locally" and "Backend: staging API". For clarity, specify whether the bug occurs on both localhost and staging, or just one environment. If testing on localhost, the URL is correct; if on staging, use the staging URL (https://staging.boundlessfi.xyz).

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

In `@docs/bug-test-report.md` around lines 108 - 131, The "Invite Acceptance Does
Not Add Member to Organization" section contains an inconsistent environment URL
(the example link http://localhost:3000... at line referencing the invite) vs
the declared environments ("Frontend running locally" and "Backend: staging
API"); update the report to use consistent environment URLs and reproduction
steps: either (A) explicitly state the bug was reproduced on localhost and keep
the localhost invite URL, or (B) replace the invite URL with the staging host
(https://staging.boundlessfi.xyz) and note the frontend/backend used, and add a
short "Environment" line clarifying frontend backend pairing so readers know
whether the issue occurs on localhost, staging, or both.

47-65: Add reproduction steps and test data for slug validation bug.

To help developers reproduce and fix this issue, add:

  • Step-by-step instructions to reproduce (e.g., "1. Navigate to /organizations/new, 2. Enter name 'Test', 3. Enter slug 'existing-slug'")
  • The actual slug value that was tested and known to already exist
  • Any console errors or network responses that might indicate why validation is failing
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/bug-test-report.md` around lines 47 - 65, Update the "1. Slug Validation
Issue During Organization Creation" section to include concrete reproduction
steps and test data: add step-by-step instructions (e.g., "1. Navigate to
/organizations/new; 2. Enter name 'Test'; 3. Enter slug 'existing-slug' and
attempt to submit"), specify the known existing slug value(s) used during
testing (e.g., "existing-slug"), and paste any relevant console errors or
network response snippets (status codes, response bodies) observed when the
frontend incorrectly shows "Slug available" but the backend rejects creation;
ensure these details are placed under that issue heading so developers can
reproduce the bug reliably.

24-42: Recategorize password validation as a bug rather than a suggestion.

The password validation UX issue is a usability defect that affects the user experience and should be listed in the "Bugs Identified" section rather than "Suggestions / UX Observations." Poor validation feedback is a genuine bug, not just a nice-to-have improvement.

Additionally, clarify which specific sign-up page this occurs on (e.g., /auth, /signup, or during invite acceptance).

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

In `@docs/bug-test-report.md` around lines 24 - 42, Move the "Password Validation
UX" entry out of "Suggestions / UX Observations" into the "Bugs Identified"
section and change its classification and wording to a bug report: update the
heading and beginning sentence to mark it as a usability bug, and replace the
suggestion text with a concise bug description like "Sign-up rejects weak
passwords without showing validation feedback." Also add a clear note specifying
exactly which sign-up flow/page is affected (e.g., /signup or /auth or
invite-acceptance) or confirm the correct route, and keep the recommended
user-facing validation message ("Password must meet the required strength
criteria") as the expected fix guidance.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/bug-test-report.md`:
- Around line 160-189: The Organization settings page is rendering for
nonexistent IDs; update the code that renders OrganizationSettings (e.g.,
OrganizationSettings component or OrganizationSettingsRoute) to validate the org
before showing the form: use the route param (useParams or route loader) to call
the existing API helper (getOrganization, fetchOrganization, or similar) in a
useEffect/loader, handle loading/error states, and if the API returns 404/null
then either redirect to /organizations (redirectToOrganizations), render a 404
component, or display “Organization not found”; ensure the settings form and any
save handlers do not run until the org data is confirmed present.
- Around line 68-81: Expand the "2. Delete / Archive Organization Not Working"
report to include: explicit selection of which action fails (delete, archive, or
both) and the exact UI steps to reproduce (buttons clicked, confirmations, form
inputs) under a "Reproduction Steps" section; capture and paste any user-facing
error messages and browser console errors and network request failures (include
endpoint, method, status code, response body) under "Errors/Logs"; state scope
(all orgs or specific org IDs/names, any test data) and user permission context
(role: owner/admin/member) under "Scope & Permissions"; and attach expected vs
actual outcomes, screenshots or timestamps if available, plus environment info
(browser, OS, app version) to help developers reproduce and triage.
- Around line 11-21: The report is missing verification for several items from
issue `#448`; update docs/bug-test-report.md to either (a) add test results for
the public profile route (/org/[slug]) and OG metadata, each settings tab
(Profile, Links, Members, Transfer), sidebar items and quick actions (including
the Host Hackathon button and grants disabled state), org list search/sort
details, deep link behavior (loading correct org), header search (⌘K) behavior,
and mobile hamburger sheet behavior; or (b) append a clear follow-up checklist
enumerating these specific items, or (c) mark which of these (/org/[slug],
Profile/Links/Members/Transfer tabs, sidebar quick actions, org list
search/sort, deep links, headerSearch/⌘K, mobile hamburger sheet) were
intentionally skipped/out of scope so the report is explicit.
- Around line 1-205: Run Prettier to fix formatting and update the two incorrect
heading levels in docs/bug-test-report.md: execute the provided prettier command
(prettier --write docs/bug-test-report.md), then change the "### Environment"
and "### Password Validation UX" headings to "## Environment" and "## Password
Validation UX" respectively to satisfy markdownlint; save and commit the updated
docs/bug-test-report.md.

---

Nitpick comments:
In `@docs/bug-test-report.md`:
- Around line 11-21: Update the "General Functionality Tests" section in
docs/bug-test-report.md to reference issue `#448`'s test checklist (add a link to
the original checklist), enumerate the specific flows and fields you tested
(e.g., which organization creation form fields, which settings tabs under
"/organization/settings"), and list any edge cases/boundary conditions checked;
finally add a clear verified vs untested checklist that maps each item from
issue `#448` to a status (verified, partially verified, untested) so reviewers can
see exactly what was covered.
- Around line 192-203: Update the bug-test-report to include a
severity/prioritization section that classifies each listed issue (e.g., "Invite
link 404", "invite acceptance not adding members", "Organization archive/delete
not working", "Invalid organization routes loading settings", "Slug validation
feedback", "Hackathon publishing 404", "Password validation UX") into severity
buckets (Critical, High, Medium, Low); add a short rationale line for each
classification and a recommended fix order (Critical first), and ensure the new
section appears prominently after the summary so reviewers can quickly see which
items block core workflows versus which are lower priority.
- Around line 84-106: The invite link in the docs points to /signup instead of
the app's /auth route and also includes a real email; update the URL generation
to use the correct path and redact the email: locate the function building
invitation URLs (e.g., getInvitationUrl or the code that concatenates "/signup"
and query params) and change the path segment to "/auth" so generated links are
https://.../auth?invitationId=...; also update the example in
docs/bug-test-report.md to remove the real email and use a placeholder like
test@example.com or REDACTED in the example invite link.
- Around line 108-131: The "Invite Acceptance Does Not Add Member to
Organization" section contains an inconsistent environment URL (the example link
http://localhost:3000... at line referencing the invite) vs the declared
environments ("Frontend running locally" and "Backend: staging API"); update the
report to use consistent environment URLs and reproduction steps: either (A)
explicitly state the bug was reproduced on localhost and keep the localhost
invite URL, or (B) replace the invite URL with the staging host
(https://staging.boundlessfi.xyz) and note the frontend/backend used, and add a
short "Environment" line clarifying frontend backend pairing so readers know
whether the issue occurs on localhost, staging, or both.
- Around line 47-65: Update the "1. Slug Validation Issue During Organization
Creation" section to include concrete reproduction steps and test data: add
step-by-step instructions (e.g., "1. Navigate to /organizations/new; 2. Enter
name 'Test'; 3. Enter slug 'existing-slug' and attempt to submit"), specify the
known existing slug value(s) used during testing (e.g., "existing-slug"), and
paste any relevant console errors or network response snippets (status codes,
response bodies) observed when the frontend incorrectly shows "Slug available"
but the backend rejects creation; ensure these details are placed under that
issue heading so developers can reproduce the bug reliably.
- Around line 24-42: Move the "Password Validation UX" entry out of "Suggestions
/ UX Observations" into the "Bugs Identified" section and change its
classification and wording to a bug report: update the heading and beginning
sentence to mark it as a usability bug, and replace the suggestion text with a
concise bug description like "Sign-up rejects weak passwords without showing
validation feedback." Also add a clear note specifying exactly which sign-up
flow/page is affected (e.g., /signup or /auth or invite-acceptance) or confirm
the correct route, and keep the recommended user-facing validation message
("Password must meet the required strength criteria") as the expected fix
guidance.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e7e7d6ec-e9c3-49ec-a746-ab8aa13945b1

📥 Commits

Reviewing files that changed from the base of the PR and between ba798d7 and dde4554.

📒 Files selected for processing (1)
  • docs/bug-test-report.md

Comment thread docs/bug-test-report.md
Comment thread docs/bug-test-report.md Outdated
Comment thread docs/bug-test-report.md Outdated
Comment thread docs/bug-test-report.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/bug-test-report.md`:
- Line 6: Replace the misleading "Status: Issue `#448` Verification Complete" line
with wording such as "Status: Issue `#448` — Tested" and update the checklist
entries for slug validation, invitation handling, delete/archive, and invalid
org route handling to explicitly mark them as "Fail" or "Blocked"; ensure any
checklist that currently reads as passed is revised to reflect actual test
outcomes and mirror the same changes for the repeated section covering the later
checklist items (the block that duplicates items 16–30).
- Around line 122-123: Update the branch metadata line labeled "Branch:" in the
report so it exactly matches the PR's source branch identifier; replace the
current value `test/Test the organization flow - manual QA checklist` with the
precise branch name `Test/Test-the-organization-flow---manual-QA-checklist`
(ensure the casing and dashes match exactly) so the QA report traces back to the
correct PR.
- Around line 52-56: Replace the definitive diagnosis in the "Likely Root Cause"
and any UX suggestion that assumes that diagnosis with an explicit, unverified
hypothesis or remove it entirely: change the line "Likely Root Cause: Wallet
balance is insufficient..." to "Possible cause (unverified): Wallet balance may
be insufficient — capture response body/logs to confirm" and update the
suggested UX message to include a conditional note (e.g., "If confirmed:
'Insufficient wallet funds...')"; ensure the report only asserts the observed
404 and directs the reader to gather the response body, headers, or server logs
to verify funding as the cause so the document reflects evidence vs. hypothesis.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 63842250-b6fc-4f3b-8ac6-a4fa037f1dd5

📥 Commits

Reviewing files that changed from the base of the PR and between dde4554 and 7b0871b.

📒 Files selected for processing (1)
  • docs/bug-test-report.md

Comment thread docs/bug-test-report.md
Comment thread docs/bug-test-report.md
Comment thread docs/bug-test-report.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (3)
docs/bug-test-report.md (3)

52-56: ⚠️ Potential issue | 🟠 Major

Keep the 404 evidence separate from the funding hypothesis.

The report currently turns a bare 404 Not Found into a confirmed wallet-funding diagnosis. Unless you captured a response body or server log proving that, please label it as unverified or remove it so engineering doesn’t chase the wrong root cause.

Suggested wording
-- **Likely Root Cause:** Wallet balance is insufficient for publish-related on-chain or fee-dependent operations.
-- **UX Gap:** The UI does not tell users that the publish failure is caused by **insufficient wallet funds**.
+- **Possible cause (unverified):** Wallet balance may be insufficient, but the 404 response alone does not confirm that. Capture the response body/server logs to verify.
+- **UX Gap:** If funding is confirmed as the cause, the UI should explain it clearly instead of failing with a generic error.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/bug-test-report.md` around lines 52 - 56, Edit the bug report entry for
the PUT .../api/organizations/{orgId}/hackathons/draft/{hackathonId}/publish
endpoint so the observed 404 is recorded as raw evidence and the wallet-funding
diagnosis is clearly marked as unverified hypothesis (or remove the hypothesis
if you have no supporting response body/server log); specifically update the
"Likely Root Cause" and any UX suggestion to prepend "Unverified:" or move the
funding theory into a separate "Hypothesis" section and keep the "Observed
Error" as the sole confirmed fact.

6-30: ⚠️ Potential issue | 🟠 Major

Reword the overall status/checklist to reflect the documented failures.

This still reads as fully verified and production-ready, but the same report later records failures in slug validation, invitation handling, delete/archive, and invalid org route handling. Please mark the affected checklist rows as Fail/Blocked and soften the top-level status from “Verification Complete” to something like “Tested with open issues.”

Suggested wording
-**Status:** Issue `#448` Verification Complete
+**Status:** Issue `#448` Tested — Open issues found
...
-All items specified in Issue `#448` have been verified for production readiness:
+Issue `#448` test coverage is included below. Several items failed or remain blocked:
...
-| **Profile Validation**   | Pass   | Slug/Profile validation logic is functional.         |
+| **Profile Validation**   | Fail   | Slug availability feedback is incorrect for taken slugs. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/bug-test-report.md` around lines 6 - 30, Update the top-level status and
affected table rows to reflect open failures: change the document title/status
line from "Status: Issue `#448` Verification Complete" to a softer phrase like
"Status: Issue `#448` Tested with open issues" (or similar), and set the checklist
rows for the failing flows — e.g., the Invitation Lifecycle / invitation
handling, Hackathon Publishing, Slug/Profile validation, Delete/Archive
behavior, and invalid org route handling — to "Fail" or "Blocked" instead of
"Pass"; update their Notes to briefly reference the specific failures (slug
validation, invitation handling, delete/archive, invalid org route) so the table
accurately matches the later report sections.

66-93: ⚠️ Potential issue | 🟠 Major

Add request/error evidence for the delete/archive failures.

The current repro is clear enough for QA, but it still doesn’t give engineering anything to trace: there’s no request URL/method, status code, response body, console error, or user-facing error text. Please capture those details here—or explicitly note that no client/network errors were observed—so the report is actionable.

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

In `@docs/bug-test-report.md` around lines 66 - 93, Update the BUG-004 section
("BUG-004: Delete/Archive Organization Non-Functional") to include concrete
request and error evidence for the failing Archive/Delete actions: record the
network request URL(s) and HTTP method(s), the response status code(s) and full
response body (or raw error), any console error stack/message, and the exact
user-facing error text displayed; if no client/network errors were observed,
explicitly state that and include timestamps and steps to reproduce so backend
tracing can be correlated.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@docs/bug-test-report.md`:
- Around line 52-56: Edit the bug report entry for the PUT
.../api/organizations/{orgId}/hackathons/draft/{hackathonId}/publish endpoint so
the observed 404 is recorded as raw evidence and the wallet-funding diagnosis is
clearly marked as unverified hypothesis (or remove the hypothesis if you have no
supporting response body/server log); specifically update the "Likely Root
Cause" and any UX suggestion to prepend "Unverified:" or move the funding theory
into a separate "Hypothesis" section and keep the "Observed Error" as the sole
confirmed fact.
- Around line 6-30: Update the top-level status and affected table rows to
reflect open failures: change the document title/status line from "Status: Issue
`#448` Verification Complete" to a softer phrase like "Status: Issue `#448` Tested
with open issues" (or similar), and set the checklist rows for the failing flows
— e.g., the Invitation Lifecycle / invitation handling, Hackathon Publishing,
Slug/Profile validation, Delete/Archive behavior, and invalid org route handling
— to "Fail" or "Blocked" instead of "Pass"; update their Notes to briefly
reference the specific failures (slug validation, invitation handling,
delete/archive, invalid org route) so the table accurately matches the later
report sections.
- Around line 66-93: Update the BUG-004 section ("BUG-004: Delete/Archive
Organization Non-Functional") to include concrete request and error evidence for
the failing Archive/Delete actions: record the network request URL(s) and HTTP
method(s), the response status code(s) and full response body (or raw error),
any console error stack/message, and the exact user-facing error text displayed;
if no client/network errors were observed, explicitly state that and include
timestamps and steps to reproduce so backend tracing can be correlated.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9aa09d0e-b682-4b17-9f8c-f3933fad0c85

📥 Commits

Reviewing files that changed from the base of the PR and between 7b0871b and 10da423.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • docs/bug-test-report.md

@Ekene001 Ekene001 changed the title Test: add comprehensive bug test report for organization features Docs: add comprehensive bug test report for organization features Mar 7, 2026
@0xdevcollins
0xdevcollins merged commit 17d37c7 into boundlessfi:main Mar 8, 2026
5 of 8 checks passed
0xdevcollins added a commit that referenced this pull request Mar 8, 2026
* 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>
Benjtalkshow added a commit that referenced this pull request Mar 9, 2026
* 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>
Benjtalkshow added a commit that referenced this pull request Mar 9, 2026
* 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>
Benjtalkshow added a commit that referenced this pull request Mar 9, 2026
* 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>
Benjtalkshow added a commit that referenced this pull request Mar 9, 2026
* 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>
Benjtalkshow added a commit that referenced this pull request Mar 9, 2026
* 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>
Benjtalkshow added a commit that referenced this pull request Mar 9, 2026
* 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>
Benjtalkshow added a commit that referenced this pull request Mar 9, 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>

---------

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>
Benjtalkshow added a commit that referenced this pull request Mar 9, 2026
* 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>

* merge David's Pr (#473)

* 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 behav…
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.

Test the organization flow - manual QA checklist

2 participants