Compare commits

..

No commits in common. "b12eacb5e1f796bed5766eb36f0f8686fec04eac" and "73ea81af549df7c4a659d9907d743e1b40c1d7e1" have entirely different histories.

6 changed files with 13 additions and 25 deletions

@ -1,6 +1,4 @@
# TOTPFIT
### Another 2FAuthenticator based on TOTP for Zepp Amazfit GTS 4
# TOTPFIT - Another 2FAuthenticator based on TOTP for Zepp Amazfit GTS 4
Features:
- Supports of otpauth links with parameters "issuer", "algorithm", "digits", "period"
- Addition/Edition/Deletion of TOTPs from mobile settings app
- Supports otpauth links with parameters "issuer", "algorithm", "digits", "period"

@ -6,15 +6,14 @@
"appType": "app",
"version": {
"code": 1,
"name": "1.1.0"
"name": "1.0.1"
},
"icon": "icon.png",
"vender": "zepp",
"description": "Another 2FAuthenticator based on TOTP for Zepp Amazfit GTS 4"
"description": "TOTP Authenticator for Amazfit devices"
},
"permissions": [
"data:os.device.info",
"device:os.local_storage"
"data:os.device.info"
],
"runtime": {
"apiVersion": {

@ -1,9 +1,12 @@
{
"name": "totpfit",
"version": "1.1.0",
"description": "Another 2FAuthenticator based on TOTP for Zepp Amazfit GTS 4",
"version": "1.0.0",
"description": "TOTP Authenticator for Amazfit devices",
"main": "app.js",
"author": "Lisoveliy",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "MIT",
"devDependencies": {
"@zeppos/device-types": "^3.0.0"

@ -1,30 +1,19 @@
import { RenderAddButton } from "./render/totpRenderer";
import { initLoop } from "./render/index/renderer";
import { BasePage } from "@zeppos/zml/base-page";
import { LocalStorage } from "@zos/storage";
const app = getApp();
let waitForFetch = true;
let localStorage = new LocalStorage();
Page(
BasePage({
onInit() {
this.getTOTPData()
.then((x) => {
app._options.globalData.TOTPS = JSON.parse(x) ?? [];
localStorage.setItem(
"TOTPs",
JSON.stringify(app._options.globalData.TOTPS)
);
this.initPage();
})
.catch((x) => {
console.log(`Init failed: ${x}`);
app._options.globalData.TOTPS = JSON.parse(
localStorage.getItem("TOTPs", null) ?? []
);
app._options.globalData.TOTPS = [];
this.initPage();
});
},

@ -20,8 +20,8 @@ function renderContainers(buffer) {
RenderTOTPContainer(i, buffer[i].issuer, buffer[i].client);
}
}
const renderData = [];
function renderTOTPs(buffer) {
for (let i = 0; i < buffer.length; i++) {
let otpData = TOTP.copy(buffer[i]).getOTP();

@ -7,7 +7,6 @@ import { createWidget, widget, align, text_style } from "@zos/ui";
const { width, height } = getDeviceInfo();
const buttonWidth = width - width / 20; //Width of container
const buttonHeight = height / 4; //Height of container
const containerColor = 0x303030; //Color of container
const containerRadius = 20; //Corner radius of container