From 5a932e7dfe7202278107eb771a1ce584736a5a19 Mon Sep 17 00:00:00 2001
From: Toby Nguyen <208221158+tobynguyen27@users.noreply.github.com>
Date: Thu, 19 Feb 2026 23:51:39 +0700
Subject: [PATCH 01/25] chore: init Nuxt app
---
.gitignore | 1 +
apps/frontend/.env.example | 2 -
apps/frontend/.env.local | 3 -
apps/frontend/.nuxtrc | 1 -
apps/frontend/app/app.config.ts | 51 -
apps/frontend/app/app.vue | 27 +-
apps/frontend/app/assets/css/global.css | 8 -
apps/frontend/app/components/Counter.vue | 30 -
apps/frontend/app/components/Features.vue | 48 -
apps/frontend/app/components/Footer.vue | 68 -
apps/frontend/app/components/Header.vue | 52 -
.../OgImage/BasicTemplate.takumi.vue | 23 -
apps/frontend/app/components/Privacy.vue | 7 -
.../frontend/app/components/QrCodeDisplay.vue | 21 -
apps/frontend/app/components/QrCodeForm.vue | 28 -
apps/frontend/app/components/Report.vue | 7 -
.../app/components/ShortenUrlDisplay.vue | 36 -
.../app/components/ShortenUrlForm.vue | 79 -
apps/frontend/app/components/Spam.vue | 7 -
apps/frontend/app/components/Terms.vue | 7 -
.../frontend/app/composables/useQrCodeForm.ts | 23 -
.../app/composables/useShortenForm.ts | 38 -
apps/frontend/app/error.vue | 15 -
apps/frontend/app/pages/[shortCode].vue | 93 -
apps/frontend/app/pages/contents.vue | 68 -
apps/frontend/app/pages/index.vue | 76 -
apps/frontend/app/pages/qr.vue | 31 -
apps/frontend/app/utils/time.ts | 9 -
apps/frontend/nuxt.config.ts | 70 -
apps/frontend/package.json | 31 +-
apps/frontend/public/favicon.ico | Bin 0 -> 4286 bytes
apps/frontend/public/icon-dark.svg | 5 -
apps/frontend/public/icon-light.svg | 5 -
apps/frontend/public/robots.txt | 2 +
apps/frontend/tests/unit/time.spec.ts | 36 -
apps/frontend/tsconfig.json | 1 +
apps/frontend/vitest.config.ts | 30 -
apps/frontend/wrangler.jsonc | 41 -
pnpm-lock.yaml | 5009 ++---------------
39 files changed, 387 insertions(+), 5702 deletions(-)
delete mode 100644 apps/frontend/.env.example
delete mode 100644 apps/frontend/.env.local
delete mode 100644 apps/frontend/.nuxtrc
delete mode 100644 apps/frontend/app/app.config.ts
delete mode 100644 apps/frontend/app/assets/css/global.css
delete mode 100644 apps/frontend/app/components/Counter.vue
delete mode 100644 apps/frontend/app/components/Features.vue
delete mode 100644 apps/frontend/app/components/Footer.vue
delete mode 100644 apps/frontend/app/components/Header.vue
delete mode 100644 apps/frontend/app/components/OgImage/BasicTemplate.takumi.vue
delete mode 100644 apps/frontend/app/components/Privacy.vue
delete mode 100644 apps/frontend/app/components/QrCodeDisplay.vue
delete mode 100644 apps/frontend/app/components/QrCodeForm.vue
delete mode 100644 apps/frontend/app/components/Report.vue
delete mode 100644 apps/frontend/app/components/ShortenUrlDisplay.vue
delete mode 100644 apps/frontend/app/components/ShortenUrlForm.vue
delete mode 100644 apps/frontend/app/components/Spam.vue
delete mode 100644 apps/frontend/app/components/Terms.vue
delete mode 100644 apps/frontend/app/composables/useQrCodeForm.ts
delete mode 100644 apps/frontend/app/composables/useShortenForm.ts
delete mode 100644 apps/frontend/app/error.vue
delete mode 100644 apps/frontend/app/pages/[shortCode].vue
delete mode 100644 apps/frontend/app/pages/contents.vue
delete mode 100644 apps/frontend/app/pages/index.vue
delete mode 100644 apps/frontend/app/pages/qr.vue
delete mode 100644 apps/frontend/app/utils/time.ts
create mode 100644 apps/frontend/public/favicon.ico
delete mode 100644 apps/frontend/public/icon-dark.svg
delete mode 100644 apps/frontend/public/icon-light.svg
create mode 100644 apps/frontend/public/robots.txt
delete mode 100644 apps/frontend/tests/unit/time.spec.ts
delete mode 100644 apps/frontend/vitest.config.ts
delete mode 100644 apps/frontend/wrangler.jsonc
diff --git a/.gitignore b/.gitignore
index 3285614..118d70d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,6 +18,7 @@ build
.nuxt
.kotlin
.wrangler
+.data
# IntelliJ
.idea/
diff --git a/apps/frontend/.env.example b/apps/frontend/.env.example
deleted file mode 100644
index 12a985f..0000000
--- a/apps/frontend/.env.example
+++ /dev/null
@@ -1,2 +0,0 @@
-NUXT_PUBLIC_SITE_URL=
-NUXT_PUBLIC_API_BASE_URL=
diff --git a/apps/frontend/.env.local b/apps/frontend/.env.local
deleted file mode 100644
index 805100d..0000000
--- a/apps/frontend/.env.local
+++ /dev/null
@@ -1,3 +0,0 @@
-NUXT_PUBLIC_SITE_URL=http://localhost:3000
-NUXT_PUBLIC_API_BASE_URL=http://localhost:8080
-NUXT_PUBLIC_PREVIEW=false
diff --git a/apps/frontend/.nuxtrc b/apps/frontend/.nuxtrc
deleted file mode 100644
index 1e1fe83..0000000
--- a/apps/frontend/.nuxtrc
+++ /dev/null
@@ -1 +0,0 @@
-setups.@nuxt/test-utils="4.0.0"
\ No newline at end of file
diff --git a/apps/frontend/app/app.config.ts b/apps/frontend/app/app.config.ts
deleted file mode 100644
index faa4221..0000000
--- a/apps/frontend/app/app.config.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-export default defineAppConfig({
- ui: {
- colors: {
- primary: "teal",
- },
- icons: {
- arrowDown: "i-tabler-arrow-down",
- arrowLeft: "i-tabler-arrow-left",
- arrowRight: "i-tabler-arrow-right",
- arrowUp: "i-tabler-arrow-up",
- caution: "i-tabler-alert-square-rounded",
- check: "i-tabler-check",
- chevronDoubleLeft: "i-tabler-chevrons-left",
- chevronDoubleRight: "i-tabler-chevrons-right",
- chevronDown: "i-tabler-chevron-down",
- chevronLeft: "i-tabler-chevron-left",
- chevronRight: "i-tabler-chevron-right",
- chevronUp: "i-tabler-chevron-up",
- close: "i-tabler-x",
- copy: "i-tabler-copy",
- copyCheck: "i-tabler-copy-check",
- dark: "i-tabler-moon",
- drag: "i-tabler-grip-vertical",
- ellipsis: "i-tabler-dots",
- error: "i-tabler-square-rounded-x",
- external: "i-tabler-external-link",
- eye: "i-tabler-eye",
- eyeOff: "i-tabler-eye-off",
- file: "i-tabler-file",
- folder: "i-tabler-folder",
- folderOpen: "i-tabler-folder-open",
- hash: "i-tabler-hash",
- info: "i-tabler-info-square-rounded",
- light: "i-tabler-sun",
- loading: "i-tabler-loader-2",
- menu: "i-tabler-menu",
- minus: "i-tabler-minus",
- panelClose: "i-tabler-layout-sidebar-left-collapse",
- panelOpen: "i-tabler-layout-sidebar-left-expand",
- plus: "i-tabler-plus",
- reload: "i-tabler-reload",
- search: "i-tabler-search",
- stop: "i-tabler-player-stop",
- success: "i-tabler-square-rounded-check",
- system: "i-tabler-device-desktop",
- tip: "i-tabler-bulb",
- upload: "i-tabler-upload",
- warning: "i-tabler-alert-triangle",
- },
- },
-});
diff --git a/apps/frontend/app/app.vue b/apps/frontend/app/app.vue
index cb26b11..a4641f1 100644
--- a/apps/frontend/app/app.vue
+++ b/apps/frontend/app/app.vue
@@ -1,25 +1,6 @@
-
-
-
- {{ totalLinks }} links created that have
- been accessed {{ totalClicks }} times
-
- Solitär {{ title }} {{ description }}