oficina / fichas Public

theme-calma

.amadan/ci +6 −0
.amadan/ci

Loading diff…

.amadan/ci.d/10-vet +2 −0
.amadan/ci.d/10-vet

Loading diff…

.amadan/ci.d/20-fmt +2 −0
.amadan/ci.d/20-fmt

Loading diff…

.amadan/ci.d/30-test +2 −0
.amadan/ci.d/30-test

Loading diff…

.amadan/ci.d/40-migration-check +2 −0
.amadan/ci.d/40-migration-check

Loading diff…

.gitignore +8 −0
.gitignore

Loading diff…

AGENTS.md +73 −0
AGENTS.md

Loading diff…

CLAUDE.md +5 −0
CLAUDE.md

Loading diff…

Makefile +113 −0
Makefile

Loading diff…

README.md +122 −0
README.md

Loading diff…

cmd/fichas/main.go +87 −0
cmd/fichas/main.go

Loading diff…

docs/superpowers/specs/2026-09-19-fichas-design.md +280 −24
docs/superpowers/specs/2026-09-19-fichas-design.md

Loading diff…

go.mod +41 −0
go.mod

Loading diff…

go.sum +99 −0
go.sum

Loading diff…

internal/fichas/app.go +131 −0
internal/fichas/app.go

Loading diff…

internal/fichas/auth.go +196 −0
internal/fichas/auth.go

Loading diff…

internal/fichas/auth_navigation.go +120 −0
internal/fichas/auth_navigation.go

Loading diff…

internal/fichas/auth_navigation_test.go +122 −0
internal/fichas/auth_navigation_test.go

Loading diff…

internal/fichas/catalogue.go +264 −0
internal/fichas/catalogue.go

Loading diff…

internal/fichas/catalogue_test.go +218 −0
internal/fichas/catalogue_test.go

Loading diff…

internal/fichas/config.go +174 −0
internal/fichas/config.go

Loading diff…

internal/fichas/config_test.go +200 −0
internal/fichas/config_test.go

Loading diff…

internal/fichas/handlers.go +288 −0
internal/fichas/handlers.go

Loading diff…

internal/fichas/icons/icons.go +47 −0
internal/fichas/icons/icons.go

Loading diff…

internal/fichas/migrations.go +42 −0
internal/fichas/migrations.go

Loading diff…

internal/fichas/migrations/0001_init.sql +68 −0
internal/fichas/migrations/0001_init.sql

Loading diff…

internal/fichas/migrations/0002_immutable_entries.sql +43 −0
internal/fichas/migrations/0002_immutable_entries.sql

Loading diff…

internal/fichas/migrations/schema.sql +71 −0
internal/fichas/migrations/schema.sql

Loading diff…

internal/fichas/models.go +346 −0
internal/fichas/models.go

Loading diff…

internal/fichas/models_test.go +137 −0
internal/fichas/models_test.go

Loading diff…

internal/fichas/print.go +84 −0
internal/fichas/print.go

Loading diff…

internal/fichas/print_test.go +76 −0
internal/fichas/print_test.go

Loading diff…

internal/fichas/read.go +336 −0
internal/fichas/read.go

Loading diff…

internal/fichas/render.go +87 −0
internal/fichas/render.go

Loading diff…

internal/fichas/seal/seal.go +182 −0
internal/fichas/seal/seal.go

Loading diff…

internal/fichas/seal/seal_test.go +128 −0
internal/fichas/seal/seal_test.go

Loading diff…

internal/fichas/seal/vectors_test.go +72 −0
internal/fichas/seal/vectors_test.go

Loading diff…

internal/fichas/static/brand/LICENSE.lucide +43 −0
internal/fichas/static/brand/LICENSE.lucide

Loading diff…

internal/fichas/static/brand/apple-touch-icon.png binary
internal/fichas/static/brand/apple-touch-icon.png

Loading diff…

internal/fichas/static/brand/brand.css +19 −0
internal/fichas/static/brand/brand.css

Loading diff…

internal/fichas/static/brand/icon-32.png binary
internal/fichas/static/brand/icon-32.png

Loading diff…

internal/fichas/static/brand/icon.svg +1 −0
internal/fichas/static/brand/icon.svg

Loading diff…

internal/fichas/static/datetime.js +1338 −0
internal/fichas/static/datetime.js

Loading diff…

internal/fichas/static/rastrillo.js +337 −0
internal/fichas/static/rastrillo.js

Loading diff…

internal/fichas/static/select.js +280 −0
internal/fichas/static/select.js

Loading diff…

internal/fichas/static/theme.css +99 −0
internal/fichas/static/theme.css

Loading diff…

internal/fichas/static/tokens.css +1664 −0
internal/fichas/static/tokens.css

Loading diff…

internal/fichas/store.go +413 −0
internal/fichas/store.go

Loading diff…

internal/fichas/store_test.go +364 −0
internal/fichas/store_test.go

Loading diff…

internal/fichas/templates/card_delete.html +16 −0
internal/fichas/templates/card_delete.html

Loading diff…

internal/fichas/templates/card_new.html +20 −0
internal/fichas/templates/card_new.html

Loading diff…

internal/fichas/templates/card_show.html +53 −0
internal/fichas/templates/card_show.html

Loading diff…

internal/fichas/templates/errors.html +9 −0
internal/fichas/templates/errors.html

Loading diff…

internal/fichas/templates/index.html +32 −0
internal/fichas/templates/index.html

Loading diff…

internal/fichas/templates/layout.html +31 −0
internal/fichas/templates/layout.html

Loading diff…

internal/fichas/templates/signin.html +26 −0
internal/fichas/templates/signin.html

Loading diff…

internal/fichastest/browser_test.go +53 −0
internal/fichastest/browser_test.go

Loading diff…

internal/fichastest/fontlink_test.go +24 −0
internal/fichastest/fontlink_test.go

Loading diff…

internal/fichastest/gates_test.go +143 −0
internal/fichastest/gates_test.go

Loading diff…

internal/fichastest/harness_test.go +114 −0
internal/fichastest/harness_test.go

Loading diff…

internal/fichastest/index_test.go +77 −0
internal/fichastest/index_test.go

Loading diff…

internal/fichastest/signin_test.go +102 −0
internal/fichastest/signin_test.go

Loading diff…

internal/fichastest/surface_test.go +138 −0
internal/fichastest/surface_test.go

Loading diff…

internal/fichastest/vendored_test.go +74 −0
internal/fichastest/vendored_test.go

Loading diff…

scripts/writetheme/main.go +21 −0
scripts/writetheme/main.go

Loading diff…