From 19e18096158534c79f8d0bbb4f0f1a14969ca3d4 Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 2 Dec 2022 08:01:24 +0800 Subject: [PATCH 01/10] hide package reviews --- .../gui/src/routes/packages/[slug]/+page.svelte | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/gui/src/routes/packages/[slug]/+page.svelte b/packages/gui/src/routes/packages/[slug]/+page.svelte index 65bd403..9d0e6a2 100644 --- a/packages/gui/src/routes/packages/[slug]/+page.svelte +++ b/packages/gui/src/routes/packages/[slug]/+page.svelte @@ -22,11 +22,12 @@ if (!pkg && foundPackage) { pkg = foundPackage; } - if (!reviews && pkg) { - packagesReviewStore.subscribe(pkg.full_name, (updatedReviews) => { - reviews = updatedReviews; - }); - } + // TODO: uncomment when api is ready + // if (!reviews && pkg) { + // packagesReviewStore.subscribe(pkg.full_name, (updatedReviews) => { + // reviews = updatedReviews; + // }); + // } }; packages.subscribe(setPkg); @@ -38,7 +39,10 @@
+ From 191f2764810a3936bee3d896a2bbd046235f5807 Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 2 Dec 2022 09:52:04 +0800 Subject: [PATCH 02/10] #49 added and use @tea/ui/ImgPreloader --- packages/gui/.prettierrc | 2 +- packages/gui/package.json | 3 +- .../FeaturedPackages/FeaturedPackage.svelte | 12 ++++--- .../FeaturedPackages/FeaturedPackages.svelte | 31 +++++++++++-------- .../GettingStarted/GettingStarted.svelte | 4 +-- .../gui/src/components/NavBar/NavBar.svelte | 6 ++-- .../PackageBanner/PackageBanner.svelte | 14 ++++----- .../PackageReviews/PackageReviews.svelte | 10 +++--- .../components/PageHeader/PageHeader.svelte | 2 +- .../components/Placeholder/Placeholder.svelte | 2 +- .../SearchPackages/SearchPackages.svelte | 19 +++++++++--- .../SearchPackages/SortingButtons.svelte | 4 +-- packages/gui/src/libs/api/mock.ts | 7 +++++ packages/gui/src/libs/stores.ts | 2 +- .../src/routes/packages/[slug]/+page.svelte | 8 ++--- packages/ui/.prettierrc | 2 +- packages/ui/package.json | 3 +- .../ui/src/ArticleCard/ArticleCard.svelte | 12 +++---- packages/ui/src/Button/Button.svelte | 2 +- .../ui/src/ImgLoader/ImgLoader.stories.ts | 28 +++++++++++++++++ packages/ui/src/ImgLoader/ImgLoader.svelte | 24 ++++++++++++++ .../ui/src/PackageCard/PackageCard.svelte | 11 ++++--- .../ui/src/Preloader/Preloader.stories.ts | 14 +++++++++ packages/ui/src/Preloader/Preloader.svelte | 9 ++++++ packages/ui/src/ReviewCard/ReviewCard.svelte | 6 ++-- .../ui/src/SearchInput/SearchInput.svelte | 2 +- pnpm-lock.yaml | 25 +++++++++++---- 27 files changed, 191 insertions(+), 73 deletions(-) create mode 100644 packages/ui/src/ImgLoader/ImgLoader.stories.ts create mode 100644 packages/ui/src/ImgLoader/ImgLoader.svelte create mode 100644 packages/ui/src/Preloader/Preloader.stories.ts create mode 100644 packages/ui/src/Preloader/Preloader.svelte diff --git a/packages/gui/.prettierrc b/packages/gui/.prettierrc index 1176c1f..ea07536 100644 --- a/packages/gui/.prettierrc +++ b/packages/gui/.prettierrc @@ -4,7 +4,7 @@ "singleQuote": true, "trailingComma": "none", "printWidth": 100, - "plugins": ["prettier-plugin-svelte"], + "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], "pluginSearchDirs": ["."], "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] } diff --git a/packages/gui/package.json b/packages/gui/package.json index 77b5824..fd63afa 100644 --- a/packages/gui/package.json +++ b/packages/gui/package.json @@ -27,8 +27,9 @@ "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^4.0.0", "postcss": "^8.4.19", - "prettier": "^2.6.2", + "prettier": "^2.7.1", "prettier-plugin-svelte": "^2.7.0", + "prettier-plugin-tailwindcss": "^0.2.0", "svelte": "^3.49.0", "svelte-check": "^2.8.0", "svelte-preprocess": "^4.10.7", diff --git a/packages/gui/src/components/FeaturedPackages/FeaturedPackage.svelte b/packages/gui/src/components/FeaturedPackages/FeaturedPackage.svelte index 31025de..7f9c3ff 100644 --- a/packages/gui/src/components/FeaturedPackages/FeaturedPackage.svelte +++ b/packages/gui/src/components/FeaturedPackages/FeaturedPackage.svelte @@ -1,29 +1,33 @@ -
- + +

{pkg.name}

{#if pkg.maintainer} -

• {pkg.maintainer}

+

• {pkg.maintainer}

{/if}
From f54c5e4d446f02052dde19f637b7cb2464d09beb Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 2 Dec 2022 15:53:13 +0800 Subject: [PATCH 04/10] test logging --- packages/gui/src/components/SearchPackages/SearchPackages.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/gui/src/components/SearchPackages/SearchPackages.svelte b/packages/gui/src/components/SearchPackages/SearchPackages.svelte index 648a093..412a431 100644 --- a/packages/gui/src/components/SearchPackages/SearchPackages.svelte +++ b/packages/gui/src/components/SearchPackages/SearchPackages.svelte @@ -65,6 +65,7 @@ matchingPackages.push(res[i].item); } } + console.log(res, matchingPackages) setPackages(matchingPackages); } else { setPackages(allPackages); From c6963c08d384dcbecb0546ee76f0cbf276fb2479 Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 2 Dec 2022 16:03:11 +0800 Subject: [PATCH 05/10] test search --- .../components/SearchPackages/SearchPackages.svelte | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/gui/src/components/SearchPackages/SearchPackages.svelte b/packages/gui/src/components/SearchPackages/SearchPackages.svelte index 412a431..64ee27d 100644 --- a/packages/gui/src/components/SearchPackages/SearchPackages.svelte +++ b/packages/gui/src/components/SearchPackages/SearchPackages.svelte @@ -22,9 +22,8 @@ const searchLimit = 5; - const setPackages = (pkgs: GUIPackage[]) => { - console.log('pkgs sub', pkgs); - packages = pkgs.sort((a, b) => { + const setPackages = (pkgs: GUIPackage[], isSearch?: boolean) => { + packages = isSearch ? pkgs : pkgs.sort((a, b) => { if (sortBy === 'popularity') { const aPop = +a.dl_count + a.installs; const bPop = +b.dl_count + b.installs; @@ -59,14 +58,13 @@ const onSearch = (term: string) => { if (term !== '' && term.length > 1) { const res = packagesIndex.search(term); - const matchingPackages = []; + const matchingPackages: GUIPackage[] = []; for (let i = 0; i < searchLimit; i++) { if (res[i]) { matchingPackages.push(res[i].item); } } - console.log(res, matchingPackages) - setPackages(matchingPackages); + setPackages(matchingPackages, true); } else { setPackages(allPackages); } From 8531041a23cde58b72f48024d2329e7350e988d0 Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 2 Dec 2022 16:06:23 +0800 Subject: [PATCH 06/10] lint --- .../SearchPackages/SearchPackages.svelte | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/gui/src/components/SearchPackages/SearchPackages.svelte b/packages/gui/src/components/SearchPackages/SearchPackages.svelte index 64ee27d..afa6a14 100644 --- a/packages/gui/src/components/SearchPackages/SearchPackages.svelte +++ b/packages/gui/src/components/SearchPackages/SearchPackages.svelte @@ -23,18 +23,20 @@ const searchLimit = 5; const setPackages = (pkgs: GUIPackage[], isSearch?: boolean) => { - packages = isSearch ? pkgs : pkgs.sort((a, b) => { - if (sortBy === 'popularity') { - const aPop = +a.dl_count + a.installs; - const bPop = +b.dl_count + b.installs; - return sortDirection === 'asc' ? aPop - bPop : bPop - aPop; - } else { - // most recent - const aDate = new Date(a.last_modified); - const bDate = new Date(b.last_modified); - return sortDirection === 'asc' ? +aDate - +bDate : +bDate - +aDate; - } - }); + packages = isSearch + ? pkgs + : pkgs.sort((a, b) => { + if (sortBy === 'popularity') { + const aPop = +a.dl_count + a.installs; + const bPop = +b.dl_count + b.installs; + return sortDirection === 'asc' ? aPop - bPop : bPop - aPop; + } else { + // most recent + const aDate = new Date(a.last_modified); + const bDate = new Date(b.last_modified); + return sortDirection === 'asc' ? +aDate - +bDate : +bDate - +aDate; + } + }); }; packagesStore.subscribe((v) => { From f1307333b3b3b8db42278add2f1900a8e3b778c4 Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 2 Dec 2022 16:10:27 +0800 Subject: [PATCH 07/10] simplify search --- .../components/SearchPackages/SearchPackages.svelte | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/gui/src/components/SearchPackages/SearchPackages.svelte b/packages/gui/src/components/SearchPackages/SearchPackages.svelte index afa6a14..435af28 100644 --- a/packages/gui/src/components/SearchPackages/SearchPackages.svelte +++ b/packages/gui/src/components/SearchPackages/SearchPackages.svelte @@ -59,13 +59,9 @@ const onSearch = (term: string) => { if (term !== '' && term.length > 1) { - const res = packagesIndex.search(term); - const matchingPackages: GUIPackage[] = []; - for (let i = 0; i < searchLimit; i++) { - if (res[i]) { - matchingPackages.push(res[i].item); - } - } + const res = packagesIndex.search(term, { limit: searchLimit }); + const matchingPackages: GUIPackage[] = res.map((v) => v.item); + setPackages(matchingPackages, true); } else { setPackages(allPackages); From 82c01b0818748a13f502972c15b508411bd571ad Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 2 Dec 2022 16:38:01 +0800 Subject: [PATCH 08/10] #55 add more success resolution on install --- .../SearchPackages/SearchPackages.svelte | 4 ++-- packages/gui/src/libs/api/tauri.ts | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/gui/src/components/SearchPackages/SearchPackages.svelte b/packages/gui/src/components/SearchPackages/SearchPackages.svelte index 435af28..e6a2bbd 100644 --- a/packages/gui/src/components/SearchPackages/SearchPackages.svelte +++ b/packages/gui/src/components/SearchPackages/SearchPackages.svelte @@ -20,7 +20,7 @@ let sortBy = 'popularity'; let sortDirection: 'asc' | 'desc' = 'desc'; - const searchLimit = 5; + const searchLimit = 10; const setPackages = (pkgs: GUIPackage[], isSearch?: boolean) => { packages = isSearch @@ -42,7 +42,7 @@ packagesStore.subscribe((v) => { allPackages = v; setPackages(allPackages); - if (!packagesIndex) { + if (!packagesIndex && allPackages.length) { // dont remove or this can get crazy packagesIndex = new Fuse(allPackages, { keys: ['name', 'full_name', 'desc'] diff --git a/packages/gui/src/libs/api/tauri.ts b/packages/gui/src/libs/api/tauri.ts index dc25694..e091803 100644 --- a/packages/gui/src/libs/api/tauri.ts +++ b/packages/gui/src/libs/api/tauri.ts @@ -92,17 +92,26 @@ async function installPackageCommand(full_name: string) { const teaInstallCommand = new Command('tea-install', [`+${full_name}`, 'true']); teaInstallCommand.on('error', reject); - const handleLineOutput = async (line: string) => { + const handleLineOutput = async (line: string | any) => { const c = await child; - if (line.includes('installed:')) { + if (line?.code === 0 || line.includes('installed:')) { c.kill(); resolve(c.pid); + } else if (line?.code === 1) { + reject(); } }; teaInstallCommand.stdout.on('data', handleLineOutput); teaInstallCommand.stderr.on('data', handleLineOutput); - + teaInstallCommand.on('close', (line: string) => { + console.log('command closed!'); + handleLineOutput(line || ''); + }); + teaInstallCommand.on('error', (line: string) => { + console.log('command error!', line); + handleLineOutput(line || ''); + }); const child = teaInstallCommand.spawn(); }); } From 7c9ad868263a921313e34e97cc1d1c93dec81ce0 Mon Sep 17 00:00:00 2001 From: neil Date: Mon, 5 Dec 2022 15:57:53 +0800 Subject: [PATCH 09/10] #38 layout for tea cli banner - additional cleanup --- .../BigBlackSpace/BigBlackSpace.svelte | 3 +-- .../src/components/CliBanner/CliBanner.svelte | 25 +++++++++++++++++-- .../gui/src/components/NavBar/NavBar.svelte | 2 +- packages/gui/src/libs/api/tauri.ts | 9 ++++--- packages/gui/src/routes/+layout.svelte | 6 ++--- .../ui/src/SearchInput/SearchInput.svelte | 4 ++- 6 files changed, 37 insertions(+), 12 deletions(-) diff --git a/packages/gui/src/components/BigBlackSpace/BigBlackSpace.svelte b/packages/gui/src/components/BigBlackSpace/BigBlackSpace.svelte index c6701a4..5aa397a 100644 --- a/packages/gui/src/components/BigBlackSpace/BigBlackSpace.svelte +++ b/packages/gui/src/components/BigBlackSpace/BigBlackSpace.svelte @@ -1,6 +1,5 @@ - +
diff --git a/packages/gui/src/components/CliBanner/CliBanner.svelte b/packages/gui/src/components/CliBanner/CliBanner.svelte index 0415675..d268cb7 100644 --- a/packages/gui/src/components/CliBanner/CliBanner.svelte +++ b/packages/gui/src/components/CliBanner/CliBanner.svelte @@ -1,6 +1,27 @@ - +
+
+
+ tea +
+

tea.cli ver. 0.6.0

+
+
+ + + +
+
diff --git a/packages/gui/src/components/NavBar/NavBar.svelte b/packages/gui/src/components/NavBar/NavBar.svelte index e45c6f6..7fec170 100644 --- a/packages/gui/src/components/NavBar/NavBar.svelte +++ b/packages/gui/src/components/NavBar/NavBar.svelte @@ -79,7 +79,7 @@ - + {#each routes as route}
  • diff --git a/packages/gui/src/libs/api/tauri.ts b/packages/gui/src/libs/api/tauri.ts index e091803..eb3be09 100644 --- a/packages/gui/src/libs/api/tauri.ts +++ b/packages/gui/src/libs/api/tauri.ts @@ -92,12 +92,15 @@ async function installPackageCommand(full_name: string) { const teaInstallCommand = new Command('tea-install', [`+${full_name}`, 'true']); teaInstallCommand.on('error', reject); - const handleLineOutput = async (line: string | any) => { + const handleLineOutput = async (line: string | { code: number }) => { const c = await child; - if (line?.code === 0 || line.includes('installed:')) { + if ( + (typeof line === 'string' && line.includes('installed:')) || + (typeof line !== 'string' && line?.code === 0) + ) { c.kill(); resolve(c.pid); - } else if (line?.code === 1) { + } else if (typeof line !== 'string' && line?.code === 1) { reject(); } }; diff --git a/packages/gui/src/routes/+layout.svelte b/packages/gui/src/routes/+layout.svelte index 5b4e057..d659455 100644 --- a/packages/gui/src/routes/+layout.svelte +++ b/packages/gui/src/routes/+layout.svelte @@ -12,13 +12,13 @@
    -