scaffold: Vue 3 frontend — router, stores, views, composables, layouts

Complete frontend skeleton: Vite + Vue 3 + TypeScript + Tailwind CSS,
Pinia stores (auth, server, wipe, plugins), authenticated API composable,
full route tree with auth guards, DashboardLayout with sidebar nav,
23 view stubs across auth/admin/public, all TypeScript interfaces.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Vantz Stockwell
2026-02-14 21:42:21 -05:00
parent 175d6f0a7b
commit e2f2f64d33
46 changed files with 3335 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Phase 2 — Implement analytics dashboard
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Analytics</h1>
<p class="text-neutral-400">Coming soon player trends, performance metrics, and server analytics.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement real-time chat feed from the game server
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Chat Log</h1>
<p class="text-neutral-400">Real-time chat feed from your Rust server with search and filtering.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement live server console output with command input
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Server Console</h1>
<p class="text-neutral-400">Live console output and command interface for your Rust server.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement server overview dashboard with key metrics and status
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Dashboard</h1>
<p class="text-neutral-400">Server overview players online, performance metrics, and quick actions.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement map library with upload and rotation management
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Map Library</h1>
<p class="text-neutral-400">Upload custom maps and manage map rotation for your server.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement module store browser for purchasing add-on modules
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Module Store</h1>
<p class="text-neutral-400">Browse and purchase add-on modules to extend your panel capabilities.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement notification channel configuration for Discord and Pushbullet
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Notifications</h1>
<p class="text-neutral-400">Configure Discord webhooks, Pushbullet, and other notification channels.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement player list with kick, ban, and moderation actions
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Player Management</h1>
<p class="text-neutral-400">View connected players and manage kick, ban, and moderation actions.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement installed plugin list and uMod plugin browser
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Plugin Management</h1>
<p class="text-neutral-400">Manage installed plugins and browse the uMod plugin library.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement server configuration and start/stop/restart controls
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Server Management</h1>
<p class="text-neutral-400">Configure server settings and control start, stop, and restart operations.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement settings for license, subdomain, and account management
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Settings</h1>
<p class="text-neutral-400">Manage your license, subdomain configuration, and account settings.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement webstore item and category management
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Webstore Management</h1>
<p class="text-neutral-400">Manage store items, categories, and pricing for your server webstore.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement team management with role-based access control
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Team Management</h1>
<p class="text-neutral-400">Invite team members and manage role-based access to the panel.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement calendar view of scheduled and past wipes
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Wipe Calendar</h1>
<p class="text-neutral-400">Calendar view of upcoming and completed server wipes.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement wipe execution log with status and details
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Wipe History</h1>
<p class="text-neutral-400">Execution logs for all past wipes with status and details.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement wipe profile creation and management
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Wipe Profiles</h1>
<p class="text-neutral-400">Create and manage reusable wipe profiles for different reset configurations.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement auto-wiper with schedules and manual trigger
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Auto-Wiper</h1>
<p class="text-neutral-400">Configure wipe schedules and trigger manual wipes.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement sign-in form with email/password and license validation
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Sign In</h1>
<p class="text-neutral-400">Sign in to your Corrosion server panel.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement registration form with license key field
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Create Account</h1>
<p class="text-neutral-400">Register a new account with your license key.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement multi-step setup wizard for initial server configuration
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Setup Your Server</h1>
<p class="text-neutral-400">Multi-step wizard to configure your Rust server for the first time.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement public-facing server information page
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Server Info</h1>
<p class="text-neutral-400">Public server information rules, description, and connection details.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement public server status page with uptime and metrics
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Server Status</h1>
<p class="text-neutral-400">Live server status, uptime history, and current player count.</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<script setup lang="ts">
// TODO: Implement public-facing webstore for player purchases
</script>
<template>
<div class="p-6">
<h1 class="text-2xl font-bold text-neutral-100 mb-4">Store</h1>
<p class="text-neutral-400">Browse and purchase items from the server store.</p>
</div>
</template>