Commit graph

873 commits

Author SHA1 Message Date
Arthur Belleville
c780dd1625
Remove server-side search filtering and implement client-side filtering
This commit moves project search filtering from the server to the
client.
Changes include:

- Remove `Query` field from `ListTablosInput` and related handlers
- Add French date formatting for project cards
- Convert search form to client-side filter with data attributes
- Add empty state message for no search results
- Update button border-radius from 0 to 0.7rem
- Increase air.toml build command to include Tailwind CSS generation
2026-05-10 13:53:23 +02:00
Arthur Belleville
8bcf81a3f1
Add co-located CSS sources and semantic token infrastructure to Go
backend

Create the foundational structure for managing design-system CSS with
co-located sources and semantic tokens:

- Add `cmd/buildstyles` to concatenate ordered CSS sources into a single
  shipped stylesheet
- Define semantic color and effect tokens in `internal/web/ui/base.css`
- Move primitive and catalog CSS sources from `static/css/` to
  co-located locations under `internal/web/ui/`
- Update test contract to verify token presence and proper stylesheet
  generation
- Regenerate `static/styles.css` with new semantic token layer and
  source annotations
2026-05-10 11:47:42 +02:00
Arthur Belleville
0ac8bd0fc9
Update templ 2026-05-10 11:23:48 +02:00
Arthur Belleville
90da6646ea
docs: update css co-location design spec 2026-05-10 11:03:53 +02:00
Arthur Belleville
69a6844324
docs: add css-sources-per-primitive design spec 2026-05-10 10:42:13 +02:00
Arthur Belleville
2e52daa81d
Add space X and space Y to components 2026-05-10 10:38:07 +02:00
Arthur Belleville
b84eff7887
Add spacing, update catalog, and make several improvements to the tablo:
add update
2026-05-10 10:37:47 +02:00
Arthur Belleville
c89f526780
docs: add spacing primitives design spec 2026-05-10 10:04:39 +02:00
Arthur Belleville
cf64404d25
feat: refresh go-backend button variants and tablos styling 2026-05-10 09:22:22 +02:00
Arthur Belleville
a089f35a9b
docs: add go-backend tablo edit color design 2026-05-10 09:21:34 +02:00
Arthur Belleville
c14af76fb2
feat: toggle overview projects with vanilla js 2026-05-09 21:46:56 +02:00
Arthur Belleville
4ac33c77b9
feat: add go-backend design system and tablos UI 2026-05-09 20:18:24 +02:00
Arthur Belleville
bea78ffca7
docs: add go-backend design system design 2026-05-09 15:03:55 +02:00
Arthur Belleville
63882be278
docs: add go-backend tablos index CRUD design 2026-05-08 21:33:51 +02:00
Arthur Belleville
a5ea88b0a6
CI for go-backend on github actions 2026-05-08 16:28:48 +02:00
Arthur Belleville
c4eb878b0e
Split components, add sessions to the DB and make the apercu page 2026-05-08 16:03:54 +02:00
Arthur Belleville
0a38442d88 Build go-backend auth app with Podman dev flow 2026-05-08 12:08:53 +02:00
Arthur Belleville
98952ace6e
Deprecate previous backend 2026-05-07 23:02:29 +02:00
Arthur Belleville
0a647fc7c4
fix: make revenuecat config optional in api 2026-05-06 23:44:02 +02:00
Arthur Belleville
8a99a1a792
Merge pull request #85 from artslidd/in-app-purchases
In app purchases
2026-05-03 09:36:49 +02:00
Arthur Belleville
66fa698e48
feat: add apple billing flow for expo app 2026-05-03 09:28:46 +02:00
Arthur Belleville
5fba42f678
docs: add expo apple iap unified billing design 2026-05-02 16:25:32 +02:00
Arthur Belleville
888bc269ba
Merge pull request #84 from artslidd/work-2
Work 2
2026-05-02 11:21:31 +02:00
Arthur Belleville
eb23d84f8e
Merge branch 'develop' into work-2 2026-05-02 11:21:20 +02:00
Arthur Belleville
e18dd8f017
feat: route client auth through clients app 2026-05-01 11:55:05 +02:00
Arthur Belleville
90d34833e8
Fix config.ts 2026-05-01 10:33:00 +02:00
Arthur Belleville
2cf5eb8789
feat: migrate client portal to magic link auth 2026-05-01 10:11:08 +02:00
Arthur Belleville
06e1114cf8 feat: add client auth helpers and middleware 2026-04-30 18:37:29 +02:00
Arthur Belleville
fda95d9ce4 feat: add client auth tables 2026-04-30 18:33:31 +02:00
Arthur Belleville
f3ea5ac76e
docs: add client magic link auth replacement design 2026-04-30 18:21:38 +02:00
Arthur Belleville
b1e9d74857
fix(types): resolve typecheck errors after is_temporary removal
Some checks are pending
xtablo-ci / Checks (push) Waiting to run
Frontend Sourcemaps / upload-sourcemaps (push) Waiting to run
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-30 17:11:43 +02:00
Arthur Belleville
c56d5718b8
refactor: remove is_temporary flag across the entire codebase
Drop the is_temporary boolean from the DB schema (new migration), types,
API routers/helpers/middleware, and all frontend components and tests.
Access control now relies solely on is_client.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-30 17:04:11 +02:00
Arthur Belleville
4eaa8731c4
fix(api): remove redundant profile soft-delete
profiles.id has ON DELETE CASCADE from auth.users, so calling
auth.admin.deleteUser already removes the profile row. Only the
org soft-delete needs to happen explicitly.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 18:22:36 +02:00
Arthur Belleville
42d5161ab6
chore(db): add deleted_at to profiles and organizations
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 17:45:40 +02:00
Arthur Belleville
a60cd7739a
Merge pull request #82 from artslidd/work-2
Work 2
2026-04-29 15:54:54 +02:00
Arthur Belleville
6c74bb8bcf
fix(expo): harden account deletion handler
- Add isDeletingAccount ref to prevent double-tap race
- Guard against null session before calling API
- Set 15s timeout on delete request (API makes 3-4 Supabase round-trips)
- Log error to console and restore guard in finally block

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 15:51:38 +02:00
Arthur Belleville
ea90d5133c
feat(expo): add account deletion in settings danger zone
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 15:48:27 +02:00
Arthur Belleville
77aaca171d
Merge branch 'main' into work-2 2026-04-29 15:46:46 +02:00
Arthur Belleville
9aa4953ae5
Changes to xtablo app 2026-04-29 15:45:31 +02:00
Arthur Belleville
07d61421b3
fix(api): improve deleteMe handler and test placement
- Use direct cast pattern consistent with rest of file
- Add console.warn/error logging for count query failure and rollback failures
- Move DELETE /me tests to end of suite to avoid ownerUser teardown ordering issue

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 15:45:03 +02:00
Arthur Belleville
e21f82fd8f
feat(api): add DELETE /users/me account deletion endpoint
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 15:40:16 +02:00
Arthur Belleville
a8bae0c1c3
docs: add account deletion implementation plan
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 15:37:14 +02:00
Arthur Belleville
03e1f335bc
docs: add account deletion design spec
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 15:34:46 +02:00
Arthur Belleville
1eace2291b
Remove is_temporary invite flow in favor of is_client client invites
The USE_CLIENT_PASSWORD_INVITES flag was hardcoded true. This removes the
dead else-branch (old is_temporary flow sending users to app.xtablo.com/login)
and always shows the Accès client form that routes new clients through
clients.xtablo.com/set-password with is_client: true.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-28 22:35:15 +02:00
Arthur Belleville
0476a87afd
fix onboarding modal 2026-04-25 10:28:29 +02:00
Arthur Belleville
3fd0f3dcde
Add rum + fix icon in clients.xtablo.com 2026-04-25 09:39:36 +02:00
Arthur Belleville
43349260ac
Merge pull request #80 from artslidd/develop
Develop
2026-04-24 21:08:33 +02:00
Arthur Belleville
3fa3425443
Merge pull request #81 from artslidd/admin-panel
Admin panel
2026-04-24 20:13:42 +02:00
Arthur Belleville
5390028a5c
Target production from admin 2026-04-24 20:12:51 +02:00
Arthur Belleville
1b5dc5cf6f
Merge pull request #79 from artslidd/admin-panel
Admin panel
2026-04-24 17:08:29 +02:00