jason
87cf48e77e
Update README.md
2026-03-08 00:42:48 -06:00
jason
2348336b0f
Merge pull request 'fix: remove default browser body margin causing white border' ( #39 ) from fix/remove-body-margin into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/39
2026-03-08 00:38:56 -06:00
jason
995e607003
fix: remove default browser body margin causing white border
2026-03-08 00:38:38 -06:00
jason
d613c92970
Merge pull request 'feat: add footer with copyright, live dev ticker, and Gitea repo link' ( #38 ) from feature/footer-meta into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/38
2026-03-08 00:36:14 -06:00
jason
981fa3bea4
feat: add footer with copyright, live dev ticker, and Gitea repo link
2026-03-08 00:35:35 -06:00
jason
dc45cb7d83
Merge pull request 'docs: update README with Phase 8 features, expanded roadmap with effort ratings' ( #37 ) from feature/readme-update into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/37
2026-03-08 00:33:39 -06:00
jason
7326ffec6e
docs: update README with Phase 8 features, expanded roadmap with effort ratings
2026-03-08 00:32:35 -06:00
jason
5f0ae959ed
Update client/src/App.jsx
2026-03-08 00:25:11 -06:00
jason
917f5a24af
Merge pull request 'feat: add footer with copyright, Gitea repo link, and live dev ticker' ( #36 ) from feature/footer-meta into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/36
2026-03-08 00:23:15 -06:00
jason
9aa27d7598
Merge pull request 'feat: enhanced demo footer — copyright, Gitea link, live dev-time ticker' ( #35 ) from feature/demo-footer-enhanced into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/35
2026-03-08 00:21:31 -06:00
jason
7e1164af13
feat: add footer with copyright, Gitea repo link, and live dev ticker
...
- © Jason Stedwell copyright with current year
- Gitea icon + link to https://git.alwisp.com/jason/cpas
- Running elapsed time ticker since first commit (2026-03-06T11:33:32)
ticks every second: Xd HHh MMm SSs format
- App layout changed to flex column so footer pins to page bottom
- Footer styles isolated in `sf` object for clarity
2026-03-08 00:21:30 -06:00
jason
232814db93
feat: enhance demo footer with copyright, Gitea link, and live dev-time ticker
2026-03-08 00:19:59 -06:00
jason
87649b59d0
Merge pull request 'fix: add demo/ folder to Dockerfile so /demo route works in container' ( #34 ) from feature/demo-dockerfile into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/34
2026-03-08 00:12:11 -06:00
jason
575c4c57fd
fix: add demo/ folder to Dockerfile COPY so /demo route is served in container
2026-03-08 00:11:18 -06:00
jason
7ef00796bd
feat: serve demo/ folder as static route at /demo
...
Adds express.static middleware for the demo/ directory mounted at /demo,
placed before the SPA catch-all so /demo/index.html resolves to the
standalone stakeholder demo page instead of the React app.
2026-03-07 23:59:00 -06:00
jason
9cbc06f57b
Merge pull request 'feat: add stakeholder demo landing page with synthetic data' ( #33 ) from feature/demo-landing into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/33
2026-03-07 23:40:39 -06:00
jason
76f972562b
feat: add stakeholder demo landing page with synthetic data
2026-03-07 23:27:25 -06:00
jason
b3882322b4
Merge pull request 'feature/department-dropdown' ( #32 ) from feature/department-dropdown into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/32
2026-03-07 23:16:07 -06:00
jason
d8793000fc
feat: replace department text input with preloaded select dropdown
2026-03-07 23:15:15 -06:00
jason
0f31677631
feat: replace department text input with preloaded select dropdown
2026-03-07 23:14:40 -06:00
jason
5d835e6b91
feat: add shared DEPARTMENTS constant
2026-03-07 23:13:26 -06:00
jason
53dcce576a
Merge pull request 'fix: score endpoint now returns total_violations and negated_count' ( #30 ) from feature/ack-signature-and-toasts into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/30
2026-03-07 22:02:34 -06:00
jason
979e9724e0
fix: score endpoint now returns total_violations and negated_count
...
The /api/employees/:id/score endpoint previously only returned data from
the active_cpas_scores view (active_points + violation_count for the 90-day
window). The EmployeeModal score cards reference total_violations and
negated_count which were undefined, causing blank displays.
Now queries the violations table directly for all-time totals alongside
the rolling 90-day active data.
2026-03-07 22:01:35 -06:00
jason
9c4c357cbe
Merge pull request 'feature/ack-signature-and-toasts' ( #29 ) from feature/ack-signature-and-toasts into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/29
2026-03-07 21:47:24 -06:00
jason
da602f69af
docs: update ReadmeModal admin guide for acknowledgment signature and toast notifications
...
- Added acknowledgment signature workflow to "Logging a Violation" section (step 7)
- Added toast notification step to violation logging workflow (step 9)
- Updated Violation History section: amend now includes acknowledged-by/date fields
- Added PDF acknowledgment rendering note to Violation History
- Added "Toast Notifications" as standalone feature section
- Updated Amendable Fields to include acknowledged_by and acknowledged_date
- Updated Immutability Rules table with ack fields
- Moved acknowledgment signature and toast system to Shipped in roadmap
- Removed acknowledgment signature from Near-term (already shipped)
2026-03-07 21:46:30 -06:00
jason
66f59dead3
docs: update README for acknowledgment signature field, toast notifications, and PDF logo refactor
...
- Moved acknowledgment signature field from Proposed to Completed (Phase 7)
- Added toast notification system to Completed (Phase 7)
- Updated Violation Form features with acknowledgment section and toasts
- Updated Employee Profile Modal features with toast notifications
- Added Toast Notification System as standalone feature section
- Updated PDF Generation section: logo loaded from disk, ack rendering
- Updated Amendable Fields table with acknowledged_by and acknowledged_date
- Updated Database Schema section with new violation columns
- Updated Project Structure tree with ToastProvider.jsx and template.js description
- Updated API reference for POST /api/violations to note new fields
2026-03-07 21:44:22 -06:00
jason
ecd3810050
feat: add toast notifications to EmployeeModal for all actions
...
- Toast success/error on PDF download, negate, restore, hard delete
- Toast success on employee edit and violation amendment via modal callbacks
- Error details from API responses included in error toasts
2026-03-07 21:40:36 -06:00
jason
114dbb1166
refactor: load logo from disk instead of hardcoded base64 + add acknowledgment signature rendering
...
- Reads mpm-logo.png from filesystem at startup, converts to base64 data URI dynamically
- Removes massive hardcoded LOGO_B64 constant (~5KB of source code eliminated)
- Falls back gracefully if logo file is not found (dev environments)
- Tries both dist/ and public/ paths for dev vs production compatibility
- Adds acknowledgment rendering: if acknowledged_by is set, shows filled name/date
instead of blank signature lines, with green "Acknowledged" badge on section header
- Blank signature lines still shown when acknowledgment is not provided
2026-03-07 21:39:01 -06:00
jason
b4edcdc945
feat: accept acknowledged_by/acknowledged_date in violation creation and amendment
...
- POST /api/violations now accepts acknowledged_by and acknowledged_date
- Both fields added to AMENDABLE_FIELDS whitelist for post-submission edits
- Acknowledgment data persisted to DB and passed through to PDF generation
2026-03-07 21:32:15 -06:00
jason
8944cc80e0
feat: add auto-migration for acknowledged_by/acknowledged_date columns
2026-03-07 21:31:05 -06:00
jason
8e06c9d576
feat: add acknowledged_by and acknowledged_date columns to violations schema
2026-03-07 21:30:47 -06:00
jason
725dfa2963
feat: add acknowledgment signature fields + toast notifications to ViolationForm
...
- New "Employee Acknowledgment" section with acknowledged_by name and date
- Replaces blank signature line on PDF with recorded acknowledgment
- Toast notifications for submit success/error, PDF download, and validation warnings
- Inline status messages retained as fallback
2026-03-07 21:30:29 -06:00
jason
c4dd658aa7
feat: wrap App with ToastProvider for global notifications
2026-03-07 21:29:05 -06:00
jason
57358dfd21
feat: add Toast notification system
...
- ToastProvider context with useToast hook
- Supports success, error, info, and warning variants
- Auto-dismiss with configurable duration (default 4s)
- Slide-in animation with progress bar
- Stacks up to 5 toasts, oldest dismissed first
- Consistent with dark theme UI
2026-03-07 21:28:45 -06:00
jason
915bca17fd
Merge pull request 'roadmap' ( #28 ) from roadmap into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/28
2026-03-07 19:02:11 -06:00
jason
0920bffc50
docs: restore full README with corrected local image name (cpas not cpas-tracker)
2026-03-07 19:00:02 -06:00
jason
bfa46e93b6
docs: fix local quickstart image name to cpas (not cpas-tracker)
2026-03-07 18:58:28 -06:00
jason
1bc2527c53
Merge pull request 'roadmap' ( #27 ) from roadmap into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/27
2026-03-07 18:56:42 -06:00
jason
281825377f
feat: ReadmeModal — admin usage guide, feature map, workflow reference, roadmap (no install content)
2026-03-07 18:39:01 -06:00
jason
554b39672f
docs: replace Unraid stub with verified working install settings from production server
2026-03-07 18:38:33 -06:00
jason
6390e6077c
Merge pull request 'roadmap' ( #26 ) from roadmap into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/26
2026-03-07 18:35:43 -06:00
jason
84f5124850
docs: rewrite ReadmeModal as admin usage guide — feature map, workflow, tier system, roadmap
2026-03-07 18:33:54 -06:00
jason
db34700996
docs: sync README — add in-app docs to features + completed roadmap phase 6
2026-03-07 18:33:50 -06:00
jason
b5a588e752
docs: update README — add notes/expiration features, new endpoints, updated schema and roadmap
2026-03-07 18:31:14 -06:00
jason
431f31b857
Merge pull request 'roadmap' ( #25 ) from roadmap into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/25
2026-03-07 09:53:15 -06:00
jason
d4638783a4
feat: add Docs button to navbar — opens ReadmeModal slide-in panel
2026-03-07 09:52:16 -06:00
jason
9d4d465755
feat: ReadmeModal — full README rendered in a themed slide-in panel
2026-03-07 09:51:57 -06:00
jason
f8810e1ae5
Merge pull request 'roadmap' ( #24 ) from roadmap into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/24
2026-03-07 09:46:39 -06:00
jason
57d0ac9755
feat: wire ExpirationTimeline and EmployeeNotes into EmployeeModal
2026-03-07 09:44:54 -06:00
jason
328fc6f307
feat: EmployeeNotes component — inline free-text notes with quick-add HR flag tags
2026-03-07 09:43:54 -06:00
jason
37efd596dd
feat: ExpirationTimeline component — per-violation roll-off countdown with tier drop projection
2026-03-07 09:43:31 -06:00
jason
b02464330b
feat: add expiration timeline endpoint and notes field to employee endpoints
2026-03-07 09:42:59 -06:00
jason
be2d1fa68e
feat(db): add notes column to employees table
2026-03-07 09:41:50 -06:00
jason
0a8b6e44d8
docs: update README — mark roadmap items complete, add new features, update schema and API reference
2026-03-07 09:40:34 -06:00
jason
9b80afd54d
Merge pull request 'roadmap' ( #23 ) from roadmap into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/23
2026-03-07 09:30:45 -06:00
jason
970bc0efea
feat: add Audit Log button to Dashboard toolbar
2026-03-07 09:26:33 -06:00
jason
7ee76468c4
feat: wire EditEmployeeModal and AmendViolationModal into EmployeeModal
2026-03-07 09:25:49 -06:00
jason
2525cce03e
feat: AuditLog panel component — filterable, paginated audit trail
2026-03-07 09:24:49 -06:00
jason
15d3f02884
feat: AmendViolationModal — edit non-scoring fields with full diff history
2026-03-07 09:24:13 -06:00
jason
ee91a16506
feat: EditEmployeeModal — edit name/dept/supervisor and merge duplicates
2026-03-07 09:23:39 -06:00
jason
5004c56915
feat: employee edit/merge, violation amendment, audit log endpoints
2026-03-07 09:23:04 -06:00
jason
9b6f2353be
feat(db): add violation_amendments and audit_log tables
2026-03-07 09:22:01 -06:00
jason
5140dbbc25
Merge pull request 'fix: reduce PDF margins and remove redundant puppeteer footer' ( #22 ) from claude into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/22
2026-03-06 23:41:15 -06:00
jason
bcf0e3f3d1
fix: reduce PDF margins and remove redundant puppeteer footer
2026-03-06 23:40:49 -06:00
jason
2bc1740e02
Merge pull request 'feat: redesign PDF template - clean modern layout with inline logo' ( #21 ) from claude into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/21
2026-03-06 23:37:57 -06:00
jason
3977c3652f
feat: redesign PDF template - clean modern layout with inline logo
2026-03-06 23:34:45 -06:00
jason
e19ef255ac
Merge pull request 'fix: dark mode colors in ViolationHistory component' ( #20 ) from claude into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/20
2026-03-06 23:27:24 -06:00
jason
f4f191518c
fix: dark mode colors in ViolationHistory component
2026-03-06 23:26:39 -06:00
jason
69272f71a3
docs: add roadmap section with completed features and proposed enhancements
2026-03-06 23:21:24 -06:00
jason
a6447970ac
docs: update README to reflect current codebase (phases 1-4 complete)
2026-03-06 23:18:28 -06:00
jason
e0170d71f5
Merge pull request 'Upload files to "/"' ( #19 ) from p4-hotfixes into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/19
2026-03-06 18:00:01 -06:00
jason
4bb09997ee
Upload files to "/"
2026-03-06 17:59:48 -06:00
jason
52a57f21b0
Merge pull request 'Upload files to "client/src/components"' ( #18 ) from p4-hotfixes into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/18
2026-03-06 17:43:31 -06:00
jason
3cc62c2746
Upload files to "client/src/components"
2026-03-06 17:43:14 -06:00
jason
47e14ae23b
Merge pull request 'Upload files to "client/src/components"' ( #17 ) from p4-hotfixes into master
...
Reviewed-on: https://git.alwisp.com/jason/cpas/pulls/17
2026-03-06 17:20:42 -06:00
jason
a6d4885a53
Upload files to "client/src/components"
2026-03-06 17:19:57 -06:00
jason
f4869b42b4
Merge pull request 'p4-hotfixes' ( #16 ) from p4-hotfixes into master
...
Reviewed-on: http://10.2.0.2:3000/jason/cpas/pulls/16
2026-03-06 15:44:34 -06:00
jason
98fe9d4a79
Upload files to "client/src/components"
2026-03-06 15:44:15 -06:00
jason
f52af27114
Upload files to "client/src/components"
2026-03-06 15:38:20 -06:00
jason
7ff066011d
Merge pull request 'Upload files to "client/src/components"' ( #15 ) from p4-hotfixes into master
...
Reviewed-on: http://10.2.0.2:3000/jason/cpas/pulls/15
2026-03-06 15:26:06 -06:00
jason
35b4ded10c
Upload files to "client/src/components"
2026-03-06 15:25:48 -06:00
jason
5ef61f6590
Merge pull request 'p4-hotfixes' ( #14 ) from p4-hotfixes into master
...
Reviewed-on: http://10.2.0.2:3000/jason/cpas/pulls/14
2026-03-06 15:01:04 -06:00
jason
cb8c56adfa
Upload files to "pdf"
2026-03-06 15:00:27 -06:00
jason
accb24a286
Upload files to "db"
2026-03-06 14:59:55 -06:00
jason
fdfa0bcf2f
Upload files to "/"
2026-03-06 14:42:12 -06:00
jason
2ac330904d
Merge pull request 'p4-hotfixes' ( #13 ) from p4-hotfixes into master
...
Reviewed-on: http://10.2.0.2:3000/jason/cpas/pulls/13
2026-03-06 14:38:57 -06:00
jason
60e9da488c
Upload files to "pdf"
2026-03-06 14:38:43 -06:00
jason
1a09efbfe5
Upload files to "client/src/components"
2026-03-06 14:38:29 -06:00
jason
de07e77e07
Merge pull request 'Update client/src/components/ViolationForm.jsx' ( #12 ) from p4-hotfixes into master
...
Reviewed-on: http://10.2.0.2:3000/jason/cpas/pulls/12
2026-03-06 14:23:44 -06:00
jason
722f404269
Update client/src/components/ViolationForm.jsx
2026-03-06 14:23:19 -06:00
jason
7db080bd2a
Merge pull request 'Upload files to "client/src/components"' ( #11 ) from p4-hotfixes into master
...
Reviewed-on: http://10.2.0.2:3000/jason/cpas/pulls/11
2026-03-06 14:21:26 -06:00
jason
571c8f2838
Upload files to "client/src/components"
2026-03-06 14:20:57 -06:00
jason
eb07832cc7
Upload files to "client/public/static"
2026-03-06 14:15:05 -06:00
jason
6305cedb14
Delete client/public
2026-03-06 14:14:27 -06:00
jason
f006c015b0
Add client/public
2026-03-06 14:14:11 -06:00
jason
ecc9f3b9f6
Merge pull request 'p4-hotfixes' ( #10 ) from p4-hotfixes into master
...
Reviewed-on: http://10.2.0.2:3000/jason/cpas/pulls/10
2026-03-06 14:13:15 -06:00
jason
066f95cc88
Upload files to "pdf"
2026-03-06 14:12:00 -06:00
jason
2383e3cc94
Upload files to "client/src/components"
2026-03-06 14:11:46 -06:00
jason
8bbfd90f48
Upload files to "client/src"
2026-03-06 14:11:36 -06:00
jason
590aae5cca
Upload files to "/"
2026-03-06 14:11:19 -06:00