diff --git a/modules/desktop/src/components/top-bar/profile-nav-button.svelte b/modules/desktop/src/components/top-bar/profile-nav-button.svelte index e19a4a2..db42ee4 100644 --- a/modules/desktop/src/components/top-bar/profile-nav-button.svelte +++ b/modules/desktop/src/components/top-bar/profile-nav-button.svelte @@ -7,7 +7,6 @@ const toggleSideNav = () => { - console.log("toggle", $sideNavOpen) navStore.sideNavOpen.update((v) => !v); } diff --git a/modules/desktop/src/components/welcome-modal/welcome-modal.svelte b/modules/desktop/src/components/welcome-modal/welcome-modal.svelte new file mode 100644 index 0000000..e7eac91 --- /dev/null +++ b/modules/desktop/src/components/welcome-modal/welcome-modal.svelte @@ -0,0 +1,81 @@ + + +
+
+
+ welcome +
+
+

Welcome to the tea app!

+

This app is your gateway into the world of open-source software. Easily explore and manage packages with a click of a button. This app will notify you of any available software updates to ensure you’re safe and secure. Under the hood is the powerful tea cli.

+ +

tea cli is required in order to use our app. Clicking the link above will automatically install it via your command-line.

+
+
+
+ + \ No newline at end of file diff --git a/modules/desktop/src/libs/native-electron.ts b/modules/desktop/src/libs/native-electron.ts index 2fcd17c..6344579 100644 --- a/modules/desktop/src/libs/native-electron.ts +++ b/modules/desktop/src/libs/native-electron.ts @@ -212,3 +212,18 @@ export const submitLogs = async () => { const response = await ipcRenderer.invoke("submit-logs"); return response; }; + +export const isPackageInstalled = async (fullName: string, version?: string): Promise => { + let isInstalled = false; + const pkgs = await getInstalledPackages(); + const teaPkg = pkgs.find((p) => p.full_name === fullName); + + if (teaPkg) { + isInstalled = true; + if (version) { + isInstalled = teaPkg.installed_versions.includes(version); + } + } + + return isInstalled; +}; diff --git a/modules/desktop/src/libs/native-mock.ts b/modules/desktop/src/libs/native-mock.ts index 339d63f..30bdf5c 100644 --- a/modules/desktop/src/libs/native-mock.ts +++ b/modules/desktop/src/libs/native-mock.ts @@ -340,3 +340,7 @@ export const getProtocolPath = async (): Promise => ""; export const submitLogs = async () => { return "synced!"; }; + +export const isPackageInstalled = async (_v?: string): Promise => { + return true; +}; diff --git a/modules/desktop/src/libs/stores/pkgs.ts b/modules/desktop/src/libs/stores/pkgs.ts index 87564b2..765d84a 100644 --- a/modules/desktop/src/libs/stores/pkgs.ts +++ b/modules/desktop/src/libs/stores/pkgs.ts @@ -115,17 +115,16 @@ To read more about this package go to [${guiPkg.homepage}](${guiPkg.homepage}). }); }; - const checkTeaCLIPackage = async (teaPkg: Package, installedTeaCliPkg?: InstalledPackage) => { - const isLatest = - installedTeaCliPkg && installedTeaCliPkg.installed_versions[0] === teaPkg.version; - log.info("check Tea-CLI if latest:", !isLatest); - if (!isLatest) { + const checkTeaCLIPackage = async (teaPkg: Package) => { + const guiPkg = await syncPackageBottlesAndState(teaPkg.full_name); + log.info("check Tea-CLI if state:", guiPkg?.state); + if (guiPkg?.state === PackageStates.NEEDS_UPDATE && guiPkg?.installed_versions?.length) { notificationStore.add({ message: "install cli", i18n_key: "package.update-tea-cli", type: NotificationType.ACTION_BANNER, callback: installTea, - callback_label: installedTeaCliPkg ? "INSTALL" : "UPDATE" + callback_label: "UPDATE" }); } }; @@ -153,9 +152,8 @@ To read more about this package go to [${guiPkg.homepage}](${guiPkg.homepage}). const installedPkgs: InstalledPackage[] = await getInstalledPackages(); log.info("sync test for tea-cli"); - const installedTea = installedPkgs.find((p) => p.full_name === "tea.xyz"); const distTea = pkgs.find((p) => p.full_name === "tea.xyz"); - if (distTea) await checkTeaCLIPackage(distTea, installedTea); + if (distTea) await checkTeaCLIPackage(distTea); log.info("set NEEDS_UPDATE state to pkgs"); let progressCount = 0; diff --git a/modules/desktop/src/routes/+page.svelte b/modules/desktop/src/routes/+page.svelte index 79e4858..8104285 100644 --- a/modules/desktop/src/routes/+page.svelte +++ b/modules/desktop/src/routes/+page.svelte @@ -1,19 +1,23 @@
@@ -33,6 +37,9 @@
+{#if !teaPkg || PackageStates.AVAILABLE === teaPkg?.state || !teaPkg?.installed_versions?.length } + +{/if}