([]);
+
export const initializePackages = async () => {
const newPackages = await getPackages();
packages.set(newPackages);
};
+
+export const initializeFeaturedPackages = async () => {
+ const packages = await getFeaturedPackages();
+ featuredPackages.set(packages);
+};
diff --git a/packages/gui/src/routes/+layout.svelte b/packages/gui/src/routes/+layout.svelte
index a35153a..5b4e057 100644
--- a/packages/gui/src/routes/+layout.svelte
+++ b/packages/gui/src/routes/+layout.svelte
@@ -48,7 +48,7 @@
figure {
position: absolute;
z-index: 0;
- top: 180px;
+ top: 220px;
left: 0px;
right: 0px;
bottom: 0px;
diff --git a/packages/gui/src/routes/packages/[slug]/+page.svelte b/packages/gui/src/routes/packages/[slug]/+page.svelte
index 8c174e7..d02fee2 100644
--- a/packages/gui/src/routes/packages/[slug]/+page.svelte
+++ b/packages/gui/src/routes/packages/[slug]/+page.svelte
@@ -9,18 +9,21 @@
/** @type {import('./$types').PageData} */
export let data;
- import { packages as packagesStore } from '$libs/stores';
+ import { packages, featuredPackages } from '$libs/stores';
import type { Package } from '@tea/ui/types';
let pkg: Package;
- packagesStore.subscribe((allPackages) => {
- const foundPackage = allPackages.find(({ slug }) => slug === data?.slug) as Package;
- if (foundPackage) {
+ const setPkg = (pkgs: Package[]) => {
+ const foundPackage = pkgs.find(({ slug }) => slug === data?.slug) as Package;
+ if (!pkg && foundPackage) {
pkg = foundPackage;
}
- });
+ };
+
+ packages.subscribe(setPkg);
+ featuredPackages.subscribe(setPkg);
diff --git a/packages/gui/tsconfig.json b/packages/gui/tsconfig.json
index 813ed05..80cda19 100644
--- a/packages/gui/tsconfig.json
+++ b/packages/gui/tsconfig.json
@@ -12,7 +12,7 @@
"paths": {
"$appcss": ["src/app.css"],
"$libs/*": ["src/libs/*"],
- "@api": ["src/lib/api/tauri.ts"],
+ "@api": ["src/libs/api/tauri.ts"],
"$components/*": ["src/components/*"],
"@tea/ui/*": ["../ui/src/*"]
}
diff --git a/packages/ui/tailwind.config.cjs b/packages/ui/tailwind.config.cjs
index 23645c1..ff7dbaf 100644
--- a/packages/ui/tailwind.config.cjs
+++ b/packages/ui/tailwind.config.cjs
@@ -1,15 +1,21 @@
/** @type {import('tailwindcss').Config} */
-const primary = '#00ffd0';
+const green = '#00ffd0';
const black = '#1a1a1a';
const white = '#fff';
const gray = '#949494';
+const purple = '#8000FF';
module.exports = {
content: ['./src/**/*.{html,js,svelte,ts}'],
theme: {
colors: {
- primary,
- green: primary,
+ primary: green,
+ accent: purple,
+ green,
+ purple: {
+ 700: purple,
+ 900: '#B076EC'
+ },
black,
white,
gray
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7fac30c..617e036 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -28,6 +28,7 @@ importers:
svelte: ^3.49.0
svelte-check: ^2.8.0
svelte-preprocess: ^4.10.7
+ svelte-watch-resize: ^1.0.3
svelte2tsx: ^0.5.20
tailwindcss: ^3.2.4
tslib: ^2.3.1
@@ -37,6 +38,7 @@ importers:
'@tauri-apps/api': 1.2.0
buffer: 6.0.3
fuse.js: 6.6.2
+ svelte-watch-resize: 1.0.3
devDependencies:
'@playwright/test': 1.25.0
'@sveltejs/adapter-auto': 1.0.0-next.90
@@ -4202,6 +4204,10 @@ packages:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
dev: false
+ /batch-processor/1.0.0:
+ resolution: {integrity: sha512-xoLQD8gmmR32MeuBHgH0Tzd5PuSZx71ZsbhVxOCRbgktZEPe4SQy7s9Z50uPp0F/f7iw2XmkHN2xkgbMfckMDA==}
+ dev: false
+
/better-opn/2.1.1:
resolution: {integrity: sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==}
engines: {node: '>8.0.0'}
@@ -5043,6 +5049,12 @@ packages:
resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
dev: true
+ /element-resize-detector/1.2.4:
+ resolution: {integrity: sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg==}
+ dependencies:
+ batch-processor: 1.0.0
+ dev: false
+
/emoji-regex/8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
dev: true
@@ -9575,6 +9587,12 @@ packages:
typescript: 4.9.3
dev: true
+ /svelte-watch-resize/1.0.3:
+ resolution: {integrity: sha512-ktqTnkdqfx4YRqeMJcX1jeSnQ2kJUVlj4/rLdaLbhM+RrxN87vS2EZ0cxlGZ7eXV86Ef05Q3dVqEiR+12PeoIw==}
+ dependencies:
+ element-resize-detector: 1.2.4
+ dev: false
+
/svelte/3.53.1:
resolution: {integrity: sha512-Q4/hHkktZogGhN5iqxqSi9sjEVoe/NbIxX4hXEHoasTxj+TxEQVAq66LnDMdAZxjmsodkoI5F3slqsS68U7FNw==}
engines: {node: '>= 8'}