mirror of
https://github.com/balzack/databag.git
synced 2025-04-24 02:25:26 +00:00
finished sealing modal
This commit is contained in:
parent
ec697f8e4a
commit
be9451ad42
@ -14,6 +14,12 @@ export const en = {
|
||||
forgotPassword: 'Forgot Password',
|
||||
manageTopics: 'Manage Sealing Key',
|
||||
|
||||
sealUnlock: 'Unlock sealing key to access end-to-end encrypted messages',
|
||||
sealForget: 'Forget sealing key to revoke access of end-to-end encrypted messages for this device only',
|
||||
sealDelete: 'Deleting the sealing key will permantently revoke access to all end-to-end encrypted messages from all devices',
|
||||
sealUpdate: 'Updating the sealing key will only change the locking password',
|
||||
sealCreate: 'Create a sealing key to send and receive end-to-end encrypted messages',
|
||||
|
||||
new: 'New',
|
||||
newMessage: 'New Message',
|
||||
topics: 'Topics',
|
||||
@ -229,6 +235,13 @@ export const fr = {
|
||||
forgotPassword: 'Mot de Passe Oublié',
|
||||
manageTopics: 'Gérer la clé de sécurité',
|
||||
|
||||
|
||||
sealUnlock: 'Déverrouiller la clé de scellement pour accéder aux messages chiffrés de bout en bout',
|
||||
sealForget: 'Oublier la clé de scellement pour révoquer l\'accès aux messages chiffrés de bout en bout pour cet appareil uniquement',
|
||||
sealDelete: 'La suppression de la clé de scellement révoquera définitivement l\'accès à tous les messages chiffrés de bout en bout depuis tous les appareils',
|
||||
sealUpdate: 'La mise à jour de la clé de scellement changera uniquement le mot de passe de verrouillage',
|
||||
sealCreate: 'Créer une clé de scellement pour envoyer et recevoir des messages chiffrés de bout en bout',
|
||||
|
||||
new: 'Nouveau',
|
||||
newMessage: 'Nouveau Message',
|
||||
topics: 'Sujets',
|
||||
@ -447,6 +460,12 @@ export const sp = {
|
||||
forgotPassword: 'Contraseña Olvidada',
|
||||
manageTopics: 'Administrar clave de seguridad',
|
||||
|
||||
sealUnlock: 'Desbloquear la clave de sellado para acceder a los mensajes cifrados de extremo a extremo',
|
||||
sealForget: 'Olvidar la clave de sellado para revocar el acceso a los mensajes cifrados de extremo a extremo solo en este dispositivo',
|
||||
sealDelete: 'Eliminar la clave de sellado revocará permanentemente el acceso a todos los mensajes cifrados de extremo a extremo desde todos los dispositivos',
|
||||
sealUpdate: 'Actualizar la clave de sellado solo cambiará la contraseña de bloqueo',
|
||||
sealCreate: 'Crear una clave de sellado para enviar y recibir mensajes cifrados de extremo a extremo',
|
||||
|
||||
new: 'Nuevo',
|
||||
newMessage: 'Nuevo mensaje',
|
||||
topics: 'Temas',
|
||||
@ -663,6 +682,12 @@ export const pt = {
|
||||
forgotPassword: 'Senha Esquecida',
|
||||
manageTopics: 'Gerenciar Chave de Selagem',
|
||||
|
||||
sealUnlock: 'Desbloquear a chave de selagem para acessar mensagens criptografadas de ponta a ponta',
|
||||
sealForget: 'Esquecer a chave de selagem para revogar o acesso às mensagens criptografadas de ponta a ponta apenas para este dispositivo',
|
||||
sealDelete: 'Excluir a chave de selagem revogará permanentemente o acesso a todas as mensagens criptografadas de ponta a ponta de todos os dispositivos',
|
||||
sealUpdate: 'Atualizar a chave de selagem mudará apenas a senha de bloqueio',
|
||||
sealCreate: 'Criar uma chave de selagem para enviar e receber mensagens criptografadas de ponta a ponta',
|
||||
|
||||
new: 'Novo',
|
||||
newMessage: 'Nova mensagem',
|
||||
topics: 'Tópicos',
|
||||
@ -879,6 +904,12 @@ export const de = {
|
||||
forgotPassword: 'Passwort Vergessen',
|
||||
manageTopics: 'Sicherheitsschlüssel verwalten',
|
||||
|
||||
sealUnlock: 'Entsperren Sie den Versiegelungsschlüssel, um auf Ende-zu-Ende-verschlüsselte Nachrichten zuzugreifen',
|
||||
sealForget: 'Versiegelungsschlüssel vergessen, um den Zugriff auf Ende-zu-Ende-verschlüsselte Nachrichten nur für dieses Gerät zu widerrufen',
|
||||
sealDelete: 'Das Löschen des Versiegelungsschlüssels widerruft dauerhaft den Zugriff auf alle Ende-zu-Ende-verschlüsselten Nachrichten von allen Geräten',
|
||||
sealUpdate: 'Das Aktualisieren des Versiegelungsschlüssels ändert nur das Sperrpasswort',
|
||||
sealCreate: 'Erstellen Sie einen Versiegelungsschlüssel, um Ende-zu-Ende-verschlüsselte Nachrichten zu senden und zu empfangen',
|
||||
|
||||
new: 'Neu',
|
||||
newMessage: 'Neue Nachricht',
|
||||
topics: 'Themen',
|
||||
@ -1096,6 +1127,12 @@ export const ru = {
|
||||
forgotPassword: 'Пароль забыт',
|
||||
manageTopics: 'Управление ключом запечатывания',
|
||||
|
||||
sealUnlock: 'Разблокировать ключ запечатывания для доступа к сообщениям с сквозным шифрованием',
|
||||
sealForget: 'Забыть ключ запечатывания, чтобы отозвать доступ к сообщениям с сквозным шифрованием только для этого устройства',
|
||||
sealDelete: 'Удаление ключа запечатывания навсегда отзовет доступ ко всем сообщениям с сквозным шифрованием со всех устройств',
|
||||
sealUpdate: 'Обновление ключа запечатывания изменит только пароль блокировки',
|
||||
sealCreate: 'Создать ключ запечатывания для отправки и получения сообщений с сквозным шифрованием',
|
||||
|
||||
new: 'Новый',
|
||||
newMessage: 'Новое сообщение',
|
||||
topics: 'Темы',
|
||||
|
@ -3,6 +3,11 @@
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
|
||||
.sealConfig {
|
||||
cursor: pointer;
|
||||
color: var(--mantine-color-dbgreen-1);
|
||||
}
|
||||
|
||||
.delete {
|
||||
background-color: var(--mantine-color-red-9);
|
||||
color: var(--mantine-color-red-0);
|
||||
|
@ -33,6 +33,9 @@ import {
|
||||
IconEye,
|
||||
IconBook,
|
||||
IconMapPin,
|
||||
IconTrash,
|
||||
IconCaretDown,
|
||||
IconCaretRight,
|
||||
IconLogout,
|
||||
IconLogin,
|
||||
IconCopy,
|
||||
@ -67,8 +70,7 @@ export function Settings({ showLogout }: { showLogout: boolean }) {
|
||||
const [addingMfa, setAddingMfa] = useState(false)
|
||||
const [sealDelete, setSealDelete] = useState(false)
|
||||
const [sealReset, setSealReset] = useState(false)
|
||||
|
||||
console.log("SEAL: ", state.config);
|
||||
const [sealConfig, setSealConfig] = useState(false)
|
||||
|
||||
const logout = () =>
|
||||
modals.openConfirmModal({
|
||||
@ -127,6 +129,7 @@ export function Settings({ showLogout }: { showLogout: boolean }) {
|
||||
if (!savingSeal) {
|
||||
setSealDelete(false);
|
||||
setSealReset(false);
|
||||
setSealConfig(false);
|
||||
actions.setSealPassword('');
|
||||
actions.setSealConfirm('');
|
||||
actions.setSealDelete('');
|
||||
@ -760,25 +763,36 @@ export function Settings({ showLogout }: { showLogout: boolean }) {
|
||||
opened={sealOpened}
|
||||
onClose={sealClose}
|
||||
overlayProps={{ backgroundOpacity: 0.55, blur: 3 }}
|
||||
size="lg"
|
||||
centered
|
||||
>
|
||||
<>
|
||||
{ !sealDelete && !sealReset && state.config.sealSet && state.config.sealUnlocked && (
|
||||
<div className={classes.seal}>
|
||||
<span>UNLOCK SEAL</span>
|
||||
<div className={classes.buttons}>
|
||||
<Button
|
||||
className={classes.delete}
|
||||
onClick={() => setSealDelete(true)}
|
||||
>
|
||||
{state.strings.remove}
|
||||
</Button>
|
||||
<Button
|
||||
variant="filled"
|
||||
onClick={() => setSealReset(true)}
|
||||
>
|
||||
{state.strings.resave}
|
||||
</Button>
|
||||
<span>{ state.strings.sealForget }</span>
|
||||
<div className={classes.buttons}>
|
||||
{ !sealConfig && (
|
||||
<IconCaretDown className={classes.sealConfig} onClick={() => setSealConfig(true)}/>
|
||||
)}
|
||||
{ sealConfig && (
|
||||
<IconCaretRight className={classes.sealConfig} onClick={() => setSealConfig(false)}/>
|
||||
)}
|
||||
{ sealConfig && (
|
||||
<Button
|
||||
className={classes.delete}
|
||||
onClick={() => setSealDelete(true)}
|
||||
>
|
||||
{state.strings.remove}
|
||||
</Button>
|
||||
)}
|
||||
{ sealConfig && (
|
||||
<Button
|
||||
variant="filled"
|
||||
onClick={() => setSealReset(true)}
|
||||
>
|
||||
{state.strings.resave}
|
||||
</Button>
|
||||
)}
|
||||
<div className={classes.controls}>
|
||||
<Button variant="default" onClick={sealClose}>
|
||||
{state.strings.cancel}
|
||||
@ -792,7 +806,7 @@ export function Settings({ showLogout }: { showLogout: boolean }) {
|
||||
)}
|
||||
{ !sealDelete && sealReset && state.config.sealSet && state.config.sealUnlocked && (
|
||||
<div className={classes.seal}>
|
||||
<span>UPDATE SEAL</span>
|
||||
<span>{ state.strings.sealUpdate }</span>
|
||||
<TextInput
|
||||
className={classes.input}
|
||||
size="md"
|
||||
@ -823,7 +837,7 @@ export function Settings({ showLogout }: { showLogout: boolean }) {
|
||||
)}
|
||||
{ !sealDelete && state.config.sealSet && !state.config.sealUnlocked && (
|
||||
<div className={classes.seal}>
|
||||
<span>LOCKED SEAL</span>
|
||||
<span>{ state.strings.sealUnlock }</span>
|
||||
<PasswordInput
|
||||
className={classes.input}
|
||||
size="md"
|
||||
@ -832,13 +846,21 @@ export function Settings({ showLogout }: { showLogout: boolean }) {
|
||||
placeholder={state.strings.password}
|
||||
onChange={(event) => actions.setSealPassword(event.currentTarget.value)}
|
||||
/>
|
||||
<div className={classes.buttons}>
|
||||
<Button
|
||||
className={classes.delete}
|
||||
onClick={() => setSealDelete(true)}
|
||||
>
|
||||
{state.strings.remove}
|
||||
</Button>
|
||||
<div className={classes.buttons}>
|
||||
{ !sealConfig && (
|
||||
<IconCaretDown className={classes.sealConfig} onClick={() => setSealConfig(true)}/>
|
||||
)}
|
||||
{ sealConfig && (
|
||||
<IconCaretRight className={classes.sealConfig} onClick={() => setSealConfig(false)}/>
|
||||
)}
|
||||
{ sealConfig && (
|
||||
<Button
|
||||
className={classes.delete}
|
||||
onClick={() => setSealDelete(true)}
|
||||
>
|
||||
{state.strings.remove}
|
||||
</Button>
|
||||
)}
|
||||
<div className={classes.controls}>
|
||||
<Button variant="default" onClick={sealClose}>
|
||||
{state.strings.cancel}
|
||||
@ -852,13 +874,13 @@ export function Settings({ showLogout }: { showLogout: boolean }) {
|
||||
)}
|
||||
{ sealDelete && state.config.sealSet && (
|
||||
<div className={classes.seal}>
|
||||
<span>DELETE MODE</span>
|
||||
<span>{ state.strings.sealDelete }</span>
|
||||
<TextInput
|
||||
className={classes.input}
|
||||
size="md"
|
||||
value={state.sealDelete}
|
||||
leftSectionPointerEvents="none"
|
||||
leftSection={<IconKey />}
|
||||
leftSection={<IconTrash />}
|
||||
placeholder={state.strings.deleteKey}
|
||||
onChange={(event) => actions.setSealDelete(event.currentTarget.value)}
|
||||
/>
|
||||
@ -874,7 +896,7 @@ export function Settings({ showLogout }: { showLogout: boolean }) {
|
||||
)}
|
||||
{ !state.config.sealSet && (
|
||||
<div className={classes.seal}>
|
||||
<span>NO SEAL</span>
|
||||
<span>{ state.strings.sealCreate }</span>
|
||||
<TextInput
|
||||
className={classes.input}
|
||||
size="md"
|
||||
|
Loading…
x
Reference in New Issue
Block a user