Slave/frontend shell #2

Merged
nobswebdev merged 4 commits from slave/frontend-shell into master 2026-10-05 14:25:44 +00:00
9 changed files with 79 additions and 7 deletions
Showing only changes of commit a7dac01168 - Show all commits
+23 -1
View File
@@ -10,7 +10,8 @@
"dependencies": { "dependencies": {
"@tailwindcss/vite": "^4.3.3", "@tailwindcss/vite": "^4.3.3",
"tailwindcss": "^4.3.3", "tailwindcss": "^4.3.3",
"vue": "^3.5.32" "vue": "^3.5.32",
"vue-router": "^4.6.4"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^22.10.7", "@types/node": "^22.10.7",
@@ -979,6 +980,12 @@
"@vue/shared": "3.5.43" "@vue/shared": "3.5.43"
} }
}, },
"node_modules/@vue/devtools-api": {
"version": "6.6.4",
"resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
"integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==",
"license": "MIT"
},
"node_modules/@vue/language-core": { "node_modules/@vue/language-core": {
"version": "3.3.11", "version": "3.3.11",
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.3.11.tgz", "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.3.11.tgz",
@@ -1700,6 +1707,21 @@
} }
} }
}, },
"node_modules/vue-router": {
"version": "4.6.4",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.4.tgz",
"integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==",
"license": "MIT",
"dependencies": {
"@vue/devtools-api": "^6.6.4"
},
"funding": {
"url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
"vue": "^3.5.0"
}
},
"node_modules/vue-tsc": { "node_modules/vue-tsc": {
"version": "3.3.11", "version": "3.3.11",
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.3.11.tgz", "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.3.11.tgz",
+2 -1
View File
@@ -11,7 +11,8 @@
"dependencies": { "dependencies": {
"@tailwindcss/vite": "^4.3.3", "@tailwindcss/vite": "^4.3.3",
"tailwindcss": "^4.3.3", "tailwindcss": "^4.3.3",
"vue": "^3.5.32" "vue": "^3.5.32",
"vue-router": "^4.6.4"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^22.10.7", "@types/node": "^22.10.7",
+1 -4
View File
@@ -1,6 +1,3 @@
<template> <template>
<main class="flex min-h-screen flex-col p-8"> <router-view />
<h1 class="text-2xl font-semibold tracking-tight">Private Image</h1>
<p class="mt-2 text-muted-foreground">Privacy-first image hosting — upload UI coming soon.</p>
</main>
</template> </template>
+5
View File
@@ -0,0 +1,5 @@
export const ROUTE_NAMES = {
Upload: 'Upload',
Viewer: 'Viewer',
Delete: 'Delete'
} as const;
+2 -1
View File
@@ -1,5 +1,6 @@
import { createApp } from 'vue'; import { createApp } from 'vue';
import '@/assets/css/main.css'; import '@/assets/css/main.css';
import App from './App.vue'; import App from './App.vue';
import router from './router';
createApp(App).mount('#app'); createApp(App).use(router).mount('#app');
+28
View File
@@ -0,0 +1,28 @@
import { createRouter, createWebHistory } from 'vue-router';
import { ROUTE_NAMES } from '@/consts/routeNames';
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: '/',
name: ROUTE_NAMES.Upload,
component: () => import('@/views/UploadView.vue'),
meta: { title: 'Private Image — Upload' }
},
{
path: '/v/:id',
name: ROUTE_NAMES.Viewer,
component: () => import('@/views/ViewerView.vue'),
meta: { title: 'Private Image — Viewer' }
},
{
path: '/d/:id',
name: ROUTE_NAMES.Delete,
component: () => import('@/views/DeleteView.vue'),
meta: { title: 'Private Image — Delete' }
}
]
});
export default router;
+6
View File
@@ -0,0 +1,6 @@
<template>
<main class="flex min-h-screen flex-col p-8">
<h1 class="text-2xl font-semibold tracking-tight">Delete</h1>
<p class="mt-2 text-muted-foreground">Delete upload — coming soon.</p>
</main>
</template>
+6
View File
@@ -0,0 +1,6 @@
<template>
<main class="flex min-h-screen flex-col p-8">
<h1 class="text-2xl font-semibold tracking-tight">Upload</h1>
<p class="mt-2 text-muted-foreground">Upload UI coming soon.</p>
</main>
</template>
+6
View File
@@ -0,0 +1,6 @@
<template>
<main class="flex min-h-screen flex-col p-8">
<h1 class="text-2xl font-semibold tracking-tight">Viewer</h1>
<p class="mt-2 text-muted-foreground">Zero-knowledge viewer — coming soon.</p>
</main>
</template>