This website requires JavaScript.
c62ac1da0b
test: add comprehensive unit tests for all components, API routes, and lib functions
main
achmad
2026-05-31 17:20:01 +07:00
963ff5affc
fix: fall back to date_created when published_at is null so every article shows a date
achmad
2026-05-31 17:06:43 +07:00
95aac628e1
fix: add secondary sort by date_created so articles without published_at show up in listings
achmad
2026-05-31 17:01:25 +07:00
6bff34cbc7
feat: add prod compose
achmad
2026-05-31 16:54:22 +07:00
4befb572a3
fix: fetch 13 articles so Latest grid shows 12 after hero filter; hide Load More when all articles already loaded
achmad
2026-05-31 16:46:31 +07:00
75d4da380e
fix: truly center logo on mobile using absolute positioning
achmad
2026-05-29 03:33:50 +07:00
73a5596857
feat: mobile hamburger menu with full-screen overlay for categories
achmad
2026-05-29 03:24:18 +07:00
c4727d87aa
chore: remove duplicate revalidate-all script
achmad
2026-05-29 02:50:49 +07:00
488ad051fb
feat: revalidate-all fetches all articles; add revalidate-all script; fix HOLOSTARS image
achmad
2026-05-29 02:50:25 +07:00
a2fba503e3
fix: is_featured 0 rendering as text, cast to boolean
achmad
2026-05-29 02:24:11 +07:00
953a222b35
feat: add type=all to revalidate all category pages
achmad
2026-05-29 02:10:49 +07:00
23d2d31a27
chore: add revalidation script
achmad
2026-05-29 01:53:35 +07:00
45f156b569
chore: add deploy script for building and pushing to registry
achmad
2026-05-29 01:32:32 +07:00
8f725d5e26
feat: add image proxy route to serve Directus assets with auth token
achmad
2026-05-29 01:31:54 +07:00
69a5f5f9f5
chore: remove redundant NEXT_PUBLIC vars from runtime env
achmad
2026-05-29 01:23:13 +07:00
935674f943
chore: remove redundant NEXT_PUBLIC vars from runtime env (baked at build time)
achmad
2026-05-29 00:48:18 +07:00
ac4a0f0e8b
fix: pass env vars as build args for static generation, remove debug logging
achmad
2026-05-29 00:45:37 +07:00
fe89de4d9e
chore: remove deploy workflow, will deploy manually
achmad
2026-05-29 00:06:07 +07:00
5f7087cbbe
ci: add .env creation from secrets in deploy workflow
achmad
2026-05-29 00:03:58 +07:00
34aa8c5a67
ci: use Docker socket for direct build and deploy
achmad
2026-05-29 00:01:08 +07:00
3b89b363b3
ci: deploy via SSH to host with git checkout and Docker build
achmad
2026-05-28 23:58:15 +07:00
ae4472ef16
ci: add compose.yml and update deploy workflow with SSH to host
achmad
2026-05-28 23:53:43 +07:00
5ed8cb4c47
chore: add opencode MCP config for Directus
achmad
2026-05-28 23:36:01 +07:00
cd5a7d31c6
fix: improve search to only match title and excerpt, not raw HTML content
achmad
2026-05-28 23:35:15 +07:00
c4ed4a3615
fix: category filter by UUID and remove nav_categories from site_settings query
achmad
2026-05-28 23:15:53 +07:00
bb0b2ac961
chore: verified production build and all checks pass
achmad
2026-05-28 22:35:54 +07:00
ffa8b73f4d
ci: Docker build and Gitea Actions deploy workflow
achmad
2026-05-28 22:34:30 +07:00
2293695270
feat: dynamic sitemap and robots.txt
achmad
2026-05-28 22:33:50 +07:00
e45faa201f
feat: revalidate webhook endpoint with tests
achmad
2026-05-28 22:33:25 +07:00
e748725522
feat: Cmd+K search overlay with debounced Directus query
achmad
2026-05-28 22:32:44 +07:00
9e01d9b754
feat: category listing page with load-more pagination
achmad
2026-05-28 22:32:06 +07:00
cddde56b49
feat: article detail page with ISR and generateMetadata
achmad
2026-05-28 22:31:19 +07:00
852646e40c
feat: ArticleBody renderer and TagRow
achmad
2026-05-28 22:30:32 +07:00
cffc2808b5
feat: ArticleGrid and Homepage
achmad
2026-05-28 22:30:17 +07:00
1de59aba84
feat: HeroSection component
achmad
2026-05-28 22:29:36 +07:00
50a4e63e2a
feat: ArticleCard component
achmad
2026-05-28 22:29:19 +07:00
6ba2c8b932
feat: root layout with fonts, Navbar, Footer
achmad
2026-05-28 22:28:08 +07:00
ab7bbd3805
feat: Footer component
achmad
2026-05-28 22:26:50 +07:00
dcae4824c6
feat: Navbar with server-fetched categories
achmad
2026-05-28 22:26:34 +07:00
1ab153c94f
feat: Directus SDK client with typed helpers
achmad
2026-05-28 22:26:13 +07:00
7ffc6cbad6
feat: TypeScript types for Directus collections
achmad
2026-05-28 22:25:27 +07:00
00e85b5c31
chore: add Vitest + Testing Library test infrastructure
achmad
2026-05-28 22:25:08 +07:00
6b4c8397d8
feat: add design system tokens to Tailwind
achmad
2026-05-28 22:24:49 +07:00
a24936d9d7
chore: bootstrap Next.js 14 with Directus deps and config
achmad
2026-05-28 22:24:27 +07:00
d4d65b1dff
chore: add brainstorming docs and design reference
achmad
2026-05-28 22:20:29 +07:00