





---

## 🖥 Frontend App (`app.fellies.art`)

### Commission Pricing & Display

- [x] Commission pricing overview page
  - [x] Display commission types as cards
  - [x] Show base options (headshot, halfbody, fullbody)
  - [x] Show extras (backgrounds, NSFW, complexity, etc.)
  - [x] Use `€` currency and place symbol **after** price
  - [x] Include example images per type
  - [x] Collapsible image section (individual per card)
  - [x] Fix equal-height card issue (use natural height)

### Commission Ordering Form

- [x] Build commission ordering form
  - [x] Use `react-hook-form` and `zod` for validation
  - [x] Dynamically update form based on selected commission type
  - [x] Show calculated total price
  - [x] Support selecting:
    - [x] Body option (headshot, halfbody, fullbody)
    - [x] Extras (toggle and range input)
    - [x] Contact info (email, handle, etc.)
    - [x] Description / project notes
    - [x] File upload for reference images
  - [ ] Preview summary with price (🚧 basic version shown; styled preview TBD)
  - [x] Dynamically render custom fields per selected commission type

### TOS / Info

- [ ] Add Terms of Service (TOS) section
  - [ ] Styled output from Markdown or HTML
  - [ ] Editable via admin
- [ ] Add “Will draw / Won’t draw” section
  - [ ] Display below form or in collapsible panel
  - [ ] Editable via admin

### UI / Theme

- [ ] Dark/light theme toggle (`next-themes`)
  - [ ] Violet-tinted dark theme
  - [ ] Neutral grey light theme


---

## 🛠 Admin App (`admin.fellies.art`)

### Commission Type Management

- [x] Manage commission types
  - [x] Create/edit name, description
  - [ ] Upload & sort example images
  - [x] Set sort index (drag and drop)

- [x] Manage commission options (e.g. headshot)
  - [x] Set base price per type
  - [x] Reordering support

- [x] Manage commission extras (e.g. backgrounds, NSFW)
  - [x] Support price, percentage, range
  - [x] Restrict extras to certain types
  - [x] Reordering support

- [x] Attach options and extras to commission types
  - [x] UI for assigning options/extras
  - [x] Editable price overrides per type

- [x] Manage custom input fields
  - [x] Create/select CommissionCustomInput from shared list
  - [x] Prefill input type and label
  - [x] Attach to type with overrides (label, required, etc.)
  - [x] Store in join table correctly
  - [x] Support sorting

### TOS / Info Management

- [ ] TOS editor (Tiptap)
  - [ ] Markdown + HTML storage
  - [ ] Preview panel
- [ ] “Will draw / Won’t draw” editor
  - [ ] Markdown or tags input
  - [ ] Save both sections independently

### Order Management (future)

- [ ] Commission order list view
  - [ ] View all submissions
  - [ ] Filter by status
  - [ ] Assign status (pending, accepted, done)
  - [ ] Contact user


---

## 🧩 Shared Logic & Utilities

### Data & Generation

- [x] Base mock definitions
  - [x] `commissionTypes`
  - [x] `commissionOptions`
  - [x] `commissionExtras`
- [x] Generate `rawCommissions` using base data
  - [x] Inject price/percentage data
- [ ] Add example image mapping per type

### Types & Validation

- [x] Define `@types/commissions`
  - [x] Type for `CommissionType`, `Option`, `Extra`, `CommissionForm`
- [x] Create `zod` schemas
  - [x] Commission form input schema
  - [x] Type/extras validation
  - [x] Custom field input schema
  - [x] Admin-side validation schema

### Helpers

- [x] Price calculation utilities
  - [x] Handle fixed/percent/range extras
  - [x] Return itemized breakdown
- [ ] Order-to-submission transformer
  - [ ] Format data for admin review
- [ ] Utility to generate total price summary




### Admin Panel
- [x] Commission type create/edit form
- [ ] Commission option/extra CRUD UI
- [ ] View list of commission requests
- [ ] View single request details
- [ ] Update request status (pending, accepted, rejected, etc.)
- [ ] Filter and sort commission requests
- [ ] View submitted files / references
- [ ] Tag, flag, or star requests for tracking
- [ ] Delete / archive requests

### Backend & Actions
- [ ] Submit commission request server action
- [ ] Upload reference image(s) action
- [ ] Create YCH offer action
- [ ] Claim YCH slot action
- [ ] Send confirmation email (optional)
- [ ] Notify artist via email or admin panel
- [ ] Export commission request to JSON or PDF (optional)

### Extras
- [ ] Kanban-style board for request tracking
- [ ] Queue page (public or admin)
- [x] Markdown/WYSIWYG editor for ToS and descriptions
- [ ] Analytics for commission activity
- [ ] iCal or Notion export
- [ ] Stripe or Ko-fi payment integration