feat(app): add WGRplane web UI and backend features

- Add Vue 3 frontend with glassmorphism design (Tailwind CSS)
- Add Go backend handlers: auth, webhooks, stats, scheduler, validation
- Add i18n support (EN, ID, ZH)
- Add Swagger docs and API handlers
- Add nftables integration and plugins support
- Remove deprecated go.mod (migrated to wgrplane)
This commit is contained in:
datadunia
2026-05-03 23:20:34 +07:00
parent 3eae539a56
commit 6d8899a078
54 changed files with 7395 additions and 434 deletions
@@ -1,8 +1,8 @@
<template>
<button
class="px-6 py-2 bg-gradient-to-r from-blue-500 to-purple-600 text-white rounded-lg hover:opacity-90 transition-opacity"
v-bind="$attrs"
>
<button
class="px-6 py-2 bg-gradient-to-r dark:from-blue-500 dark:to-purple-600 from-blue-600 to-purple-700 text-white rounded-lg hover:opacity-90 transition-opacity"
v-bind="$attrs"
>
<slot></slot>
</button>
</template>
@@ -1,5 +1,5 @@
<template>
<div class="bg-white/10 backdrop-blur-md border border-white/20 rounded-xl shadow-glass p-6">
<div class="dark:bg-white/10 dark:border-white/20 bg-gray-100/80 border-gray-200/50 backdrop-blur-md rounded-xl shadow-glass p-6">
<slot></slot>
</div>
</template>
@@ -1,6 +1,6 @@
<template>
<input
class="w-full bg-white/5 border border-white/20 rounded-lg px-4 py-2 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-blue-500"
v-bind="$attrs"
/>
<input
class="w-full dark:bg-white/5 dark:border-white/20 bg-gray-100 border-gray-300 rounded-lg px-4 py-2 dark:text-white text-gray-900 dark:placeholder-white/50 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500"
v-bind="$attrs"
/>
</template>
@@ -1,9 +1,9 @@
<template>
<button
class="relative w-12 h-6 rounded-full transition-colors"
:class="modelValue ? 'bg-blue-500' : 'bg-gray-600'"
@click="$emit('update:modelValue', !modelValue)"
>
<button
class="relative w-12 h-6 rounded-full transition-colors"
:class="modelValue ? 'bg-blue-500' : 'dark:bg-gray-600 bg-gray-300'"
@click="$emit('update:modelValue', !modelValue)"
>
<span
class="absolute top-1 left-1 w-4 h-4 bg-white rounded-full transition-transform"
:class="modelValue ? 'translate-x-6' : ''"