Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShishkevich D. <135337715+shishkevichd@users.noreply.github.com>2025-03-17 14:26:07 +0300
committerGitHub <noreply@github.com>2025-03-17 14:26:07 +0300
commitdb62a07fb89e08e974210ccb0f62cc648d799e94 (patch)
tree50af3c5e77ae27c3e5b360eb32b9e95fe795aa25 /web/html/xui/component/aPasswordInput.html
parente3120c402882e3fccc0112b1c0197126fb613329 (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.html57
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