Skip to content

Cycle Archive/Management Page #28

@b-at-neu

Description

@b-at-neu

Context

Admins need UI to view all cycles, create new cycles, and set which cycle is active.

Goal

Build admin page at /admin/cycles to manage cycles.

Features

List View:

  • Table/cards showing all cycles (active and inactive)
  • Display: name, active status badge, counts (applications, nominations, endorsements), created date
  • Active cycle visually highlighted
  • "Create New Cycle" button at top
  • For each inactive cycle: "Set Active" button
  • For each cycle: "View Details" link (goes to /cycles/[id])

Create Cycle Modal:

  • Text input for cycle name (required)
  • Two buttons: "Create & Set Active" and "Create as Inactive"
  • "Create & Set Active": Creates cycle with isActive = true, deactivates others
  • "Create as Inactive": Creates cycle with isActive = false

Set Active Flow:

  • Click "Set Active" on inactive cycle
  • Confirmation modal: "This will make [Cycle Name] the active cycle. All new applications will go to this cycle. Continue?"
  • On confirm: Set selected isActive = true, all others isActive = false
  • If cycle has no settings, create default Settings record

Validation:

  • Cycle name required
  • Cannot soft delete active cycle
  • Can soft delete inactive cycles only if no data (applications, nominations, endorsements)

Acceptance Criteria

  • Page at /admin/cycles displays all cycles
  • Shows counts for applications, nominations, endorsements per cycle
  • Active cycle clearly indicated
  • Can create new cycle with name
  • "Create & Set Active" sets new cycle active and deactivates others
  • "Create as Inactive" creates without changing active cycle
  • "Set Active" button on inactive cycles with confirmation
  • Cannot delete active cycle
  • Can delete empty inactive cycles

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions