oficina / fichas Public

feat/account-dropup

.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 +87 −0
AGENTS.md

Loading diff…

CLAUDE.md +5 −0
CLAUDE.md

Loading diff…

Makefile +124 −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/mockups/card-layout.html +79 −0
docs/mockups/card-layout.html

Loading diff…

docs/mockups/cards.html +108 −0
docs/mockups/cards.html

Loading diff…

docs/mockups/database.html +127 −0
docs/mockups/database.html

Loading diff…

docs/mockups/edit.html +83 −0
docs/mockups/edit.html

Loading diff…

docs/mockups/field.html +60 −0
docs/mockups/field.html

Loading diff…

docs/mockups/index.html +78 −0
docs/mockups/index.html

Loading diff…

docs/mockups/proposed.css +230 −0
docs/mockups/proposed.css

Loading diff…

docs/mockups/show.html +114 −0
docs/mockups/show.html

Loading diff…

docs/mockups/src/_shared.html +36 −0
docs/mockups/src/_shared.html

Loading diff…

docs/mockups/src/card-layout.html +34 −0
docs/mockups/src/card-layout.html

Loading diff…

docs/mockups/src/cards.html +26 −0
docs/mockups/src/cards.html

Loading diff…

docs/mockups/src/database.html +36 −0
docs/mockups/src/database.html

Loading diff…

docs/mockups/src/edit.html +25 −0
docs/mockups/src/edit.html

Loading diff…

docs/mockups/src/field.html +21 −0
docs/mockups/src/field.html

Loading diff…

docs/mockups/src/index.html +24 −0
docs/mockups/src/index.html

Loading diff…

docs/mockups/src/show.html +56 −0
docs/mockups/src/show.html

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 +42 −0
go.mod

Loading diff…

go.sum +101 −0
go.sum

Loading diff…

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

Loading diff…

internal/fichas/auth.go +197 −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 +372 −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 +238 −0
internal/fichas/config.go

Loading diff…

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

Loading diff…

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

Loading diff…

internal/fichas/handlers_schema.go +253 −0
internal/fichas/handlers_schema.go

Loading diff…

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

Loading diff…

internal/fichas/index.go +565 −0
internal/fichas/index.go

Loading diff…

internal/fichas/index_test.go +263 −0
internal/fichas/index_test.go

Loading diff…

internal/fichas/list.go +262 −0
internal/fichas/list.go

Loading diff…

internal/fichas/migrations.go +54 −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/0003_alter_card_types.sql +4 −0
internal/fichas/migrations/0003_alter_card_types.sql

Loading diff…

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

Loading diff…

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

Loading diff…

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

Loading diff…

internal/fichas/print.go +86 −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 +488 −0
internal/fichas/read.go

Loading diff…

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

Loading diff…

internal/fichas/schema.go +445 −0
internal/fichas/schema.go

Loading diff…

internal/fichas/schema_test.go +185 −0
internal/fichas/schema_test.go

Loading diff…

internal/fichas/seal/bench_test.go +47 −0
internal/fichas/seal/bench_test.go

Loading diff…

internal/fichas/seal/seal.go +212 −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/busy.css +47 −0
internal/fichas/static/busy.css

Loading diff…

internal/fichas/static/busy.js +252 −0
internal/fichas/static/busy.js

Loading diff…

internal/fichas/static/chrome.css +292 −0
internal/fichas/static/chrome.css

Loading diff…

internal/fichas/static/chrome.js +82 −0
internal/fichas/static/chrome.js

Loading diff…

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

Loading diff…

internal/fichas/static/fichas.css +245 −0
internal/fichas/static/fichas.css

Loading diff…

internal/fichas/static/live.js +114 −0
internal/fichas/static/live.js

Loading diff…

internal/fichas/static/menu.css +147 −0
internal/fichas/static/menu.css

Loading diff…

internal/fichas/static/rastrillo.js +211 −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/shortcuts.js +40 −0
internal/fichas/static/shortcuts.js

Loading diff…

internal/fichas/static/sky.css +76 −0
internal/fichas/static/sky.css

Loading diff…

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

Loading diff…

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

Loading diff…

internal/fichas/store.go +445 −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 +18 −0
internal/fichas/templates/card_delete.html

Loading diff…

internal/fichas/templates/card_edit.html +17 −0
internal/fichas/templates/card_edit.html

Loading diff…

internal/fichas/templates/card_layout.html +35 −0
internal/fichas/templates/card_layout.html

Loading diff…

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

Loading diff…

internal/fichas/templates/card_show.html +49 −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/field_edit.html +18 −0
internal/fichas/templates/field_edit.html

Loading diff…

internal/fichas/templates/field_new.html +24 −0
internal/fichas/templates/field_new.html

Loading diff…

internal/fichas/templates/fields.html +27 −0
internal/fichas/templates/fields.html

Loading diff…

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

Loading diff…

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

Loading diff…

internal/fichas/templates/partials.html +25 −0
internal/fichas/templates/partials.html

Loading diff…

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

Loading diff…

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

Loading diff…

internal/fichas/templates/type_new.html +12 −0
internal/fichas/templates/type_new.html

Loading diff…

internal/fichas/urls.go +97 −0
internal/fichas/urls.go

Loading diff…

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

Loading diff…

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

Loading diff…

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

Loading diff…

internal/fichastest/designer_test.go +141 −0
internal/fichastest/designer_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/markup_test.go +87 −0
internal/fichastest/markup_test.go

Loading diff…

internal/fichastest/rastrillo_path_test.go +111 −0
internal/fichastest/rastrillo_path_test.go

Loading diff…

internal/fichastest/signin_flow_test.go +218 −0
internal/fichastest/signin_flow_test.go

Loading diff…

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

Loading diff…

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

Loading diff…

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

Loading diff…

scripts/mockups/main.go +206 −0
scripts/mockups/main.go

Loading diff…

scripts/preview/main.go +130 −0
scripts/preview/main.go

Loading diff…

scripts/writeestilo/main.go +39 −0
scripts/writeestilo/main.go

Loading diff…