feat: sub-category field for tasks #88

Closed
opened 2026-03-25 15:51:52 +00:00 by barrettruth · 0 comments
barrettruth commented 2026-03-25 15:51:52 +00:00

Problem

Categories are broad groupings (UVA, personal, work) but lack granularity. A task in UVA might be for RUTR 2730, CS 3100, or general admin — no way to distinguish.

Solution

Add a `subcategory` text field to tasks. Renders in bracket notation `[RUTR 2730]` alongside category. Filterable via sidebar and URL params, searchable via `/`. Autocomplete from existing values in the create drawer and task detail.

This is NOT a multi-tag system — one subcategory per task, just like category. Stored as a nullable text column on `tasks`.

Schema

```
subcategory: text("subcategory")
```

Rendering

  • Queue: `[RUTR 2730]` after description, before category column
  • Kanban: in card metadata row
  • Calendar: omit (space constrained)

Filtering

  • Sidebar: show subcategories grouped under their parent category
  • URL: `?subcategory=RUTR+2730`
  • `/` search matches subcategory text

UI

  • Task detail: text input with autocomplete from existing subcategories
  • Create drawer: text input with autocomplete
## Problem Categories are broad groupings (UVA, personal, work) but lack granularity. A task in UVA might be for RUTR 2730, CS 3100, or general admin — no way to distinguish. ## Solution Add a \`subcategory\` text field to tasks. Renders in bracket notation \`[RUTR 2730]\` alongside category. Filterable via sidebar and URL params, searchable via \`/\`. Autocomplete from existing values in the create drawer and task detail. This is NOT a multi-tag system — one subcategory per task, just like category. Stored as a nullable text column on \`tasks\`. ### Schema \`\`\` subcategory: text("subcategory") \`\`\` ### Rendering - Queue: \`[RUTR 2730]\` after description, before category column - Kanban: in card metadata row - Calendar: omit (space constrained) ### Filtering - Sidebar: show subcategories grouped under their parent category - URL: \`?subcategory=RUTR+2730\` - \`/\` search matches subcategory text ### UI - Task detail: text input with autocomplete from existing subcategories - Create drawer: text input with autocomplete
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/delta#88
No description provided.