Add PWA support with install banner and app icons
All checks were successful
Build And Push Image / docker (push) Successful in 2m56s

- Configure @vite-pwa/nuxt module with manifest and service worker
- Add PWA install banner component to login page
- Include app icons (192x192, 512x512) and favicon assets
- Update admin dashboard layout and remove backup section
- Add PWA-related API endpoints and utility scripts
This commit is contained in:
2025-08-07 15:46:17 +02:00
parent 91cbffe189
commit d0c9c02bf9
11 changed files with 420 additions and 46 deletions

View File

@@ -107,7 +107,7 @@
<!-- System Metrics -->
<v-row class="mb-6">
<v-col cols="12" md="8">
<v-col cols="12">
<v-card elevation="2">
<v-card-title class="pa-4" style="background-color: #f5f5f5;">
<v-icon class="mr-2" color="primary">mdi-chart-line</v-icon>
@@ -135,35 +135,6 @@
</v-card-text>
</v-card>
</v-col>
<v-col cols="12" md="4">
<v-card elevation="2">
<v-card-title class="pa-4" style="background-color: #f5f5f5;">
<v-icon class="mr-2" color="primary">mdi-backup-restore</v-icon>
Last Backup
</v-card-title>
<v-card-text class="pa-4">
<div class="text-h6 mb-2">System Backup</div>
<div class="text-body-2 mb-2">
<v-icon size="small" class="mr-1">mdi-calendar</v-icon>
{{ lastBackup.date }}
</div>
<div class="text-body-2 mb-4">
<v-icon size="small" class="mr-1">mdi-clock</v-icon>
{{ lastBackup.time }}
</div>
<v-btn
color="primary"
variant="outlined"
size="small"
style="border-color: #a31515; color: #a31515;"
@click="initiateBackup"
>
Create Backup
</v-btn>
</v-card-text>
</v-card>
</v-col>
</v-row>
<!-- Recent Admin Activity -->
@@ -359,10 +330,6 @@ const systemStats = ref({
uptime: '0d'
});
const lastBackup = ref({
date: 'January 7, 2025',
time: '3:00 AM EST'
});
const systemHealth = ref({
cpu: 45,
@@ -460,9 +427,6 @@ const navigateToSystemConfig = () => {
console.log('Navigate to system config');
};
const initiateBackup = () => {
console.log('Initiate system backup');
};
const createNewUser = () => {
console.log('Create new user');
@@ -487,8 +451,8 @@ const systemMaintenance = () => {
}
.v-card:hover {
transform: translateY(-2px);
transition: transform 0.2s ease-in-out;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
transition: box-shadow 0.2s ease;
}
.v-btn {

View File

@@ -114,6 +114,9 @@
v-model="showForgotPassword"
@success="handlePasswordResetSuccess"
/>
<!-- PWA Install Banner -->
<PWAInstallBanner />
</div>
</template>