Commit graph

427 commits

Author SHA1 Message Date
5be645f4e5
style admin texts page with card list and form
apply the page shell to the admin texts page and present each
existing text as a card-link plus the new-text form as a card with
a primary submit button. ids (#texts-list, #newTextName, #submit,
#back) and the name attribute on the input are preserved so the
existing cypress flows continue to work.
2026-05-01 11:32:21 +03:00
2349e69c4f
style today page with shell and card list
wrap the today page in the shared header + container/stack shell,
render scheduled nodes as cards via list-cards, and add a muted
empty-state message that toggles when no nodes are scheduled.
existing #scheduled-nodes-list and li selectors used by cypress
tests are preserved (the empty message lives in its own element).
2026-05-01 11:31:55 +03:00
807458ebe8
style home page with shell and card list
apply the new design system to the home page: wrap content in a
container/stack shell with a site-header for the logout and today
links, render the texts list as a vertical stack of cards via the
list-cards primitive, and dress the create plan modal with the new
modal/btn classes. js renders each text as an li.card with the
create-plan button preserved so existing cypress hooks (li,
.create-plan, .plan-name, .save-plan, .cancel-plan, ids) keep
matching.
2026-05-01 11:25:45 +03:00
b259a1243e
add layout primitives and components to app.css
extend app.css with the every-layout style primitives (container,
stack, cluster, center) used to compose page shells, plus a small
component layer: site-header, btn (primary/secondary/danger), card
and card-link, list-cards, modal, error and a few utility classes.
no template changes here - templates start adopting these classes
in the per-page styling commits that follow.
2026-05-01 11:24:58 +03:00
d4a8adc4a4
link app.css and add viewport meta in templates
add a stylesheet link and the standard responsive viewport meta tag
to every page template. purely additive - no markup or selector
changes - so existing cypress assertions and page js id hooks remain
intact. with this commit every page picks up the base styling from
app.css.
2026-05-01 11:24:30 +03:00
34da76607f
add app.css with reset and design tokens
introduce a single shared stylesheet under public/css. this first
section covers a minimal reset, warm/readable design tokens (color,
typography, spacing, radii, shadows), and base element styling for
headings, links, lists, forms, and buttons. layout primitives and
component classes follow in subsequent commits.
2026-05-01 11:23:41 +03:00
d885319597
remove wrong caveman plugin 2026-05-01 11:19:49 +03:00
8d46a4158e
fix caveman json file 2026-05-01 11:14:09 +03:00
cd2f688372
remove unused import 2026-05-01 10:58:23 +03:00
38d72ba1a8
Merge branch 'today-scheduled-nodes-page' 2026-05-01 10:54:51 +03:00
7091eefd4a
add caveman ai plugin config 2026-05-01 10:52:56 +03:00
ed4440eec2
test scheduled node controller returns 404 when user missing 2026-05-01 10:25:24 +03:00
f315db6d00
wrap get todays schedule in try catch 2026-05-01 10:25:00 +03:00
659f9b88f1
test scheduled node controller surfaces date error from use case 2026-05-01 10:24:43 +03:00
2eafe67f31
test scope schedule to requesting user 2026-05-01 10:19:03 +03:00
3711840669
test exclude future scheduled nodes 2026-05-01 10:18:47 +03:00
54e33f9b03
test empty schedule returns empty array 2026-05-01 10:18:32 +03:00
c0f35c88b7
throw on missing user in get todays schedule 2026-05-01 10:18:19 +03:00
dd217e4142
test get todays schedule missing user 2026-05-01 10:18:02 +03:00
120e5ee9a1
validate get todays schedule user id 2026-05-01 10:17:49 +03:00
6d0b5d61e1
test get todays schedule null user id 2026-05-01 10:17:38 +03:00
f0fd076fb9
validate get todays schedule date 2026-05-01 10:17:24 +03:00
4e2904a2b4
test get todays schedule null date 2026-05-01 10:17:10 +03:00
c9f1379496
remove default values from test helpers 2026-05-01 10:05:07 +03:00
8b5767e6f4
add no default parameters rule
Forcing every call site to be explicit eliminates a class of bugs where an unintended default silently slips through. Codifies the convention already established by prior commits (cd40483, b41652a, 8eb0f23).
2026-05-01 10:04:32 +03:00
4294521dfc
add scheduled nodes endpoint 2026-05-01 09:59:18 +03:00
636d2dc517
test get scheduled nodes endpoint 2026-05-01 09:58:28 +03:00
0c76773ef0
opencode config 2026-05-01 09:57:20 +03:00
7ec91e3869
reformat ai files 2026-05-01 09:56:25 +03:00
669bcf8d5e
style 2026-05-01 09:56:14 +03:00
e04931ac08
test that todays schedule only returns uncompleted nodes 2026-05-01 09:06:13 +03:00
8eeff2c4fe
add update method to fake scheduled node repo 2026-05-01 09:05:55 +03:00
1b2e44389c
add completed bool to scheduled node 2026-05-01 09:04:18 +03:00
f2840a3eb1
add find by user method in json scheduled node repo 2026-05-01 09:03:52 +03:00
07e34ffd46
add find by user method in plan repo 2026-05-01 09:02:34 +03:00
ec4dca87a6
test that all nodes up until given date are returned 2026-04-28 22:48:25 +03:00
2047cd72e7
test get todays schedule and use case with request 2026-04-28 22:38:43 +03:00
0ea300f4d2
add find by user method for scheduled nodes 2026-04-28 22:37:28 +03:00
a9265abeae
add node to scheduled node 2026-04-27 09:28:43 +03:00
d47a0235d2
add node to scheduled node entity and dto 2026-04-27 09:10:40 +03:00
46d01aa813
test today page lists scheduled nodes 2026-04-26 21:24:56 +03:00
6314f1c38c
add link to today page on home 2026-04-26 21:24:55 +03:00
bfacb5b62c
add today view route and template 2026-04-26 21:24:35 +03:00
0b4d7238af
add today page cypress spec 2026-04-26 20:50:52 +03:00
8eb0f2366b
remove missed default value 2026-04-26 20:43:27 +03:00
041590da15
Merge branch 'auth-and-admin' 2026-04-26 20:05:31 +03:00
b41652af71
remove default value in fake token generator 2026-04-26 10:51:03 +03:00
cd40483cd4
remove default values from user constructors
Forcing every call site to be explicit about admin status and
password eliminates a class of bugs where an unintended
isAdmin=false or empty passwordHash could silently slip through.
The CreateUserTest case that asserted the isAdmin default is
dropped since the default no longer exists.
2026-04-26 10:46:07 +03:00
f95adddaaf
fix code style in test files 2026-04-26 10:45:57 +03:00
13da7c311a
return utc from clock 2026-04-26 10:32:08 +03:00