Files
WGDashboard/src/static/app/src/components/configurationComponents/newPeersComponents/presharedKeyInput.vue
Tom Mills 18c2568c22
Some checks failed
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
Add preshared key default toggle (#1207)
* Add previous PR changes

* Import lowercase dayjs

* Build dist

* Revert "Build dist"

This reverts commit 152da2ca10
Dist not to be built at @DaanSelen request
2026-04-20 10:00:35 +02:00

61 lines
1.3 KiB
Vue

<script>
import LocaleText from "@/components/text/localeText.vue";
export default {
name: "presharedKeyInput",
components: {LocaleText},
props: {
data: Object,
saving: Boolean,
defaultEnabled: Boolean
},
data(){
return{
enable: false
}
},
mounted() {
const hasKey = !!(this.data && this.data.preshared_key && this.data.preshared_key.length > 0)
if (hasKey || this.defaultEnabled){
this.enable = true
}
},
watch:{
enable(){
if (this.enable) {
if (!this.data.preshared_key){
this.data.preshared_key = window.wireguard.generateKeypair().presharedKey
}
} else {
this.data.preshared_key = ""
}
}
}
}
</script>
<template>
<div>
<div class="d-flex align-items-start">
<label for="peer_preshared_key_textbox" class="form-label">
<small class="text-muted">
<LocaleText t="Pre-Shared Key"></LocaleText>
</small>
</label>
<div class="form-check form-switch ms-auto">
<input class="form-check-input" type="checkbox" role="switch"
v-model="this.enable"
id="peer_preshared_key_switch">
</div>
</div>
<input type="text" class="form-control form-control-sm rounded-3"
:disabled="this.saving || !this.enable"
v-model="this.data.preshared_key"
id="peer_preshared_key_textbox">
</div>
</template>
<style scoped>
</style>