diff options
| author | Shishkevich D. <135337715+shishkevichd@users.noreply.github.com> | 2025-03-17 14:26:07 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-17 14:26:07 +0300 |
| commit | db62a07fb89e08e974210ccb0f62cc648d799e94 (patch) | |
| tree | 50af3c5e77ae27c3e5b360eb32b9e95fe795aa25 /web/html/xui/component/aPasswordInput.html | |
| parent | e3120c402882e3fccc0112b1c0197126fb613329 (diff) | |
Code refactoring (#2785)
* chore: pretty theme menu in sidebar
* refactor: renaming component templates
* refactor: create custom `a-statistic` component
* fix: display button text only on large screens
* chore: remove loading background in overview page
* fix: show `Version` text when xray version is unknown
Diffstat (limited to 'web/html/xui/component/aPasswordInput.html')
| -rw-r--r-- | web/html/xui/component/aPasswordInput.html | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/web/html/xui/component/aPasswordInput.html b/web/html/xui/component/aPasswordInput.html new file mode 100644 index 00000000..460e7e76 --- /dev/null +++ b/web/html/xui/component/aPasswordInput.html @@ -0,0 +1,57 @@ +{{define "component/passwordInput"}} +<template> + <a-input :value="value" :type="showPassword ? 'text' : 'password'" :placeholder="placeholder" + :autocomplete="autocomplete" :name="name" @input="$emit('input', $event.target.value)"> + <template v-if="icon" #prefix> + <a-icon :type="icon" style="font-size: 16px;" /> + </template> + <template #addonAfter> + <a-icon :type="showPassword ? 'eye-invisible' : 'eye'" @click="toggleShowPassword" style="font-size: 16px;" /> + </template> + </a-input> +</template> +{{end}} + +{{define "component/aPasswordInput"}} +<script> + Vue.component('a-password-input', { + props: { + 'title': { + type: String, + required: false, + }, + 'value': { + type: String, + required: false, + }, + 'placeholder': { + type: String, + required: false, + }, + 'autocomplete': { + type: String, + required: false, + }, + 'name': { + type: String, + required: false, + }, + 'icon': { + type: undefined, + required: false + } + }, + template: `{{template "component/passwordInput"}}`, + data() { + return { + showPassword: false, + }; + }, + methods: { + toggleShowPassword() { + this.showPassword = !this.showPassword; + }, + }, + }); +</script> +{{end}}
\ No newline at end of file |
