72 Commits

Author SHA1 Message Date
33f52aad6c Allow prod host through vite preview 2026-04-23 22:41:06 +04:00
da8a7f17a4 Make docker startup work on a cold cache
Frontend: tsc was running before vite, but the routeTree.gen.ts that
the routes import is generated by the Vite plugin at startup — fresh
container had no cache, so tsc failed before vite ever ran. Reverse
the order: vite first (generates routeTree), then tsc --noEmit
validates types.

Backend: run `directus database migrate:latest` before start; the
deployed SQLite is on an old schema (Directus 10.x) and `directus
start` aborts on the missing `searchable` column.

Both services: set CI=true so pnpm doesn't prompt for `node_modules`
purge on a non-TTY container, and use `sh -ec` so a failed step halts
the script instead of falling through to `pnpm run start`.
2026-04-23 22:23:26 +04:00
2fe67960a1 Remove stale per-package lockfiles
Now ignored via .gitignore; the workspace-root pnpm-lock.yaml is the
single source of truth. These files were never tracked in git and
caused --frozen-lockfile to reject installs in the docker containers.
2026-04-23 21:58:59 +04:00
fc59e7e133 Run docker installs from the workspace root
Mounting only ./backend and ./frontend into /app made pnpm look for a
per-package lockfile (stale) and miss the workspace-root one entirely,
so --frozen-lockfile failed and root pnpm.onlyBuiltDependencies didn't
apply. Mount the whole repo at /repo, install with --filter from root,
and use the canonical workspace lockfile. Drop the per-package
onlyBuiltDependencies overrides — pnpm warns they're ignored outside
the workspace root.

Pin node:22-bookworm: node:lts now resolves to Node 24, for which
isolated-vm@5.0.3 has no prebuild and won't compile (V8 headers
require C++20).

Gitignore stray per-package lockfiles so they don't drift again.
2026-04-23 21:57:37 +04:00
39460df61d Fix prod docker build: native modules and frontend devDeps
Per-package onlyBuiltDependencies so pnpm 10 actually compiles native
modules (isolated-vm, argon2, sqlite3, sharp) — root workspace config
isn't visible when compose mounts a single package into /app.

Frontend container now installs with devDeps (so tsc/vite exist),
prunes after build, and gains a `start` script that serves the build
via vite preview on 0.0.0.0:3000.

Drop obsolete compose `version` key.
2026-04-23 21:52:22 +04:00
b481531301 Extract vendor page subcomponents; structured Directus errors
Split the 316-line vendors index into VendorToolbar, VendorGrid,
VendorList, and PerPageSelector under components/vendors/. Page now
owns only search-param state and query orchestration.

Replace generic Error throws in lib/directus.ts with a DirectusError
class carrying status, statusText, collection, url, and parsed body.
Surface useLocalStorage read/write failures via console.warn instead
of swallowing them.
2026-04-23 21:52:15 +04:00
f5f167549f Merge branch 'modernize' 2026-04-23 21:30:45 +04:00
222669acf0 Fall back to lucide ExternalLink for LinkedIn (removed from Simple Icons) 2026-04-23 21:28:52 +04:00
d74710aaa1 Use react-simple-icons for Facebook/LinkedIn/X brand logos 2026-04-23 21:28:13 +04:00
2642d295d4 Drop deprecated baseUrl; resolve paths relative to tsconfig 2026-04-23 21:22:36 +04:00
ecf1afe6e4 Remove TanStack Query and Router devtools 2026-04-23 21:22:24 +04:00
6f8ced6f2f Remove legacy Next.js frontend 2026-04-23 21:21:15 +04:00
0a5f2ba391 Update Makefile: workspace-aware install/rebuild, typecheck and format targets 2026-04-23 21:16:42 +04:00
e89a8175e2 Fix globals fetch to handle singleton collection shape 2026-04-23 21:16:42 +04:00
c8ee8a3ec2 Add 404 and error boundary components wired into router 2026-04-23 21:15:22 +04:00
5b0b0c3430 Add vendor detail page 2026-04-23 21:14:40 +04:00
73a0d24c4f Add vendors listing with search, category filter, grid/list, pagination 2026-04-23 21:14:02 +04:00
8dd618ce88 Switch path alias from @ to ~, add Prettier with organize-imports 2026-04-23 21:13:59 +04:00
d68d780a00 Add home and CMS page routes 2026-04-23 21:11:47 +04:00
128f9d80fb Add layout shell with header, footer, and theme toggle 2026-04-23 21:11:22 +04:00
d5d666c56a Define pnpm workspace and scope dev script to backend and frontend 2026-04-23 21:11:19 +04:00
d50a22a7b8 Add TanStack Router, TanStack Query, Directus client, entity types 2026-04-23 21:09:15 +04:00
46001192be Add Tailwind v4 and shadcn/ui baseline components 2026-04-23 21:07:44 +04:00
abef71e4ab Scaffold new frontend with Vite + React 18 + TypeScript 2026-04-23 21:04:36 +04:00
63ac2df4b5 Rename frontend to legacy-frontend 2026-04-23 21:03:23 +04:00
a3ec5b78c6 Upgrade Directus 10.4.2 → 11.17.3 with dependency bumps 2026-04-23 20:57:48 +04:00
49b081c00b Whitelist native build scripts and add Makefile rebuild target 2026-04-23 20:50:35 +04:00
8ca9ea157c Add Makefile for dev, init, and common tasks 2026-04-23 20:41:45 +04:00
3a2a320e7c LOL 2023-07-09 23:42:00 +04:00
fc8ed55773 Multi line command 2023-07-09 23:36:58 +04:00
52e7b93858 Don't prefetch categories 2023-07-09 23:36:48 +04:00
5acaeccb70 Meta titles and desc 2023-07-09 23:28:56 +04:00
6194862e6f Rename containers 2023-07-09 23:09:00 +04:00
e8067110d6 Use production admin in dev 2023-07-09 23:08:48 +04:00
0795298ab1 We need sass for build step 2023-07-09 23:08:37 +04:00
36ed752f4c Port fixes 2023-07-09 22:54:13 +04:00
4ee639e684 Change ports 2023-07-09 22:52:01 +04:00
ee7ae7fe7f force removal of .env 2023-07-09 22:40:00 +04:00
a8029be415 Remove .env in prod 2023-07-09 22:35:30 +04:00
ea8bad15a6 Remove quotes from prod 2023-07-09 22:26:50 +04:00
6c43fc5e1d Merge branch 'development' 2023-07-09 22:20:52 +04:00
daa0357368 Add initial production 2023-07-09 22:20:35 +04:00
3ae88e6354 404 500 2023-07-09 21:43:12 +04:00
feec2dd87e Country name, 404 2023-07-09 21:41:47 +04:00
6438d1900c Home, styles 2023-07-09 21:10:35 +04:00
9382da5750 Menus, globals, vendor page 2023-07-09 20:37:50 +04:00
c28dc2146c Improve vendors list 2023-07-09 17:41:13 +04:00
5e2c13d757 Clean up vendors_categories 2023-07-08 19:48:26 +04:00
e487ad224c SWR, improved vendors list 2023-07-08 02:25:54 +04:00
6090e97fa2 Resize some images 2023-07-07 22:14:01 +04:00