mirror of https://github.com/wg-easy/wg-easy
Browse Source
* update: introduce pages & components fix lint * update: starting split componentspull/1244/head
committed by
GitHub
5 changed files with 512 additions and 485 deletions
@ -0,0 +1,26 @@ |
|||||
|
<template> |
||||
|
<a |
||||
|
href="./api/wireguard/backup" |
||||
|
:title="$t('titleBackupConfig')" |
||||
|
class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 max-md:border-x-0 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 md:rounded inline-flex items-center transition" |
||||
|
> |
||||
|
<svg |
||||
|
inline |
||||
|
class="w-4 md:mr-2" |
||||
|
xmlns="http://www.w3.org/2000/svg" |
||||
|
fill="none" |
||||
|
viewBox="0 0 24 24" |
||||
|
stroke-width="1.5" |
||||
|
stroke="currentColor" |
||||
|
> |
||||
|
<path |
||||
|
stroke-linecap="round" |
||||
|
stroke-linejoin="round" |
||||
|
d="M5.25 14.25h13.5m-13.5 0a3 3 0 0 1-3-3m3 3a3 3 0 1 0 0 6h13.5a3 3 0 1 0 0-6m-16.5-3a3 3 0 0 1 3-3h13.5a3 3 0 0 1 3 3m-19.5 0a4.5 4.5 0 0 1 .9-2.7L5.737 5.1a3.375 3.375 0 0 1 2.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 0 1 .9 2.7m0 0a3 3 0 0 1-3 3m0 3h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Zm-3 6h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Z" |
||||
|
/> |
||||
|
</svg> |
||||
|
<span class="max-md:hidden text-sm">{{ $t('backup') }}</span> |
||||
|
</a> |
||||
|
</template> |
||||
|
|
||||
|
<script setup lang="ts"></script> |
@ -0,0 +1,53 @@ |
|||||
|
<template> |
||||
|
<label |
||||
|
for="inputRC" |
||||
|
:title="$t('titleRestoreConfig')" |
||||
|
class="hover:cursor-pointer hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 max-md:border-r-0 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded-l-full md:rounded inline-flex items-center transition" |
||||
|
> |
||||
|
<svg |
||||
|
inline |
||||
|
class="w-4 md:mr-2" |
||||
|
xmlns="http://www.w3.org/2000/svg" |
||||
|
fill="none" |
||||
|
viewBox="0 0 24 24" |
||||
|
stroke-width="1.5" |
||||
|
stroke="currentColor" |
||||
|
> |
||||
|
<path |
||||
|
stroke-linecap="round" |
||||
|
stroke-linejoin="round" |
||||
|
d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" |
||||
|
/> |
||||
|
</svg> |
||||
|
<span class="max-md:hidden text-sm">{{ $t('restore') }}</span> |
||||
|
<input |
||||
|
id="inputRC" |
||||
|
type="file" |
||||
|
name="configurationfile" |
||||
|
accept="text/*,.json" |
||||
|
class="hidden" |
||||
|
@change="restoreConfig" |
||||
|
/> |
||||
|
</label> |
||||
|
</template> |
||||
|
|
||||
|
<script setup lang="ts"> |
||||
|
function restoreConfig(e: Event) { |
||||
|
e.preventDefault(); |
||||
|
const isFile = e.currentTarget; |
||||
|
if (isFile) { |
||||
|
const file = (isFile as HTMLInputElement).files?.item(0); |
||||
|
file |
||||
|
?.text() |
||||
|
.then((content) => { |
||||
|
api |
||||
|
.restoreConfiguration(content) |
||||
|
.then((_result) => alert('The configuration was updated.')) |
||||
|
.catch((err) => alert(err.message || err.toString())); |
||||
|
}) |
||||
|
.catch((err) => alert(err.message || err.toString())); |
||||
|
} else { |
||||
|
alert('Failed to load your file!'); |
||||
|
} |
||||
|
} |
||||
|
</script> |
@ -0,0 +1,4 @@ |
|||||
|
import BackupConfig from './BackupConfig.vue'; |
||||
|
import RestoreConfig from './RestoreConfig.vue'; |
||||
|
|
||||
|
export { BackupConfig, RestoreConfig }; |
Loading…
Reference in new issue