kovakmedya 858c916d95 feat(tasks): personal-scope filter — mine / unassigned / mine+unassigned / all
Multi-tenant teams need a way to focus on their own work without seeing
the whole team's board. Added a server-side filter:

- /tasks?view=mine_or_unassigned (default): own assigned + unassigned
- /tasks?view=mine: only assigned to me
- /tasks?view=unassigned: claimable, unassigned tasks
- /tasks?view=all: full team board (managers / overview)

Implementation:
- Server page reads ?view= query, validates against allowed list,
  filters tasks before passing to the client. Also computes total
  counts (across all rows) for each filter so the dropdown can show
  '(N)' badges that don't change when the user switches views.
- TasksBoard top-bar gets a Select that updates the URL via
  router.push() (preserves Next's full SSR + revalidatePath flow).
- Default-filter URL drops the ?view= param to keep the canonical
  /tasks URL clean.

Card visual cues:
- Tasks assigned to current user get a primary-tinted ring + a 'Bana
  atanmış' badge (replaces the assignee name pill).
- Unassigned tasks get a dashed border + 'Atanmamış' badge so they
  visually invite ownership.

Dashboard:
- 'Açık görevler' metric is now 'Açık görevlerim' — sums only own +
  unassigned tasks. Subtext updates accordingly. Same scoping for
  urgent count. Managers can still see team-wide via /tasks?view=all.
2026-04-30 06:28:25 +03:00
S
Description
No description provided
5.2 MiB
Languages
TypeScript 99.5%
CSS 0.5%