Commit Graph

12 Commits

Author SHA1 Message Date
sultan
32378c342c Restrict delete to Абделазиз, move done tasks to archive
- The delete button is now director-only via CSS + JS guard.
- The main tasks table only shows active tasks (not done).
- A collapsible "Архив" section lists completed tasks (employees
  see their own; Абделазиз sees everyone's). Each archived row
  has "↺ Вернуть" and progress access; delete is director-only.
- Department charts are now director-only too.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 09:27:54 +05:00
sultan
2933fe6ccf Fix crooked action-cell rows after progress button
The actions cell was a no-wrap flex container, so the new
"💬 Прогресс" button overflowed sideways and bent the table
lines. Allow wrap, shrink button to icon + count badge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 09:24:40 +05:00
sultan
a20600138e Add progress updates per task
Each task gets an "updates" timeline. Tap "💬 Прогресс" in the
table row to open a wide modal that shows past entries
(author + timestamp + text) and a textarea for a new one.
Only the assignee or Абделазиз can add entries.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 09:22:30 +05:00
sultan
8652214f32 Restrict department analytics to Абделазиз
Hide department KPI card, "Загрузка по сотрудникам" card, and
the assignee filter for non-director sessions. The tasks table
title swaps to "Мои поручения" for employees. Calendar dots and
the upcoming-tasks widget now show only the current user's
tasks when not director.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 09:17:58 +05:00
sultan
f32d156e48 Fix role detection: compare to Абделазиз not legacy Директор
applySession was still checking the old name, so Абделазиз was
classified as employee and the create-task menu item stayed
hidden.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 09:13:22 +05:00
sultan
f51d1f12c1 Rename Director to Абделазиз, per-user passwords, profile modal
- Replace 'Директор' employee with 'Абделазиз' (director role).
- Seed unique simple temporary passwords for every employee in
  localStorage on first run. Existing sessions/usernames migrated.
- Login now requires a password for every employee.
- Add personal cabinet (modal) reachable via the user chip with a
  change-password form (current + new + confirm, min 4 chars).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 09:07:27 +05:00
sultan
46f21c2ee2 Add login flow and director-only create button
Login overlay on first visit. Pick employee from list; director
requires password (demo: 1234). Session persists in localStorage.

The "Create task" menu item and form are gated to the director
role. Employees are redirected away from #/create. Top bar shows
a user chip with avatar, name, role, and logout button.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 09:03:56 +05:00
sultan
d6102f354a Add upcoming tasks widget right of calendar
Two-column row: calendar | upcoming tasks (top 6 by deadline).
Color-coded by overdue / due soon / normal. Priority dot on right.
Click an item to filter analytics by that deadline.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 20:16:52 +05:00
sultan
cc05070714 Shrink calendar widget to half width
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 20:11:40 +05:00
sultan
ba7369eeaf Add calendar widget on home view
Mini month calendar below clock/weather. Highlights today,
shows dots on dates with active task deadlines. Click a day
to filter analytics table by that deadline.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 20:08:38 +05:00
sultan
17059591f6 Polish UI, add icon asset
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 15:50:20 +05:00
sultan
57af72f514 Build sultan MVP: home/create/analytics, Apple-style UI
- Home: clock (Asia/Almaty), Open-Meteo weather for Astana, Google News
  via rss2json proxy filtered for "Казахтелеком"/"Қазақтелеком"/связь Казахстан.
- Create: minimal form (title/deadline/assignee/direction/description)
  with Flatpickr ru-locale, auto-priority from deadline, toast on save.
- Analytics: KPIs, load chips (click → filter), full task table with filters
  and inline actions, 5 Chart.js charts (status/priority/deadlines/directions/timeline).
- Hash routing + burger popover menu, frosted glass topbar.
- Storage: localStorage v6, no backend.
2026-05-22 14:26:18 +05:00