Skip to content

minor fixes#475

Merged
Benjtalkshow merged 3 commits intoboundlessfi:mainfrom
Benjtalkshow:main
Mar 9, 2026
Merged

minor fixes#475
Benjtalkshow merged 3 commits intoboundlessfi:mainfrom
Benjtalkshow:main

Conversation

@Benjtalkshow
Copy link
Collaborator

@Benjtalkshow Benjtalkshow commented Mar 9, 2026

Summary by CodeRabbit

  • New Features

    • Hackathons now display an "Extended" badge on submission deadlines that have been extended, appearing alongside deadline information on both the hackathon banner and sticky details card to clearly communicate extension updates to participants.
  • Chores

    • Removed obsolete dashboard page components and consolidated internal data source references.

@vercel
Copy link

vercel bot commented Mar 9, 2026

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

A member of the Team first needs to authorize it.

@coderabbitai
Copy link

coderabbitai bot commented Mar 9, 2026

📝 Walkthrough

Walkthrough

This pull request introduces a submission deadline extension feature for hackathons by adding a submissionDeadlineExtendedAt field to the Hackathon type definition, propagating it through the page and component layers, and conditionally rendering "Extended" badges in banner and card components. Additionally, old dashboard pages are removed and data source paths are updated.

Changes

Cohort / File(s) Summary
Dashboard Page Cleanup
app/dashboard/page copy.tsx, app/dashboard/page.tsx, components/dashboard-content.tsx
Removed two dashboard page component files (225 and 6 lines) and updated data import path from ../app/dashboard/data.json to ../data/data.json.
Submission Deadline Extension Data Model
lib/api/hackathons.ts, lib/api/hackathon.ts
Added optional submissionDeadlineExtendedAt field (string | null) to Hackathon type definitions across published and public hackathon API responses; minor formatting adjustment in getHackathon.
Submission Deadline Extension UI Components
components/hackathons/hackathonBanner.tsx, components/hackathons/hackathonStickyCard.tsx
Added optional submissionDeadlineExtendedAt prop to both components and implemented conditional rendering of "Extended" badges when the prop is truthy and status is ongoing.
Submission Deadline Extension Data Flow
app/(landing)/hackathons/[slug]/HackathonPageClient.tsx
Propagated submissionDeadlineExtendedAt from currentHackathon into sharedActionProps for consumption by downstream components.
Design Documentation
app/(landing)/hackathons/[slug]/hackathon-detail-design.md
Added blank lines after "Included in the Figma file:" and "Design Goals" headers for increased vertical spacing.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

Suggested reviewers

  • 0xdevcollins

Poem

🐰 A deadline extended, oh what a sight!
Badges now twinkle with Extended light,
Old dashboards fade, data paths dance anew,
Props flow like carrots through hackathon hue,
Our feature hops forward, clean and just right! 🥕

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'minor fixes' is too vague and generic. It does not convey meaningful information about the changeset, which includes adding submission deadline extension tracking, removing dashboard pages, and reorganizing files. Replace with a specific title that describes the main change, such as 'Add submission deadline extension support to hackathons' or 'Refactor dashboard and update hackathon deadline handling'.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ 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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

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

Inline comments:
In `@lib/api/hackathons.ts`:
- Line 350: Add the missing optional field to the Hackathon type definition: in
types/hackathon/core.ts update the Hackathon (or related) interface where
submissionDeadline is declared (around the field list near line 215) to include
submissionDeadlineExtendedAt?: string | null; placed immediately after
submissionDeadline so the type matches lib/api/hackathons.ts and preserves
cross-file consistency.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4994fbc0-f175-4f2c-91d4-3ddfd62c5a60

📥 Commits

Reviewing files that changed from the base of the PR and between 560a0cb and 5804f66.

📒 Files selected for processing (10)
  • app/(landing)/hackathons/[slug]/HackathonPageClient.tsx
  • app/(landing)/hackathons/[slug]/hackathon-detail-design.md
  • app/dashboard/page copy.tsx
  • app/dashboard/page.tsx
  • components/dashboard-content.tsx
  • components/hackathons/hackathonBanner.tsx
  • components/hackathons/hackathonStickyCard.tsx
  • data/data.json
  • lib/api/hackathon.ts
  • lib/api/hackathons.ts
💤 Files with no reviewable changes (3)
  • app/dashboard/page.tsx
  • app/dashboard/page copy.tsx
  • lib/api/hackathon.ts


startDate: string; // ISO date
submissionDeadline: string; // ISO date
submissionDeadlineExtendedAt?: string | null;
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if types/hackathon/core.ts also needs to be updated with submissionDeadlineExtendedAt
echo "=== Checking types/hackathon/core.ts for Hackathon type ==="
rg -n "submissionDeadlineExtendedAt" --type=ts

echo ""
echo "=== Checking which Hackathon type is imported in HackathonPageClient ==="
rg -n "import.*Hackathon" app/\(landing\)/hackathons/\[slug\]/HackathonPageClient.tsx

echo ""
echo "=== Checking useHackathonData return type definition ==="
ast-grep --pattern 'export function useHackathonData($$$) {
  $$$
}'

Repository: boundlessfi/boundless

Length of output: 1988


🏁 Script executed:

#!/bin/bash
# Find all files related to hackathon types
echo "=== Finding hackathon-related type files ==="
fd -t f -e ts -e tsx "hackathon" types/ 2>/dev/null | head -20

echo ""
echo "=== Check if types/hackathon/core.ts exists ==="
ls -la types/hackathon/ 2>/dev/null || echo "Directory not found"

echo ""
echo "=== Get the Hackathon type definition from lib/api/hackathons.ts (context around line 350) ==="
sed -n '330,370p' lib/api/hackathons.ts

Repository: boundlessfi/boundless

Length of output: 1676


🏁 Script executed:

#!/bin/bash
# Read the entire types/hackathon/core.ts file
echo "=== Content of types/hackathon/core.ts ==="
cat -n types/hackathon/core.ts

Repository: boundlessfi/boundless

Length of output: 9142


🏁 Script executed:

#!/bin/bash
# Check the complete hackathons.ts file structure and imports
echo "=== First 100 lines of lib/api/hackathons.ts ==="
head -n 100 lib/api/hackathons.ts

echo ""
echo "=== Check what Hackathon type is exported from lib/api/hackathons.ts ==="
rg -n "export.*Hackathon\|import.*Hackathon.*from" lib/api/hackathons.ts | head -20

Repository: boundlessfi/boundless

Length of output: 2628


🏁 Script executed:

#!/bin/bash
# Get lines around the Hackathon type definition
echo "=== Lines 320-400 of lib/api/hackathons.ts ==="
sed -n '320,400p' lib/api/hackathons.ts

echo ""
echo "=== Check if types/hackathon/core.ts Hackathon is imported anywhere ==="
rg -n "from.*types/hackathon" lib/api/hackathons.ts

echo ""
echo "=== Check where submissionDeadlineExtendedAt is used in components ==="
rg -B2 -A2 "submissionDeadlineExtendedAt" components/ --type=ts --type=tsx | head -40

Repository: boundlessfi/boundless

Length of output: 1820


🏁 Script executed:

#!/bin/bash
# Check where submissionDeadlineExtendedAt is used in components without tsx flag
echo "=== Where submissionDeadlineExtendedAt is used ==="
rg -B1 -A1 "submissionDeadlineExtendedAt" --type=ts

echo ""
echo "=== Check which Hackathon type is imported in HackathonPageClient ==="
head -n 30 app/\(landing\)/hackathons/\[slug\]/HackathonPageClient.tsx

echo ""
echo "=== Check useHackathonData function in hackathonProvider ==="
rg -B3 -A15 "export.*function.*useHackathonData" lib/

Repository: boundlessfi/boundless

Length of output: 4375


🏁 Script executed:

#!/bin/bash
# Check if types/hackathon/core.ts Hackathon is imported in the codebase
echo "=== Imports of types/hackathon/core.ts Hackathon ==="
rg "from.*types/hackathon" --type=ts | head -20

echo ""
echo "=== Check hackathonProvider implementation ==="
cat -n lib/providers/hackathonProvider.tsx | head -100

Repository: boundlessfi/boundless

Length of output: 4054


Update types/hackathon/core.ts to include the new submissionDeadlineExtendedAt field for type consistency.

The submissionDeadlineExtendedAt?: string | null; field has been added to the Hackathon type in lib/api/hackathons.ts, but the equivalent Hackathon type in types/hackathon/core.ts (lines 171–301) is missing this field. While the current code works because hackathonProvider imports from lib/api/hackathons, the inconsistency between the two type definitions can cause confusion and should be resolved. Update types/hackathon/core.ts line 215 to include:

submissionDeadlineExtendedAt?: string | null;

after the submissionDeadline field.

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

In `@lib/api/hackathons.ts` at line 350, Add the missing optional field to the
Hackathon type definition: in types/hackathon/core.ts update the Hackathon (or
related) interface where submissionDeadline is declared (around the field list
near line 215) to include submissionDeadlineExtendedAt?: string | null; placed
immediately after submissionDeadline so the type matches lib/api/hackathons.ts
and preserves cross-file consistency.

@Benjtalkshow Benjtalkshow merged commit 3f04fbb into boundlessfi:main Mar 9, 2026
7 of 8 checks passed
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.

1 participant