diff --git a/packages/gui/src/components/TopPackages/TopPackages.svelte b/packages/gui/src/components/TopPackages/TopPackages.svelte
new file mode 100644
index 0000000..9917058
--- /dev/null
+++ b/packages/gui/src/components/TopPackages/TopPackages.svelte
@@ -0,0 +1,60 @@
+
+
+
+ TOP PACKAGES
+ View all packages
+
+
+ {#if packages.length > 0}
+ {#each packages as pkg}
+
+
{
+ try {
+ pkg.state = PackageStates.INSTALLING;
+ await installPackage(pkg.full_name);
+ pkg.state = PackageStates.INSTALLED;
+ } catch (error) {
+ console.error(error);
+ }
+ }}
+ />
+
+ {/each}
+ {:else}
+ {#each Array(9) as _}
+
+ {/each}
+ {/if}
+
diff --git a/packages/gui/src/libs/api/mock.ts b/packages/gui/src/libs/api/mock.ts
index 9e1abf2..c89f576 100644
--- a/packages/gui/src/libs/api/mock.ts
+++ b/packages/gui/src/libs/api/mock.ts
@@ -241,3 +241,13 @@ export async function getFeaturedCourses(): Promise {
return mockCourses;
}
+
+export async function getTopPackages(): Promise {
+ await delay(500);
+ return packages.slice(0, 9).map((pkg) => {
+ return {
+ ...pkg,
+ state: PackageStates.AVAILABLE
+ };
+ });
+}
diff --git a/packages/gui/src/libs/api/tauri.ts b/packages/gui/src/libs/api/tauri.ts
index 27763f2..c57bf4c 100644
--- a/packages/gui/src/libs/api/tauri.ts
+++ b/packages/gui/src/libs/api/tauri.ts
@@ -142,3 +142,8 @@ export async function getFeaturedCourses(): Promise {
const courses = await mock.getFeaturedCourses();
return courses;
}
+
+export async function getTopPackages(): Promise {
+ const packages = await mock.getTopPackages();
+ return packages;
+}
diff --git a/packages/gui/src/routes/+layout.svelte b/packages/gui/src/routes/+layout.svelte
index d659455..92adcef 100644
--- a/packages/gui/src/routes/+layout.svelte
+++ b/packages/gui/src/routes/+layout.svelte
@@ -15,7 +15,7 @@
-
+
{#if backLink}
←
@@ -46,10 +46,10 @@
overflow-y: scroll;
}
figure {
- position: absolute;
+ position: fixed;
z-index: 0;
top: 220px;
- left: 0px;
+ left: 240px;
right: 0px;
bottom: 0px;
background-image: url('/images/footer-grid-element.svg');
diff --git a/packages/gui/src/routes/+page.svelte b/packages/gui/src/routes/+page.svelte
index 7edaad4..ccd3e10 100644
--- a/packages/gui/src/routes/+page.svelte
+++ b/packages/gui/src/routes/+page.svelte
@@ -5,6 +5,7 @@
import PageHeader from '$components/PageHeader/PageHeader.svelte';
import FeaturedPackages from '$components/FeaturedPackages/FeaturedPackages.svelte';
import GettingStarted from '$components/GettingStarted/GettingStarted.svelte';
+ import TopPackages from '$components/TopPackages/TopPackages.svelte';
backLink.set('');
@@ -16,6 +17,9 @@
+