chore: prettier cleanup

This commit is contained in:
Pavel-Savely Savianok 2025-08-08 17:42:47 +03:00
parent 1e69a70ea0
commit 08894ee061
5 changed files with 41 additions and 34 deletions

View File

@ -32,11 +32,10 @@ Then press OK, all selected records from Google Authenticator will appear on pag
![Added records from otpauth-migration](image-7.png)
### If you use Proton Authenticator
To add 2FA TOTP records from Proton Authenticator you must go to settings and press "Export":
![alt text](photo_2025-08-08_17-10-27.jpg)
![alt text](photo_2025-08-08_17-10-27.jpg)
After this save file and open it on text editor:
@ -52,4 +51,4 @@ Copy all stuff from file at clipboard and import in application:
Then press OK, records will appear on page:
![alt text](<Снимок экрана_20250808_170912.png>)
![alt text](<Снимок экрана_20250808_170912.png>)

View File

@ -11,7 +11,7 @@ export const colors = {
export const content = {
addTotpsHint:
"For add a 2FA TOTP record you must have otpauth:// link otpauth-migration://" +
"link from Google Authenticator Migration QR-Code or Proton authenticator Export JSON string." +
"link from Google Authenticator Migration QR-Code or Proton authenticator Export JSON string." +
"If you have a questions - check instruction below!",
totpRecordsHint: "TOTP records:",
createButton: {
@ -29,10 +29,10 @@ export const content = {
renameButtons: {
rename: "Rename",
renameIssuer: "Rename Issuer",
renameClient: "Rename Client"
renameClient: "Rename Client",
},
saveButton: {
label: "Save"
label: "Save",
},
deleteButton: {
label: "Delete",

View File

@ -14,7 +14,7 @@ export function createTOTPCard({
onMoveDown,
onIssuerChange,
onClientChange,
isEditInProgress
isEditInProgress,
}) {
const infoView = View(
{
@ -40,7 +40,7 @@ export function createTOTPCard({
color: colors.text,
borderRadius: "5px",
height: "40px",
width: "200px"
width: "200px",
},
subStyle: {
display: "none",
@ -60,7 +60,7 @@ export function createTOTPCard({
color: colors.text,
borderRadius: "5px",
height: "40px",
width: "200px"
width: "200px",
},
subStyle: {
display: "none",
@ -109,16 +109,17 @@ export function createTOTPCard({
},
onClick: onRename,
}),
!isEditInProgress ?
Button({
label: content.deleteButton.label,
style: {
margin: "5px",
backgroundColor: colors.alert,
color: colors.text,
},
onClick: onDelete,
}): null,
!isEditInProgress
? Button({
label: content.deleteButton.label,
style: {
margin: "5px",
backgroundColor: colors.alert,
color: colors.text,
},
onClick: onDelete,
})
: null,
],
);

View File

@ -7,5 +7,5 @@ export class ProtonTotpRecord {
content = {
uri,
entry_type,
}
}
};
}

View File

@ -6,23 +6,26 @@ import { ProtonBackupExport } from "./protonBackupExport";
const otpauthScheme = "otpauth://";
const googleMigrationScheme = "otpauth-migration://";
export function getTOTPByLink(link) {
try { //proton export
try {
//proton export
const json = JSON.parse(link);
console.log(json)
console.log(json);
return getByProtonBackup(json);
} catch (e) {
if (link.startsWith(googleMigrationScheme)) { //google migration export
if (link.startsWith(googleMigrationScheme)) {
//google migration export
return getByGoogleMigrationScheme(link);
}
if (link.startsWith(otpauthScheme)) {//otpauth export
if (link.startsWith(otpauthScheme)) {
//otpauth export
return getByOtpauthScheme(link);
}
throw new Error(`Unsupported link type. Please use an otpauth:// or otpauth-migration:// link\n ERR: ${e}`);
throw new Error(
`Unsupported link type. Please use an otpauth:// or otpauth-migration:// link\n ERR: ${e}`,
);
}
}
function getHashType(algorithm) {
if (algorithm == "SHA1") return "SHA-1";
if (algorithm == "SHA256") return "SHA-256";
@ -32,17 +35,21 @@ function getHashType(algorithm) {
function getByProtonBackup(protonjson) {
try {
if ("entries" in protonjson && protonjson.version == 1) { //Is proton export?
console.log(1)
const protonBE = Object.assign(new ProtonBackupExport(), protonjson)
const res = protonBE.entries.map(x => {
if ("entries" in protonjson && protonjson.version == 1) {
//Is proton export?
console.log(1);
const protonBE = Object.assign(
new ProtonBackupExport(),
protonjson,
);
const res = protonBE.entries.map((x) => {
return getByOtpauthScheme(x.content.uri);
});
console.log(res)
console.log(res);
return res;
} else throw new Error("use proton export backup with version: 1");
} catch (e) {
console.log(e)
console.log(e);
throw new Error(`Unsupported JSON type: ${e}`);
}
}