mirror of
https://github.com/ivabus/gui
synced 2025-04-23 14:07:14 +03:00
fix uninstall
This commit is contained in:
parent
603ce7ab79
commit
cc767e510b
6 changed files with 20 additions and 35 deletions
|
@ -1,5 +1,5 @@
|
|||
import { ipcMain, app, BrowserWindow } from "electron";
|
||||
import { getInstalledPackages } from "./tea-dir";
|
||||
import { deletePackageFolder, getInstalledPackages } from "./tea-dir";
|
||||
import { readSessionData, writeSessionData } from "./auth";
|
||||
import type { Packages, Session } from "../../src/libs/types";
|
||||
import * as log from "electron-log";
|
||||
|
@ -133,15 +133,13 @@ export default function initializeHandlers() {
|
|||
ipcMain.handle(
|
||||
"delete-package",
|
||||
async (_, { fullName, version }: { fullName: string; version: string }) => {
|
||||
let error = "";
|
||||
try {
|
||||
log.info("deleting package:", fullName);
|
||||
await deletePackageFolder(fullName, version);
|
||||
} catch (e) {
|
||||
log.error(e);
|
||||
error = e.message;
|
||||
return e;
|
||||
}
|
||||
return error;
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
@ -30,7 +30,11 @@
|
|||
for (const [i, v] of versions.entries()) {
|
||||
if (i) {
|
||||
// skip the latest version = 0
|
||||
await packagesStore.deletePkg(pkg, v);
|
||||
try {
|
||||
await packagesStore.deletePkg(pkg, v);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
pruning = false;
|
||||
|
@ -39,7 +43,7 @@
|
|||
|
||||
<section class="mt-4 bg-black">
|
||||
<header class="flex">
|
||||
<figure class="grow-1 w-1/3 relative">
|
||||
<figure class="grow-1 relative w-1/3">
|
||||
<img class="w-full" src={pkg.thumb_image_url} alt={pkg.full_name} />
|
||||
{#if pkg.install_progress_percentage && pkg.install_progress_percentage < 100}
|
||||
<div class="absolute left-0 top-0 z-40 h-full w-full bg-black bg-opacity-50">
|
||||
|
|
|
@ -231,10 +231,9 @@ export const setBadgeCount = async (count: number) => {
|
|||
};
|
||||
|
||||
export const deletePackage = async (args: { fullName: string; version: string }) => {
|
||||
try {
|
||||
await ipcRenderer.invoke("delete-package", args);
|
||||
} catch (error) {
|
||||
log.error(error);
|
||||
const result = await ipcRenderer.invoke("delete-package", args);
|
||||
if (result instanceof Error) {
|
||||
throw result;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -254,11 +253,6 @@ export const writePackageCache = async (pkgs: Packages) => {
|
|||
}
|
||||
};
|
||||
|
||||
export const installTeaCli = async (): Promise<string> => {
|
||||
const res = await ipcRenderer.invoke("install-tea-cli");
|
||||
return res.version;
|
||||
};
|
||||
|
||||
export const topbarDoubleClick = async () => {
|
||||
try {
|
||||
ipcRenderer.invoke("topbar-double-click");
|
||||
|
|
|
@ -376,10 +376,6 @@ export const writePackageCache = async (pkgs: Packages) => {
|
|||
console.log("write package cache", pkgs);
|
||||
};
|
||||
|
||||
export const installTeaCli = async (): Promise<{ version: string; message: string }> => {
|
||||
return { version: "0.0.0", message: "" };
|
||||
};
|
||||
|
||||
export const topbarDoubleClick = async () => {
|
||||
console.log("topbar double click");
|
||||
};
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import { writable } from "svelte/store";
|
||||
import { goto } from "$app/navigation";
|
||||
|
||||
import { installTeaCli } from "@native";
|
||||
const log = window.require("electron-log");
|
||||
|
||||
export default function initNavStore() {
|
||||
|
@ -21,12 +20,6 @@ export default function initNavStore() {
|
|||
let isMovingNext = false;
|
||||
let isMovingBack = false;
|
||||
|
||||
installTeaCli().then((version: string) => {
|
||||
if (!version) {
|
||||
showWelcome.set(true);
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
showWelcome,
|
||||
historyStore,
|
||||
|
|
|
@ -222,6 +222,10 @@ To read more about this package go to [${guiPkg.homepage}](${guiPkg.homepage}).
|
|||
}, 3000);
|
||||
} catch (error) {
|
||||
log.error(error);
|
||||
notificationStore.add({
|
||||
message: `Package ${pkg.full_name} failed to uninstall.`,
|
||||
type: NotificationType.ERROR
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -234,15 +238,11 @@ To read more about this package go to [${guiPkg.homepage}](${guiPkg.homepage}).
|
|||
};
|
||||
|
||||
const deletePkg = async (pkg: GUIPackage, version: string) => {
|
||||
try {
|
||||
log.info("deleting package: ", pkg.full_name, " version: ", version);
|
||||
await deletePackage({ fullName: pkg.full_name, version });
|
||||
updatePackage(pkg.full_name, {
|
||||
installed_versions: pkg.installed_versions?.filter((v) => v !== version)
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(error);
|
||||
}
|
||||
log.info("deleting package: ", pkg.full_name, " version: ", version);
|
||||
await deletePackage({ fullName: pkg.full_name, version });
|
||||
updatePackage(pkg.full_name, {
|
||||
installed_versions: pkg.installed_versions?.filter((v) => v !== version)
|
||||
});
|
||||
};
|
||||
|
||||
const writePackageCacheWithDebounce = withDebounce(writePackageCache);
|
||||
|
|
Loading…
Reference in a new issue