3x-ui/web/html/settings/panel/security.html

62 lines
3.3 KiB
HTML
Raw Normal View History

{{define "settings/panel/security"}}
<a-collapse default-active-key="1">
<a-collapse-panel key="1" header='{{ i18n "pages.settings.security.admin"}}'>
<a-setting-list-item paddings="small">
<template #title>{{ i18n "pages.settings.oldUsername"}}</template>
<template #control>
<a-input autocomplete="username" v-model="user.oldUsername"></a-input>
</template>
</a-setting-list-item>
<a-setting-list-item paddings="small">
<template #title>{{ i18n "pages.settings.currentPassword"}}</template>
<template #control>
<a-input-password autocomplete="current-password" v-model="user.oldPassword"></a-input-password>
</template>
</a-setting-list-item>
<a-setting-list-item paddings="small">
<template #title>{{ i18n "pages.settings.newUsername"}}</template>
<template #control>
<a-input v-model="user.newUsername"></a-input>
</template>
</a-setting-list-item>
<a-setting-list-item paddings="small">
<template #title>{{ i18n "pages.settings.newPassword"}}</template>
<template #control>
<a-input-password autocomplete="new-password" v-model="user.newPassword"></a-input-password>
</template>
</a-setting-list-item>
<a-list-item>
<a-space direction="horizontal" :style="{ padding: '0 20px' }">
<a-button type="primary" @click="updateUser">{{ i18n "confirm" }}</a-button>
</a-space>
</a-list-item>
</a-collapse-panel>
2025-05-03 08:03:09 +00:00
<a-collapse-panel key="2" header='{{ i18n "pages.settings.security.twoFactor" }}'>
<a-setting-list-item paddings="small">
2025-05-03 08:03:09 +00:00
<template #title>{{ i18n "pages.settings.security.twoFactorEnable" }}</template>
<template #description>{{ i18n "pages.settings.security.twoFactorEnableDesc" }}</template>
<template #control>
2025-05-03 08:03:09 +00:00
<a-switch @change="toggleTwoFactor" v-model="allSetting.twoFactorEnable"></a-switch>
</template>
</a-setting-list-item>
2025-05-03 08:03:09 +00:00
<a-setting-list-item paddings="small" v-if="allSetting.twoFactorEnable">
<template #title>{{ i18n "pages.settings.security.twoFactorToken" }}</template>
<template #description>{{ i18n "pages.settings.security.twoFactorTokenDesc" }}</template>
<template #control>
<a-space direction="horizontal" size="middle">
<div
:style="{ border: '1px solid', borderRadius: '1rem', borderColor: themeSwitcher.isDarkTheme ? 'var(--dark-color-surface-300)' : '#d9d9d9', padding: 0 }">
<img id="twoFactorQr" :src="twoFactor.qrElement.toDataURL()" :style="{ filter: themeSwitcher.isDarkTheme ? 'invert(1)' : 'none'}"></canvas>
</div>
<a-tooltip>
<template #title>
<span>{{ i18n "copy" }}</span>
</template>
<a-icon type="copy" @click='ClipboardManager.copyText(allSetting.twoFactorToken, true, `{{ i18n "copySuccess" }}`)'></a-icon>
</a-tooltip>
</a-space>
</template>
</a-setting-list-item>
</a-collapse-panel>
</a-collapse>
{{end}}