diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fca586..a29ea4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,12 +14,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Added -- Possibility to set a default account - ### Changed - The style has been entirely reworked using Bootstrap instead of Bulma -- It is now impossible to include the separator in the dedicated name ## [0.3.0] - 2023-08-25 diff --git a/src/accounts.js b/src/accounts.js index 80b9d25..93d0bc3 100644 --- a/src/accounts.js +++ b/src/accounts.js @@ -1,5 +1,5 @@ export function sortAccounts(accounts) { - accounts.sort((a, b) => { + accounts.value.sort((a, b) => { const va = `${a.localPart}@${a.domain}`; const vb = `${b.localPart}@${b.domain}`; return va.localeCompare(vb); diff --git a/src/locales/en.json b/src/locales/en.json index bf89aee..c4e29df 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -71,8 +71,6 @@ }, "manageAccounts": { "title": "Accounts", - "isDefault": "default", - "setDefault": "Set default", "delete": "@:invariants.controls.delete", "close": "@:invariants.controls.close" } diff --git a/src/locales/fr.json b/src/locales/fr.json index 6cccfea..4130474 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -71,8 +71,6 @@ }, "manageAccounts": { "title": "Comptes", - "isDefault": "défaut", - "setDefault": "Définir par défaut", "delete": "@:invariants.controls.delete", "close": "@:invariants.controls.close" } diff --git a/src/views/AddAccountView.vue b/src/views/AddAccountView.vue index 7bc3531..f2760c5 100644 --- a/src/views/AddAccountView.vue +++ b/src/views/AddAccountView.vue @@ -62,7 +62,6 @@ const addAccount = () => { separator: separator.value, domain: domainName.value, key: key, - isDefault: false, }; accounts.value.push(newAccount); return toMainView(); diff --git a/src/views/MainView.vue b/src/views/MainView.vue index a1f83db..0717963 100644 --- a/src/views/MainView.vue +++ b/src/views/MainView.vue @@ -11,12 +11,8 @@ import LayoutComponent from '../components/LayoutComponent.vue'; import NavBarComponent from '../components/NavBarComponent.vue'; const router = useRouter(); -const accounts = useStorage('sake-accounts', []); -const sortedAccounts = computed(() => sortAccounts(accounts.value)); -const selectedAccountId = ref((() => { - const def = accounts.value.find((a) => a.isDefault); - return def ? def.id : accounts.value[0].id; -})()); +const accounts = sortAccounts(useStorage('sake-accounts', [])); +const selectedAccountId = ref(accounts.value[0].id); const subAddrName = ref(''); const fromRawAccount = (raw_account) => { @@ -33,20 +29,15 @@ const generatedAddr = computed(() => { const raw_account = accounts.value.find((e) => e.id == selectedAccountId.value); if (raw_account) { const account = fromRawAccount(raw_account); - if (subAddrName.value.indexOf(account.separator) != -1) { - subAddrName.value = subAddrName.value.replaceAll(account.separator, ''); - } - if (subAddrName.value) { - var hasher = hmac.create(sha256, account.key); - hasher.update(account.localPart); - hasher.update(account.separator); - hasher.update(subAddrName.value); - const mac = hasher.digest(); - const offset = mac[mac.length - 1] & 0xf; - const reduced_mac = mac.slice(offset, offset + 5); - const code = base32Encode(reduced_mac, 'RFC4648', { padding: false }).toLowerCase(); - return `${account.localPart}${account.separator}${subAddrName.value}${account.separator}${code}@${account.domain}`; - } + var hasher = hmac.create(sha256, account.key); + hasher.update(account.localPart); + hasher.update(account.separator); + hasher.update(subAddrName.value); + const mac = hasher.digest(); + const offset = mac[mac.length - 1] & 0xf; + const reduced_mac = mac.slice(offset, offset + 5); + const code = base32Encode(reduced_mac, 'RFC4648', { padding: false }).toLowerCase(); + return `${account.localPart}${account.separator}${subAddrName.value}${account.separator}${code}@${account.domain}`; } } return ''; @@ -67,7 +58,7 @@ const resetForm = () => {