52 Commits

Author SHA1 Message Date
Huakun Shen
1e7d94e106
update tauri-plugin-shellx, hide powershell window in whereIsCommand 2025-03-02 19:50:51 -05:00
Huakun
5fc99ca26c
Fix: listview filter (#225)
* chore: bump desktop package version to 0.1.30

* chore: increase Node.js memory limit for desktop build process

* chore: configure Node.js memory limit for desktop build

* fix(desktop): list view filter mode
2025-03-02 12:51:53 -05:00
Huakun
41302a29ff
fix: list view item's action panel and listview undefined error (#224)
* fix: list view item's action panel and listview undefined error

* chore: increase Node.js memory limit for build processes

* chore: configure Node.js memory limit for Tauri build process

* refactor: delete unecessary ui component code
2025-03-01 21:43:23 -05:00
Huakun
8751fbeff4
feat: add custom configurable app search paths (#221)
* feat: add custom configurable app search paths

* feat(i18n): add English and Chinese translation for app search path settings

* format
2025-03-01 12:36:37 -05:00
Anshul Raj Verma
f09b2832e9
fix: show action icon in action panel (#219) 2025-03-01 05:57:21 -05:00
Huakun
70f7d4131e
[feat] Improve list view with fuse search and virtual list (#215)
* chore: comment out auto install for on boarding, its behavior and speed is unpredictable

* fix: clear action when ui template exits

* fix: update extension command search store references

* feat(ui): implement virtual list with advanced search and section handling

- Add @tanstack/svelte-virtual for efficient list rendering
- Integrate Fuse.js for advanced search across list items and sections
- Create dynamic virtual list with support for section headers
- Enhance list view with flexible search and filtering capabilities
- Add new types and components for virtual list management

* chore(desktop): bump package version to 0.1.29
2025-02-28 07:47:09 -05:00
Huakun
97cd20906f
Feature: add extension api (hide and paste) (#210)
* feat: add paste API to extension API

* feat(desktop): enhance clipboard and hotkey utilities

- Add `hideAndPaste` utility function to simplify window hiding and clipboard pasting
- Adjust key press and sleep timings for more reliable input simulation
- Implement window focus listener in clipboard extension
- Bind input element reference for automatic focus management

* feat(permissions): enhance clipboard permission handling

- Update clipboard permission schema to include paste permission
- Modify clipboard API to check for paste permission before executing
- Refactor permission map and schema for more flexible permission management

* feat(desktop): refactor extension command search and rendering

- Add `svelte-inspect-value` for debugging
- Implement new `ExtCmds` component to replace `ExtCmdsGroup`
- Enhance extension command search with separate Fuse.js instances for installed and dev extensions
- Simplify extension command filtering and rendering logic
- Add derived stores for extension commands with improved type safety

* feat(desktop): improve extension command search filtering

* bump @kksh/api version

* feat(permissions): add clipboard paste permission description
2025-02-26 04:47:43 -05:00
Huakun
a92c266d32
Feature: fine grain kill API for extension (#201)
* upgrade tauri-plugin-shellx

* feat(shell): add killPid method to shell API with new permission

* fix: extension new window

* feat(shell): enhance process management and logging in extensions

- Add debug logging for extension process events
- Implement process tracking in UI worker
- Update shell API to support custom process recording
- Modify extension template to demonstrate process spawning
- Refactor shell command handling with improved error handling

* Add killPid extension API to @kksh/api

* chore(deps): update tauri-plugin-shellx-api to version 2.0.15

* pnpm lock

* chore(deps): update dependencies and lock file

- Upgrade ESLint to version 9.21.0
- Update @types/bun to version 1.2.3
- Bump various development dependencies
- Reorganize package.json dependencies in ui package

* chore(deps): update SvelteKit template dependencies

- Add @eslint/js version 9.21.0
- Update package.json dependency order
- Sync pnpm-lock.yaml with package.json changes

* chore: add eslint to desktop

* chore(deps): remove local tauri-plugin-shellx and use published version 2.0.15

* bump desktop to 0.1.28
2025-02-26 02:06:06 -05:00
Huakun
8a9f6bcb09
UI Update (#179)
* feat: add publisher link to extension detail

* fix: improve IconMultiplexer and StoreExtDetail component rendering

* feat: add published date to extension details view

* chore: add moment.js and clean up imports in StoreExtDetail

* fix: support cloudflare worker

Otherwise cloudflare worker gets html instead of json

* refactor: move AppsCmds component to desktop app

* bump: version to 0.1.1

* fix: package.json fetching cors error

* fix: improve files field validation in verify command

* feat: make dropdown width in main search input dynamic

* feat(ui): add install button for web extension store

* update submodules

* format

* feat(desktop): disable clipboard auto paste for windows and linux

They are not implemented yet, current code only works for mac
2025-02-21 05:59:09 -05:00
Huakun
369a9719fd
feat(desktop): implement quick install hotkey for store (#164) 2025-02-19 08:47:43 -05:00
Huakun
9cfb59e7e4
fix: system command not triggerred (#165) 2025-02-19 07:56:36 -05:00
Huakun Shen
c8112b43bc
feat(extension): add drag region to markdown view 2025-02-13 05:18:54 -05:00
Huakun Shen
474b0f59b3
revert: PR #103
@kksh/svelte5@0.1.16 seems to cause errors
2025-02-13 03:18:34 -05:00
Huakun Shen
6bd7d71df6
Fix: svelte template (#103)
* chore: bump @kksh/svelte5 to 0.1.16 and update dependencies

* chore: bump create-kunkun package version to 0.1.46

* chore: update pnpm lock
2025-02-12 09:26:11 -05:00
Huakun Shen
5573923a76
perf(desktop): reduce bundle size by ~8.5MB from shiki (#97)
* perf(desktop): reduce bundle size by ~8.5MB from shiki

Use fine grained shiki bundle

* ci: update GitHub Actions workflow build step description
2025-02-07 14:51:28 -05:00
Huakun Shen
839bad6751
Feature: fix extension delete (#96)
* chore: improve database and extension handling

- Remove debug console log in extension uninstall
- Add ON DELETE CASCADE to extension-related foreign keys
- Enable foreign key constraints in database connection
- Update database file extensions from .db to .sqlite
- Modify command value generation for better identification

* fix: add small delay to onboarding page navigation

Without delay the page switch won't be triggered when window first loads
2025-02-07 04:43:24 -05:00
Huakun Shen
490368428e
UI (#94)
* feat: add publisher link to extension detail

* fix: improve IconMultiplexer and StoreExtDetail component rendering

* feat: add published date to extension details view

* chore: add moment.js and clean up imports in StoreExtDetail

* fix: support cloudflare worker

Otherwise cloudflare worker gets html instead of json

* refactor: move AppsCmds component to desktop app

* bump: version to 0.1.1

* fix: package.json fetching cors error

* fix: improve files field validation in verify command
2025-02-07 01:26:56 -05:00
Huakun Shen
872bcfdfd1
Feature: app launcher (#92)
* feat: implement app loader (has performance problem)

* feat: enhance command filtering and search functionality

- Implement command score filtering for various command types
- Add filtered stores for quick links, system commands, and extensions
- Update command components to use new filtering mechanism
- Improve search experience by dynamically filtering results
- Refactor command value handling to use direct name matching
2025-02-06 20:29:56 -05:00
Huakun Shen
33e4451be2
Fix: action panel (#83)
* fix: change action trigger hotkey on win and linux from control + k to alt + k

* chore: Update macOS build matrix to use macos-13 instead of macos-12

* feat: improve action panel, disable actions vimBindings
2025-01-29 18:56:16 -05:00
Huakun Shen
0bb59e4f66
Fix: ext window loading (#82)
* fix: extension new window loading with localStorage

* fix: extension loading in new window

* upgrade: @kksh/svelte5

* refactor: update SideBar import to Sidebar across desktop app

* fix: safely remove test directories with existsSync check

* feat: add open preference command with platform-specific shortcut

* chore: clean up vite config trailing comma

* fix: iframe custom ext loading

* fix: fix template extension loading

* feat: add progress bar to extension form and list views

* feat: add optional description to form view template
2025-01-28 09:44:46 -05:00
Huakun Shen
c93ebd895e
Fix: ext window loading (#81)
* fix: extension new window loading with localStorage

* fix: extension loading in new window

* upgrade: @kksh/svelte5

* refactor: update SideBar import to Sidebar across desktop app

* fix: safely remove test directories with existsSync check

* feat: add open preference command with platform-specific shortcut

* chore: clean up vite config trailing comma
2025-01-28 04:58:54 -05:00
Huakun Shen
e719176b9c
Fix: form submit (#76)
* fix: worker template extension form submit

* bump @kksh/api

* update api package version
2025-01-24 02:37:36 -05:00
Huakun Shen
0cc744592f
Feature: add author, size, readme display for extension store page (#74)
* fix: update email field in KunkunExtManifest to be optional and nullable

* refactor: update Supabase type generation command and enhance database types structure

- Changed the Supabase type generation command to include a specific project reference and output path.
- Refactored the database types in `database.types.ts` for improved readability and added new fields, including `extension_state` and `package_json` in the `ext_publish` table.
- Ensured consistent formatting across type definitions for better maintainability.

* feat: add optional README path to ExtPackageJson and enhance tests for README retrieval

* feat: add optional readmeContent to ExtensionPublishValidationData and retrieve README in validateJsrPackageAsKunkunExtension

* feat: add optional readme field to database types for improved package metadata

* feat: enhance StoreExtDetail to display package metadata including author and contributors

- Added packageJson prop to StoreExtDetail for improved extension metadata display.
- Implemented rendering of author and contributors from packageJson.
- Integrated README content display in StoreExtDetail if available.
- Updated +page.svelte to parse and provide packageJson data using valibot for validation.

* feat: enhance TauriLink component to support conditional rendering based on Tauri environment

- Added detection for Tauri environment using the browser variable.
- Updated the TauriLink component to render a button when in Tauri, and an anchor tag for external links otherwise.
- Improved user experience by ensuring appropriate link behavior based on the application context.

* feat: add unpacked size to npm registry

* feat: replace size in ext_publish table to tarball_size, add unpacked_size (only applicable to npm)

* feat: add pretty-bytes dependency and update debug package version

- Added `pretty-bytes` package with version 6.1.1 to `package.json`.
- Updated `debug` package to use `supports-color@9.4.0` in `pnpm-lock.yaml` for improved compatibility.

* feat: add tarball_size field to database types for improved package metadata

* feat: add readme fetching for npm registry, readme from github

* fix: remove console.log from NPM API test to clean up output

* style: update extension store details

* style: update README section in StoreExtDetail component for improved styling

* fix: update command input placeholder text in English, Russian, and Chinese translations for clarity

* chore: bump version to 0.1.18 in package.json

* fix: lint
2025-01-23 07:07:29 -05:00
Huakun Shen
646801ac99
fix: extension store platform display bug 2025-01-21 05:52:55 -05:00
Huakun Shen
b115e0a574
Feature: i18n (#70)
* chore: add @inlang/paraglide-sveltekit to @kksh/ui

* feat: add i18n to desktop

* fix: add shrink-0 class to mode-toggle button for consistent styling

* feat: add i18n to settings, not working yet

* feat: i18 working

* feat: add i18n for about

* feat: migrate all goto to use i18n.resolveRoute

* feat: finish translating settings to chinese

* feat: add Chinese i18n for troubleshooters

* feat: add russian translation (by AI)

* format: run prettier

* format

* chore: update .prettierignore to exclude src/lib/paraglide/**
2025-01-19 23:22:15 -05:00
Huakun Shen
090271bdb9
fix: improve layout of DialogImageCarousel component
- Adjusted Carousel.Item to use flexbox for better alignment of images.
- Removed unnecessary class attributes for cleaner markup.
- Ensured images maintain their aspect ratio with object-contain styling.
2025-01-18 23:36:18 -05:00
Huakun Shen
402208e95a
Feature: license check (#67)
* feat: add required license field to manifest

* chore: add license MIT to all templates

* feat: add license check to jsr and npm validation

* fix: supabase export

split every item into its own subexport for better debugability

* fix: supabase imports

* feat: hide app when escape is pressed

* fix: update package version in api test from 0.0.6 to 0.0.20

* fix: update test for kunkun extension with new version and commit details

* fix: update kunkun extension test to use version 0.0.4

* fix: update kunkun extension test to reflect new version 0.0.20 and updated commit details

* feat: display downloads in extension details

* feat: add downloads display to store
2025-01-18 22:55:43 -05:00
Huakun Shen
7a3b6f3983
fix: listview action menu (#64)
* refactor: add a valibot schema for package registry validation

* fix: list view action menu

* chore: bump version to 0.1.16 in package.json

* refactor: extract supabase package from api

* ci: remove NODE_OPTIONS from build step and improve error handling in getLatestNpmPkgVersion function
2025-01-18 02:26:23 -05:00
Huakun Shen
21a90259ac
chore: update supabase database types 2025-01-17 00:29:10 -05:00
Huakun Shen
e4d1441d73
Feature: support npm extension publish (#62)
* feat: npm package registry API

* refactor: move package registry files

* refactor: move jsr and npm api to a new package

* ci: add verify-package-export

* test: implement tests for npm package validation as kunkun extension

* chore: add missing dep for package-registry pkg

* feat: make provenance an optional input for npm validation function

* ci: add verify-package-export as dev dep to 2 packages that uses it

* feat: add rekor log API, and return commit from jsr & npm package in validation function

* feat: return github repo info from validation function of jsr and npm

* feat: extend ExtPublishMetadata to include optional GitHub repository details

* fix: eslint for ui package

* refactor: format desktop

* fix: eslint errors in desktop

* format: all code

* ci: add lint to CI

* feat: add more info to validation function returned from package-registry npm jsr

* pnpm lock

* feat: add 2 more variables to supabase extension metadata model

* format

* feat: add provenance card

* feat: add workflow path to ExtPublishMetadata and jsr/npm validation

* update provenance

* feat: make store extension and provenance more responsive

* chore: add globals to ui package

* fix: remove unnecessary any to fix eslint

* fix: svg sanitize

* chore: add @typescript-eslint/eslint-plugin to ui package to fix eslint

* fix: update eslint dep to fix error

* fix: try fixing eslint

* fix: update eslint configuration for improved compatibility

* chore: add globals package and update README for Discord invite

* fix: update eslint rules and upgrade typescript-eslint dependency

- Disabled additional eslint rules to resolve errors:
  - @typescript-eslint/no-unused-expressions
  - svelte/no-inner-declarations
- Upgraded typescript-eslint from version 8.19.1 to 8.20.0 for improved compatibility.

* update pnpm lock

---------

Co-authored-by: Huakun Shen <huaukun.shen@huakunshen.com>
2025-01-16 06:00:07 -05:00
Huakun Shen
80a854e432 refactor: renamed a variable 2025-01-12 12:56:13 -05:00
Huakun Shen
becfc184be
fix: resizable by upgrading @kksh/svelte5 and paneforge to latest (#54)
paneforge has to use next tag. App's list view cannot properly display after I upgrade lots of dependencies
2025-01-10 19:28:46 -05:00
Huakun Shen
e21bef154e
Feature: install extension from JSR (#53)
* chore: upgrade many dependencies

* fix: @kksh/svelte, migrate 5

* refactor: move dialog plugin code out of ui package

* chore: disable check-types in api build.ts

Causing build error in kunkun-services

* feat: add jsr package

* feat: implement jsr package with API and parsers for jsr

* feat: modify API, add function to extract linked github repo from html

* perf: improve jsr package API with @hk/jsr-client

* feat: add jsr package version table for publishing extension

* fix: dependency and type incompatibility in ui package

* feat: add validateJsrPackageAsKunkunExtension function in jsr package

* feat: improve jsr table

* feat: add a ElementAlert component

* feat: update ElementAlert UI

* chore: update deno.lock

* chore: enable submodule support in jsr-publish workflow

* chore: bump version to 0.0.48 in jsr.json

* feat: regenerate supabase types, add author_id

* Move @kksh/jsr package to @kksh/api

* update deno.lock

* chore: change @tauri-plugin/plugin-upload version from git url to version

* feat: add rounded corner for ElementAlert

* chore: update deno.lock

* chore: bump version to 0.0.51 in jsr.json and update import paths for ExtPackageJson

* feat: add publishExtJSR API to SupabaseAPI

* refactor: replace "@hk/jsr-client" from jsr with @huakunshen/jsr-client from npm

* chore: update  deno.lock

* feat: update validateJsrPackageAsKunkunExtension return type

* refactor: improve error message

* feat: add metadata to ext_publish, update database.types.ts

* feat: add models module for Supabase with ExtPublishMetadata and source type enumeration

* feat: support installing JSR package as extension

Since JSR overwrites package.json with its own code to be compatible with npm, causing manifest parsing to be impossible. I add metadata field to ext_publish.
When extension comes from jsr, kunkun app will fetch the original package.json from jsr and overwrite the one modified by jsr.

* fix: add missing dep @tauri-apps/plugin-upload to @kksh/extension

* chore: update version to 0.0.52 in version.ts
2025-01-10 08:23:18 -05:00
Huakun Shen
83efba033d
revert: catalog migration
using catalog caused missing dependency error is bundled app
2025-01-07 14:38:21 -05:00
Huakun Shen
1b8a99d897
Refactor: use pnpm catalog (#49)
* refactor: more packages moved to use catalog

* chore: version update

* refactor: fix a import path
2025-01-06 20:32:13 -05:00
Huakun Shen
6ce27244a5
Feature: on boarding page (#46)
* feat: add deno install page

* feat: add deno install onboarding page

* feat: add ffmpeg, deno, brew install help page

* feat: improve on boarding page with deno install, setting, ffmpeg install

* refactor: update app configuration and onboarding flow

- Improved the onboarding page layout by adding a draggable region.
- Introduced a new writable store `appConfigLoaded` to track the loading status of app configuration.
- Updated the main application page to subscribe to `appConfigLoaded` for better handling of onboarding logic.
- Minor formatting changes in the ffmpeg installation help page for consistency.
2025-01-06 02:51:28 -05:00
Huakun Shen
f89cf8fe6a
Feature: Headless Command (#44)
* chore: add check-types

* refactor: api package file structure update

* feat: add headless worker extension API

* feat: add HeadlessCmd to manifest schema

* feat: make each type of cmds optional in manifest

There may be more types of cmds in the future, this makes backward compatibility easier.

* feat: implement headless extension command in app

A demo cmd implemented as well.

* refactor: move api package's API server files

* refactor: reformat all
2025-01-05 21:12:56 -05:00
Huakun Shen
80ad705f7c
Feature: clipboard history extension (#35)
* feat: implement clipboard history preview

* feat: clipboard history pagination

* refactor: format code

* fix: sql schema

* feat: add json metadata to unit test

* upgrade: js dependencies

* upgrade: desktop rust dependencies

* fix: clipboard history duplicate key bug when searchTerm clears

* upgrade: tauri-plugin-network submodule solve pnpm lock file

* fix: grpc package CI

* chore: update turbo.json outputs to include dist and build directories

* fix: try to fix template-ext-vue tailwind module.export

* ci: prevent error when protoc is not installed in CF pages

* fix: update writeFile function to accept ReadableStream as data type
2024-12-19 09:31:56 -05:00
Huakun Shen
84b82f47a4
Improve Icon Multiplexer (#31)
* feat: improve IconMultiplexer

* feat: add built-in command "reload extensions"

* bump package version

* feat: replace @gcornut/valibot-json-schema with @valibot/to-json-schema

* fix: some icon bug

* fix: import path

* ci: debug
2024-11-21 07:04:48 -05:00
Huakun Shen
b7724a25ee
Upgrade svelte templates to use @kksh/svelte5 (#29)
* chore: add workspace settings in root package.json

* update dependencies

* upgrade: @kksh/svelte to @kksh/svelte5 in two svelte tempaltes

* feat: add fallback for image multiplexer

* ci: remove bun.lockb from root to avoid cloudflare error
2024-11-21 01:57:48 -05:00
Huakun Shen
ad30a8c3bb
fix: duplicate api calls from comlink (#27)
* refactor: replace comlink with kkrpc

* fix: import path in api pkg and btn styling in ui iframe page

* fix: fixed fetch API from kkRPC migrate

* refactor: replace comlink-stdio with kkrpc

* update deno lock

* bump @kksh/api

* update API version

* publish api pkg again to fix kkrpc version

* update pnpm lock

* dep: fix dependency problems

* dep: update deno.lock

* chore: remove 2 submodules

they were added only for integration development

* update pnpm lock

* fix: test template path

* format: with prettier

* downgrade next version

* ci: try to fix next build on windows

* try to fix CI

* Revert "try to fix CI"

This reverts commit b9c63c392f50f1d2d3ceec406e49b1af2348c740.

* upgrade tauri-api-adapter

* try to fix next

* remove templates from pnpm workspace

* update CI test

* publish @kksh/api with upgraded tauri-api-adapter to fix nextjs template
2024-11-19 05:57:31 -05:00
Huakun Shen
e9609cf8ee
Update Extension API (#25)
* feat: add file drop API to ui worker extension

* update: some shell API
2024-11-15 17:39:01 -05:00
Huakun Shen
7b9be980b9
feat: implement extension spawned process auto cleanup
If extension doesn't kill the processes it spawns, Kunkun will auto clean up all spawned processes on exit/window close
2024-11-12 14:40:27 -05:00
Huakun Shen
292d03a51e style: disable window decoration and fixed a flex box issue from unocss 2024-11-12 12:48:03 -05:00
Huakun Shen
7865d18580
Feature: Settings (#23)
* feat: add pin screenshot builtin command

* feat: pin screenshot command nows zoom and scroll

* chore: upgrade @kksh/svelte5

* feat: add mdns built-in command

* feat: add sidebar for settings page

* fix: builtin command command listing problem with key id in "each" loop

* feat: add settings

* style: modify settings sidebar style

* feat: add sidebar to troubleshooter pages

* fix: some styling bug

* feat: add menu item highlight for sidebar

* feat: improve some keyboard interaction logic

* fix: improve troubleshooter flex box

* feat: add uuid for mdns

* fix mdns host removing caused by dead lock

* feat: settings page implemented, hotkey, hide on blur implemented

* style: update styles in settings

* feat: improve search bar dropdown menu items
2024-11-11 17:15:42 -05:00
Huakun Shen
71e5c5f316
fix: avoid importing @kksh/api/ui/worker in @kksh/ui
the worker package initialize comlink API's and cause trouble for regular website when ui package is imported
2024-11-08 16:51:38 -05:00
Huakun Shen
383270c93a
[features] UI Worker Extension, Troubleshooters, Quick Link (#21)
* perf: reduce desktop frontend bundle from 10 to 2MB

Use shiki fine-grained bundle, avoid bundling all languages and themes

* feat: add cross-page transition for ext store back button with gasp Flip

* refactor: move StoreListing.svelte in @kksh/ui back to desktop

I realized that StoreListing is a pure wrapper, all the interactions are done with props. Even if this component is later used in other projects, it either lacks flexibility or require more changes. So it's moved back to desktop as a regular +page.svelte

* feat: Add a bunch of builtin commands for app internal control

* feat: add system commands

* feat: add extensionsInstallDir var to +layout.ts, exposed to all pages

All pages won't need to get the path asynchronously, it's kind of like a global constant

* [feat] troubleshooters (#15)

* feat: add extension loading troubleshooter

* feat: add extension permission inspector

* feat: add extension window map troubleshooter (WIP)

* fix: unregister extension when window is closed

* Feature: Deep Link + Supabase OAuth + open extension in store with deep link (#16)

* feat(auth): add deep link and supabase auth

* fix(deep-link): fix some routing and reactive page rendering

* feat: implement supabase auth with pkce auth flow

* feat: add createTauriSyncStore factory function for creating sync svelte store

* Feature: Quick Link (#17)

* feat: add page for add quick link (not working yet)

* upgrade @kksh/svelte5

* fix: infinite recursive footer

* dep: add @kksh/svelte5 to ui package

* dep: add supabase-js

* dep: add @iconify/svelte

* style: modify StoreExtDetail width control

* fixed: UI for extension store detail

* feat: add page to create quick link

* feat: display quick links in cmd palette

* snapshot

* show queries in command input

* feat: quick link fully implemented

* refactor: format all with prettier

* feat: add icon picker for quick link adder

* fix: make invert for icon optional, caused many types to crash

* [Feature] Implement UI template worker command (#20)

* feat: add ui worker command loading code (not working yet)

* feat: add unocss

* feat: add-dev-extension page

* feat: implemented list view template

* feat: implement list view detail view width, add demo extension for dev

* fix: resize listview, add metadata component

* fix: metadata tag component  background color

* feat: implement boolean (checkbox), date fields for form template

* feat: support default, optional, placeholder for form fields

* feat: implemented form view Select Field

* feat: markdown view

* feat: fixed a markdown schema type error

* fix: markdown styling

* feat: implement action panel for UI worker template list view

* format: format all

* chore: bump desktop version

* fix: fix search term bind in list view
2024-11-08 15:34:37 -05:00
Huakun Shen
d3af1b7b02
[perf]: reduce desktop frontend bundle size from 10MB to 2MB (#14)
* perf: reduce desktop frontend bundle from 10 to 2MB

Use shiki fine-grained bundle, avoid bundling all languages and themes

* feat: add cross-page transition for ext store back button with gasp Flip

* refactor: move StoreListing.svelte in @kksh/ui back to desktop

I realized that StoreListing is a pure wrapper, all the interactions are done with props. Even if this component is later used in other projects, it either lacks flexibility or require more changes. So it's moved back to desktop as a regular +page.svelte
2024-11-04 16:51:31 -05:00
Huakun Shen
11cc79627d
Feature: Page Transition and Component Animation (#9)
* feat: add view transition for page transition, add install btns animation

* feat(desktop): add extension store logo cross-page transition with gasp Flip
2024-11-04 16:03:53 -05:00
Huakun Shen
ad83e89e52
feat: implement pixel dance animation component, page and command (#8)
* feat: implement pixel dance animation component, page and command

* feat: make entire dance page draggable

* feat: add dance transition for ui-iframe extension loading
2024-11-03 19:34:07 -05:00