diff --git a/.gitignore b/.gitignore index 7b7836706..d99eb4dfc 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,11 @@ dist # TODO: remove after bug in select is fixed select + +# Generated files +pkgs/ui/webview-ui/app/api/API.json +pkgs/ui/webview-ui/app/api/API.ts +pkgs/ui/webview-ui/app/api/Inventory.ts +pkgs/ui/webview-ui/app/api/modules_schemas.json +pkgs/ui/webview-ui/app/api/schema.json +pkgs/ui/webview-ui/app/.fonts diff --git a/docs/nix/default.nix b/docs/nix/default.nix index ca15e5302..a973ffe49 100644 --- a/docs/nix/default.nix +++ b/docs/nix/default.nix @@ -45,7 +45,7 @@ pkgs.stdenv.mkDerivation { ln -snf ${fira-code}/share/fonts/truetype/FiraCode-VF.ttf ./site/static/ # Copy icons into place - cp -af ../pkgs/ui/webview-ui/app/icons ./site/static/ + cp -af ../pkgs/clan-app/webview-ui/app/icons ./site/static/ ''; buildPhase = '' diff --git a/pkgs/ui/.envrc b/pkgs/clan-app/.envrc similarity index 61% rename from pkgs/ui/.envrc rename to pkgs/clan-app/.envrc index 306104f69..7c91f29c7 100644 --- a/pkgs/ui/.envrc +++ b/pkgs/clan-app/.envrc @@ -1,7 +1,7 @@ # shellcheck shell=bash source_up -watch_file flake-module.nix shell.nix clan-app/flake-module.nix webview-ui/flake-module.nix +watch_file flake-module.nix shell.nix webview-ui/flake-module.nix # Because we depend on nixpkgs sources, uploading to builders takes a long time use flake .#ui --builders '' diff --git a/pkgs/ui/README.md b/pkgs/clan-app/README.md similarity index 51% rename from pkgs/ui/README.md rename to pkgs/clan-app/README.md index 4d7180840..16cf041d6 100644 --- a/pkgs/ui/README.md +++ b/pkgs/clan-app/README.md @@ -1,17 +1,19 @@ -# Clan UI +# Clan App -## Getting started +A powerful application that allows users to create and manage their own Clans. + +## Getting Started Enter the `pkgs/ui` directory and allow [direnv] to load the `ui` devshell with `direnv allow`: ```console ❯ direnv allow -direnv: loading ~/Development/lol/clan/git/clan/clan-core/pkgs/ui/.envrc +direnv: loading ~/Development/lol/clan/git/clan/clan-core/pkgs/ui/.envrc direnv: loading ~/Development/lol/clan/git/clan/clan-core/.envrc direnv: using flake direnv: nix-direnv: Renewed cache switch to another dev-shell using: select-shell -direnv: using flake .#ui --builders +direnv: using flake .#ui --builders path '/home/brian/Development/lol/clan/git/clan/clan-core/pkgs/ui' does not contain a 'flake.nix', searching up direnv: ([/nix/store/rjnigckx9rmga58562hxw9kr5hynavcd-direnv-2.36.0/bin/direnv export zsh]) is taking a while to execute. Use CTRL-C to give up. path '/home/brian/Development/lol/clan/git/clan/clan-core/pkgs/ui' does not contain a 'flake.nix', searching up @@ -21,7 +23,7 @@ switch to another dev-shell using: select-shell direnv: export +AR +AS +CC +CLAN_CORE_PATH +CONFIG_SHELL +CXX +DETERMINISTIC_BUILD +GETTEXTDATADIRS +GETTEXTDATADIRS_FOR_BUILD +GETTEXTDATADIRS_FOR_TARGET +GIT_ROOT +GSETTINGS_SCHEMAS_PATH +HOST_PATH +IN_NIX_SHELL +LD +NIX_BINTOOLS +NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu +NIX_BUILD_CORES +NIX_CC +NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu +NIX_CFLAGS_COMPILE +NIX_ENFORCE_NO_NATIVE +NIX_HARDENING_ENABLE +NIX_LDFLAGS +NIX_STORE +NM +NODE_PATH +OBJCOPY +OBJDUMP +PC_CONFIG_FILES +PKG_ROOT_CLAN_APP +PKG_ROOT_UI +PKG_ROOT_WEBVIEW_UI +PRJ_ROOT +PYTHONHASHSEED +PYTHONNOUSERSITE +PYTHONPATH +RANLIB +READELF +SIZE +SOURCE_DATE_EPOCH +STRINGS +STRIP +WEBVIEW_LIB_DIR +_PYTHON_HOST_PLATFORM +_PYTHON_SYSCONFIGDATA_NAME +__structuredAttrs +buildInputs +buildPhase +builder +cmakeFlags +configureFlags +depsBuildBuild +depsBuildBuildPropagated +depsBuildTarget +depsBuildTargetPropagated +depsHostHost +depsHostHostPropagated +depsTargetTarget +depsTargetTargetPropagated +doCheck +doInstallCheck +dontAddDisableDepTrack +mesonFlags +name +nativeBuildInputs +out +outputs +patches +phases +preferLocalBuild +propagatedBuildInputs +propagatedNativeBuildInputs +shell +shellHook +stdenv +strictDeps +system ~GDK_PIXBUF_MODULE_FILE ~GI_TYPELIB_PATH ~PATH ~XDG_DATA_DIRS ``` -Once that has loaded, you can run the local dev environment by running `process-compose`. +Once that has loaded, you can run the local dev environment by running `process-compose`. This will start a [process-compose] instance containing two processes: @@ -29,20 +31,107 @@ This will start a [process-compose] instance containing two processes: * `clan-app` which is a [foreground process](https://f1bonacc1.github.io/process-compose/launcher/?h=foreground#foreground-processes), that is started on demand and provides the [webview] wrapper for the UI. -Wait for the `webview-ui` process to enter the `Running` state, then navigate to the `clan-app` process and press `F7`. +Wait for the `webview-ui` process to enter the `Running` state, then navigate to the `clan-app` process and press `F7`. This will start the [webview] window and bring `clan-app`'s terminal into the foreground, allowing for interaction with -the debugger if required. +the debugger if required. -If you need to restart, simply enter `ctrl+c` and you will be dropped back into the `process-compose` terminal. +If you need to restart, simply enter `ctrl+c` and you will be dropped back into the `process-compose` terminal. From there you can start `clan-app` again with `F7`. > **Note** > If you are interacting with a breakpoint, do not continue/exit with `ctrl+c` as this will introduce a quirk -> the next time you start `clan-app` where you will be unable to see the input you are typing in a debugging session. +> the next time you start `clan-app` where you will be unable to see the input you are typing in a debugging session. > -> Instead, exit the debugger with `q+Enter`. +> Instead, exit the debugger with `q+Enter`. + +Follow the instructions below to set up your development environment and start the application: + + +## Start clan-app without process-compose + + +1. **Navigate to the Webview UI Directory** + + Go to the `clan-core/pkgs/clan-app/webview-ui/app` directory and start the web server by executing: + + ```bash + npm install + vite + ``` + +2. **Start the Clan App** + + In the `clan-core/pkgs/clan-app` directory, execute the following command: + + ```bash + ./bin/clan-app --debug --content-uri http://localhost:3000 + ``` + +This will start the application in debug mode and link it to the web server running at `http://localhost:3000`. + +### Debugging Style and Layout + +```bash +# Enable the GTK debugger +gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true + +# Start the application with the debugger attached +GTK_DEBUG=interactive ./bin/clan-app --debug +``` + +Appending `--debug` flag enables debug logging printed into the console. + +### Profiling + +To activate profiling you can run + +```bash +CLAN_CLI_PERF=1 ./bin/clan-app +``` + +### Library Components + +> Note: +> +> we recognized bugs when starting some cli-commands through the integrated vs-code terminal. +> If encountering issues make sure to run commands in a regular os-shell. + +lib-Adw has a demo application showing all widgets. You can run it by executing + +```bash +adwaita-1-demo +``` + +GTK4 has a demo application showing all widgets. You can run it by executing + +```bash +gtk4-widget-factory +``` + +To find available icons execute + +```bash +gtk4-icon-browser +``` + +### Links + +Here are some important documentation links related to the Clan App: + +- [GTK4 PyGobject Reference](http://lazka.github.io/pgi-docs/index.html#Gtk-4.0): This link provides the PyGObject reference documentation for GTK4, the toolkit used for building the user interface of the clan app. It includes information about GTK4 widgets, signals, and other features. + +- [Adw Widget Gallery](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/widget-gallery.html): This link showcases a widget gallery for Adw, allowing you to see the available widgets and their visual appearance. It can be helpful for designing the user interface of the clan app. + +- [GNOME Human Interface Guidelines](https://developer.gnome.org/hig/): This link provides the GNOME Human Interface Guidelines, which offer design and usability recommendations for creating GNOME applications. It covers topics such as layout, navigation, and interaction patterns. + +## Error handling + +> Error dialogs should be avoided where possible, since they are disruptive. +> +> For simple non-critical errors, toasts can be a good alternative. + [direnv]: https://direnv.net/ [process-compose]: https://f1bonacc1.github.io/process-compose/ -[vite]: https://vite.dev/ -[webview]: https://github.com/webview/webview \ No newline at end of file +[vite]: https://vite.dev/ +[webview]: https://github.com/webview/webview diff --git a/pkgs/ui/clan-app/bin/clan-app b/pkgs/clan-app/bin/clan-app similarity index 100% rename from pkgs/ui/clan-app/bin/clan-app rename to pkgs/clan-app/bin/clan-app diff --git a/pkgs/ui/clan-app/clan-app.code-workspace b/pkgs/clan-app/clan-app.code-workspace similarity index 100% rename from pkgs/ui/clan-app/clan-app.code-workspace rename to pkgs/clan-app/clan-app.code-workspace diff --git a/pkgs/ui/clan-app/clan_app/__init__.py b/pkgs/clan-app/clan_app/__init__.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/__init__.py rename to pkgs/clan-app/clan_app/__init__.py diff --git a/pkgs/ui/clan-app/clan_app/__main__.py b/pkgs/clan-app/clan_app/__main__.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/__main__.py rename to pkgs/clan-app/clan_app/__main__.py diff --git a/pkgs/ui/clan-app/clan_app/api/__init__.py b/pkgs/clan-app/clan_app/api/__init__.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/api/__init__.py rename to pkgs/clan-app/clan_app/api/__init__.py diff --git a/pkgs/ui/clan-app/clan_app/api/file_gtk.py b/pkgs/clan-app/clan_app/api/file_gtk.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/api/file_gtk.py rename to pkgs/clan-app/clan_app/api/file_gtk.py diff --git a/pkgs/ui/clan-app/clan_app/app.py b/pkgs/clan-app/clan_app/app.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/app.py rename to pkgs/clan-app/clan_app/app.py diff --git a/pkgs/ui/clan-app/clan_app/assets/__init__.py b/pkgs/clan-app/clan_app/assets/__init__.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/assets/__init__.py rename to pkgs/clan-app/clan_app/assets/__init__.py diff --git a/pkgs/ui/clan-app/clan_app/assets/white-favicons/128x128/apps/clan-white.png b/pkgs/clan-app/clan_app/assets/white-favicons/128x128/apps/clan-white.png similarity index 100% rename from pkgs/ui/clan-app/clan_app/assets/white-favicons/128x128/apps/clan-white.png rename to pkgs/clan-app/clan_app/assets/white-favicons/128x128/apps/clan-white.png diff --git a/pkgs/ui/clan-app/clan_app/assets/white-favicons/16x16/apps/clan-white.png b/pkgs/clan-app/clan_app/assets/white-favicons/16x16/apps/clan-white.png similarity index 100% rename from pkgs/ui/clan-app/clan_app/assets/white-favicons/16x16/apps/clan-white.png rename to pkgs/clan-app/clan_app/assets/white-favicons/16x16/apps/clan-white.png diff --git a/pkgs/ui/clan-app/clan_app/assets/white-favicons/32x32/apps/clan-white.png b/pkgs/clan-app/clan_app/assets/white-favicons/32x32/apps/clan-white.png similarity index 100% rename from pkgs/ui/clan-app/clan_app/assets/white-favicons/32x32/apps/clan-white.png rename to pkgs/clan-app/clan_app/assets/white-favicons/32x32/apps/clan-white.png diff --git a/pkgs/ui/clan-app/clan_app/assets/white-favicons/48x48/apps/clan-white.png b/pkgs/clan-app/clan_app/assets/white-favicons/48x48/apps/clan-white.png similarity index 100% rename from pkgs/ui/clan-app/clan_app/assets/white-favicons/48x48/apps/clan-white.png rename to pkgs/clan-app/clan_app/assets/white-favicons/48x48/apps/clan-white.png diff --git a/pkgs/ui/clan-app/clan_app/assets/white-favicons/64x64/apps/clan-white.png b/pkgs/clan-app/clan_app/assets/white-favicons/64x64/apps/clan-white.png similarity index 100% rename from pkgs/ui/clan-app/clan_app/assets/white-favicons/64x64/apps/clan-white.png rename to pkgs/clan-app/clan_app/assets/white-favicons/64x64/apps/clan-white.png diff --git a/pkgs/ui/clan-app/clan_app/deps/__init__.py b/pkgs/clan-app/clan_app/deps/__init__.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/deps/__init__.py rename to pkgs/clan-app/clan_app/deps/__init__.py diff --git a/pkgs/ui/clan-app/clan_app/deps/webview/__init__.py b/pkgs/clan-app/clan_app/deps/webview/__init__.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/deps/webview/__init__.py rename to pkgs/clan-app/clan_app/deps/webview/__init__.py diff --git a/pkgs/ui/clan-app/clan_app/deps/webview/_webview_ffi.py b/pkgs/clan-app/clan_app/deps/webview/_webview_ffi.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/deps/webview/_webview_ffi.py rename to pkgs/clan-app/clan_app/deps/webview/_webview_ffi.py diff --git a/pkgs/ui/clan-app/clan_app/deps/webview/webview.py b/pkgs/clan-app/clan_app/deps/webview/webview.py similarity index 100% rename from pkgs/ui/clan-app/clan_app/deps/webview/webview.py rename to pkgs/clan-app/clan_app/deps/webview/webview.py diff --git a/pkgs/ui/clan-app/default.nix b/pkgs/clan-app/default.nix similarity index 100% rename from pkgs/ui/clan-app/default.nix rename to pkgs/clan-app/default.nix diff --git a/pkgs/ui/clan-app/flake-module.nix b/pkgs/clan-app/flake-module.nix similarity index 57% rename from pkgs/ui/clan-app/flake-module.nix rename to pkgs/clan-app/flake-module.nix index adfdc486d..da1dfa33f 100644 --- a/pkgs/ui/clan-app/flake-module.nix +++ b/pkgs/clan-app/flake-module.nix @@ -1,13 +1,26 @@ -{ ... }: { + imports = [ + ./webview-ui/flake-module.nix + ]; + perSystem = { - config, - pkgs, self', + pkgs, + config, ... }: { + packages = { + webview-lib = pkgs.callPackage ./webview-lib { }; + }; + + devShells.ui = pkgs.callPackage ./shell.nix { + inherit self'; + inherit (self'.packages) clan-app webview-lib webview-ui; + inherit (config.packages) clan-ts-api; + }; + devShells.clan-app = pkgs.callPackage ./shell.nix { inherit (config.packages) clan-app webview-lib; inherit self'; diff --git a/pkgs/ui/clan-app/install-desktop.sh b/pkgs/clan-app/install-desktop.sh similarity index 100% rename from pkgs/ui/clan-app/install-desktop.sh rename to pkgs/clan-app/install-desktop.sh diff --git a/pkgs/ui/process-compose.yaml b/pkgs/clan-app/process-compose.yaml similarity index 100% rename from pkgs/ui/process-compose.yaml rename to pkgs/clan-app/process-compose.yaml diff --git a/pkgs/ui/clan-app/pyproject.toml b/pkgs/clan-app/pyproject.toml similarity index 100% rename from pkgs/ui/clan-app/pyproject.toml rename to pkgs/clan-app/pyproject.toml diff --git a/pkgs/ui/shell.nix b/pkgs/clan-app/shell.nix similarity index 100% rename from pkgs/ui/shell.nix rename to pkgs/clan-app/shell.nix diff --git a/pkgs/ui/clan-app/tests/command.py b/pkgs/clan-app/tests/command.py similarity index 100% rename from pkgs/ui/clan-app/tests/command.py rename to pkgs/clan-app/tests/command.py diff --git a/pkgs/ui/clan-app/tests/conftest.py b/pkgs/clan-app/tests/conftest.py similarity index 100% rename from pkgs/ui/clan-app/tests/conftest.py rename to pkgs/clan-app/tests/conftest.py diff --git a/pkgs/ui/clan-app/tests/helpers/__init__.py b/pkgs/clan-app/tests/helpers/__init__.py similarity index 100% rename from pkgs/ui/clan-app/tests/helpers/__init__.py rename to pkgs/clan-app/tests/helpers/__init__.py diff --git a/pkgs/ui/clan-app/tests/helpers/cli.py b/pkgs/clan-app/tests/helpers/cli.py similarity index 100% rename from pkgs/ui/clan-app/tests/helpers/cli.py rename to pkgs/clan-app/tests/helpers/cli.py diff --git a/pkgs/ui/clan-app/tests/root.py b/pkgs/clan-app/tests/root.py similarity index 100% rename from pkgs/ui/clan-app/tests/root.py rename to pkgs/clan-app/tests/root.py diff --git a/pkgs/ui/clan-app/tests/temporary_dir.py b/pkgs/clan-app/tests/temporary_dir.py similarity index 100% rename from pkgs/ui/clan-app/tests/temporary_dir.py rename to pkgs/clan-app/tests/temporary_dir.py diff --git a/pkgs/ui/clan-app/tests/test_cli.py b/pkgs/clan-app/tests/test_cli.py similarity index 100% rename from pkgs/ui/clan-app/tests/test_cli.py rename to pkgs/clan-app/tests/test_cli.py diff --git a/pkgs/ui/clan-app/tests/test_join.py b/pkgs/clan-app/tests/test_join.py similarity index 100% rename from pkgs/ui/clan-app/tests/test_join.py rename to pkgs/clan-app/tests/test_join.py diff --git a/pkgs/ui/clan-app/tests/wayland.py b/pkgs/clan-app/tests/wayland.py similarity index 100% rename from pkgs/ui/clan-app/tests/wayland.py rename to pkgs/clan-app/tests/wayland.py diff --git a/pkgs/ui/webview-lib/default.nix b/pkgs/clan-app/webview-lib/default.nix similarity index 100% rename from pkgs/ui/webview-lib/default.nix rename to pkgs/clan-app/webview-lib/default.nix diff --git a/pkgs/ui/webview-ui/.envrc b/pkgs/clan-app/webview-ui/.envrc similarity index 100% rename from pkgs/ui/webview-ui/.envrc rename to pkgs/clan-app/webview-ui/.envrc diff --git a/pkgs/ui/webview-ui/.gitignore b/pkgs/clan-app/webview-ui/.gitignore similarity index 100% rename from pkgs/ui/webview-ui/.gitignore rename to pkgs/clan-app/webview-ui/.gitignore diff --git a/pkgs/ui/webview-ui/.vscode/settings.json b/pkgs/clan-app/webview-ui/.vscode/settings.json similarity index 100% rename from pkgs/ui/webview-ui/.vscode/settings.json rename to pkgs/clan-app/webview-ui/.vscode/settings.json diff --git a/pkgs/ui/webview-ui/app/README.md b/pkgs/clan-app/webview-ui/app/README.md similarity index 100% rename from pkgs/ui/webview-ui/app/README.md rename to pkgs/clan-app/webview-ui/app/README.md diff --git a/pkgs/ui/webview-ui/app/app/api/API.json b/pkgs/clan-app/webview-ui/app/app/api/API.json similarity index 100% rename from pkgs/ui/webview-ui/app/app/api/API.json rename to pkgs/clan-app/webview-ui/app/app/api/API.json diff --git a/pkgs/ui/webview-ui/app/app/api/API.ts b/pkgs/clan-app/webview-ui/app/app/api/API.ts similarity index 100% rename from pkgs/ui/webview-ui/app/app/api/API.ts rename to pkgs/clan-app/webview-ui/app/app/api/API.ts diff --git a/pkgs/ui/webview-ui/app/app/api/Inventory.ts b/pkgs/clan-app/webview-ui/app/app/api/Inventory.ts similarity index 100% rename from pkgs/ui/webview-ui/app/app/api/Inventory.ts rename to pkgs/clan-app/webview-ui/app/app/api/Inventory.ts diff --git a/pkgs/ui/webview-ui/app/app/api/modules_schemas.json b/pkgs/clan-app/webview-ui/app/app/api/modules_schemas.json similarity index 100% rename from pkgs/ui/webview-ui/app/app/api/modules_schemas.json rename to pkgs/clan-app/webview-ui/app/app/api/modules_schemas.json diff --git a/pkgs/ui/webview-ui/app/app/api/schema.json b/pkgs/clan-app/webview-ui/app/app/api/schema.json similarity index 100% rename from pkgs/ui/webview-ui/app/app/api/schema.json rename to pkgs/clan-app/webview-ui/app/app/api/schema.json diff --git a/pkgs/ui/webview-ui/app/eslint.config.mjs b/pkgs/clan-app/webview-ui/app/eslint.config.mjs similarity index 100% rename from pkgs/ui/webview-ui/app/eslint.config.mjs rename to pkgs/clan-app/webview-ui/app/eslint.config.mjs diff --git a/pkgs/ui/webview-ui/app/gtk.webview.js b/pkgs/clan-app/webview-ui/app/gtk.webview.js similarity index 100% rename from pkgs/ui/webview-ui/app/gtk.webview.js rename to pkgs/clan-app/webview-ui/app/gtk.webview.js diff --git a/pkgs/ui/webview-ui/app/icons/arrow-bottom.svg b/pkgs/clan-app/webview-ui/app/icons/arrow-bottom.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/arrow-bottom.svg rename to pkgs/clan-app/webview-ui/app/icons/arrow-bottom.svg diff --git a/pkgs/ui/webview-ui/app/icons/arrow-left.svg b/pkgs/clan-app/webview-ui/app/icons/arrow-left.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/arrow-left.svg rename to pkgs/clan-app/webview-ui/app/icons/arrow-left.svg diff --git a/pkgs/ui/webview-ui/app/icons/arrow-right.svg b/pkgs/clan-app/webview-ui/app/icons/arrow-right.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/arrow-right.svg rename to pkgs/clan-app/webview-ui/app/icons/arrow-right.svg diff --git a/pkgs/ui/webview-ui/app/icons/arrow-top.svg b/pkgs/clan-app/webview-ui/app/icons/arrow-top.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/arrow-top.svg rename to pkgs/clan-app/webview-ui/app/icons/arrow-top.svg diff --git a/pkgs/ui/webview-ui/app/icons/attention.svg b/pkgs/clan-app/webview-ui/app/icons/attention.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/attention.svg rename to pkgs/clan-app/webview-ui/app/icons/attention.svg diff --git a/pkgs/ui/webview-ui/app/icons/caret-down.svg b/pkgs/clan-app/webview-ui/app/icons/caret-down.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/caret-down.svg rename to pkgs/clan-app/webview-ui/app/icons/caret-down.svg diff --git a/pkgs/ui/webview-ui/app/icons/caret-left.svg b/pkgs/clan-app/webview-ui/app/icons/caret-left.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/caret-left.svg rename to pkgs/clan-app/webview-ui/app/icons/caret-left.svg diff --git a/pkgs/ui/webview-ui/app/icons/caret-right.svg b/pkgs/clan-app/webview-ui/app/icons/caret-right.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/caret-right.svg rename to pkgs/clan-app/webview-ui/app/icons/caret-right.svg diff --git a/pkgs/ui/webview-ui/app/icons/caret-up.svg b/pkgs/clan-app/webview-ui/app/icons/caret-up.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/caret-up.svg rename to pkgs/clan-app/webview-ui/app/icons/caret-up.svg diff --git a/pkgs/ui/webview-ui/app/icons/checkmark.svg b/pkgs/clan-app/webview-ui/app/icons/checkmark.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/checkmark.svg rename to pkgs/clan-app/webview-ui/app/icons/checkmark.svg diff --git a/pkgs/ui/webview-ui/app/icons/clan-icon.svg b/pkgs/clan-app/webview-ui/app/icons/clan-icon.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/clan-icon.svg rename to pkgs/clan-app/webview-ui/app/icons/clan-icon.svg diff --git a/pkgs/ui/webview-ui/app/icons/clan-logo.svg b/pkgs/clan-app/webview-ui/app/icons/clan-logo.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/clan-logo.svg rename to pkgs/clan-app/webview-ui/app/icons/clan-logo.svg diff --git a/pkgs/ui/webview-ui/app/icons/close.svg b/pkgs/clan-app/webview-ui/app/icons/close.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/close.svg rename to pkgs/clan-app/webview-ui/app/icons/close.svg diff --git a/pkgs/ui/webview-ui/app/icons/download.svg b/pkgs/clan-app/webview-ui/app/icons/download.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/download.svg rename to pkgs/clan-app/webview-ui/app/icons/download.svg diff --git a/pkgs/ui/webview-ui/app/icons/edit.svg b/pkgs/clan-app/webview-ui/app/icons/edit.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/edit.svg rename to pkgs/clan-app/webview-ui/app/icons/edit.svg diff --git a/pkgs/ui/webview-ui/app/icons/expand.svg b/pkgs/clan-app/webview-ui/app/icons/expand.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/expand.svg rename to pkgs/clan-app/webview-ui/app/icons/expand.svg diff --git a/pkgs/ui/webview-ui/app/icons/eye-close.svg b/pkgs/clan-app/webview-ui/app/icons/eye-close.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/eye-close.svg rename to pkgs/clan-app/webview-ui/app/icons/eye-close.svg diff --git a/pkgs/ui/webview-ui/app/icons/eye-open.svg b/pkgs/clan-app/webview-ui/app/icons/eye-open.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/eye-open.svg rename to pkgs/clan-app/webview-ui/app/icons/eye-open.svg diff --git a/pkgs/ui/webview-ui/app/icons/filter.svg b/pkgs/clan-app/webview-ui/app/icons/filter.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/filter.svg rename to pkgs/clan-app/webview-ui/app/icons/filter.svg diff --git a/pkgs/ui/webview-ui/app/icons/flash.svg b/pkgs/clan-app/webview-ui/app/icons/flash.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/flash.svg rename to pkgs/clan-app/webview-ui/app/icons/flash.svg diff --git a/pkgs/ui/webview-ui/app/icons/folder.svg b/pkgs/clan-app/webview-ui/app/icons/folder.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/folder.svg rename to pkgs/clan-app/webview-ui/app/icons/folder.svg diff --git a/pkgs/ui/webview-ui/app/icons/grid.svg b/pkgs/clan-app/webview-ui/app/icons/grid.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/grid.svg rename to pkgs/clan-app/webview-ui/app/icons/grid.svg diff --git a/pkgs/ui/webview-ui/app/icons/info.svg b/pkgs/clan-app/webview-ui/app/icons/info.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/info.svg rename to pkgs/clan-app/webview-ui/app/icons/info.svg diff --git a/pkgs/ui/webview-ui/app/icons/list.svg b/pkgs/clan-app/webview-ui/app/icons/list.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/list.svg rename to pkgs/clan-app/webview-ui/app/icons/list.svg diff --git a/pkgs/ui/webview-ui/app/icons/load.svg b/pkgs/clan-app/webview-ui/app/icons/load.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/load.svg rename to pkgs/clan-app/webview-ui/app/icons/load.svg diff --git a/pkgs/ui/webview-ui/app/icons/more.svg b/pkgs/clan-app/webview-ui/app/icons/more.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/more.svg rename to pkgs/clan-app/webview-ui/app/icons/more.svg diff --git a/pkgs/ui/webview-ui/app/icons/paperclip.svg b/pkgs/clan-app/webview-ui/app/icons/paperclip.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/paperclip.svg rename to pkgs/clan-app/webview-ui/app/icons/paperclip.svg diff --git a/pkgs/ui/webview-ui/app/icons/plus.svg b/pkgs/clan-app/webview-ui/app/icons/plus.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/plus.svg rename to pkgs/clan-app/webview-ui/app/icons/plus.svg diff --git a/pkgs/ui/webview-ui/app/icons/reload.svg b/pkgs/clan-app/webview-ui/app/icons/reload.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/reload.svg rename to pkgs/clan-app/webview-ui/app/icons/reload.svg diff --git a/pkgs/ui/webview-ui/app/icons/report.svg b/pkgs/clan-app/webview-ui/app/icons/report.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/report.svg rename to pkgs/clan-app/webview-ui/app/icons/report.svg diff --git a/pkgs/ui/webview-ui/app/icons/search.svg b/pkgs/clan-app/webview-ui/app/icons/search.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/search.svg rename to pkgs/clan-app/webview-ui/app/icons/search.svg diff --git a/pkgs/ui/webview-ui/app/icons/settings.svg b/pkgs/clan-app/webview-ui/app/icons/settings.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/settings.svg rename to pkgs/clan-app/webview-ui/app/icons/settings.svg diff --git a/pkgs/ui/webview-ui/app/icons/trash.svg b/pkgs/clan-app/webview-ui/app/icons/trash.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/trash.svg rename to pkgs/clan-app/webview-ui/app/icons/trash.svg diff --git a/pkgs/ui/webview-ui/app/icons/update.svg b/pkgs/clan-app/webview-ui/app/icons/update.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/update.svg rename to pkgs/clan-app/webview-ui/app/icons/update.svg diff --git a/pkgs/ui/webview-ui/app/icons/warning.svg b/pkgs/clan-app/webview-ui/app/icons/warning.svg similarity index 100% rename from pkgs/ui/webview-ui/app/icons/warning.svg rename to pkgs/clan-app/webview-ui/app/icons/warning.svg diff --git a/pkgs/ui/webview-ui/app/index.html b/pkgs/clan-app/webview-ui/app/index.html similarity index 100% rename from pkgs/ui/webview-ui/app/index.html rename to pkgs/clan-app/webview-ui/app/index.html diff --git a/pkgs/ui/webview-ui/app/package-lock.json b/pkgs/clan-app/webview-ui/app/package-lock.json similarity index 100% rename from pkgs/ui/webview-ui/app/package-lock.json rename to pkgs/clan-app/webview-ui/app/package-lock.json diff --git a/pkgs/ui/webview-ui/app/package.json b/pkgs/clan-app/webview-ui/app/package.json similarity index 100% rename from pkgs/ui/webview-ui/app/package.json rename to pkgs/clan-app/webview-ui/app/package.json diff --git a/pkgs/ui/webview-ui/app/postcss.config.js b/pkgs/clan-app/webview-ui/app/postcss.config.js similarity index 100% rename from pkgs/ui/webview-ui/app/postcss.config.js rename to pkgs/clan-app/webview-ui/app/postcss.config.js diff --git a/pkgs/ui/webview-ui/app/prettier.config.js b/pkgs/clan-app/webview-ui/app/prettier.config.js similarity index 100% rename from pkgs/ui/webview-ui/app/prettier.config.js rename to pkgs/clan-app/webview-ui/app/prettier.config.js diff --git a/pkgs/ui/webview-ui/app/src/App.tsx b/pkgs/clan-app/webview-ui/app/src/App.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/App.tsx rename to pkgs/clan-app/webview-ui/app/src/App.tsx diff --git a/pkgs/ui/webview-ui/app/src/Form/base/index.tsx b/pkgs/clan-app/webview-ui/app/src/Form/base/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/Form/base/index.tsx rename to pkgs/clan-app/webview-ui/app/src/Form/base/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/Form/base/label.tsx b/pkgs/clan-app/webview-ui/app/src/Form/base/label.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/Form/base/label.tsx rename to pkgs/clan-app/webview-ui/app/src/Form/base/label.tsx diff --git a/pkgs/ui/webview-ui/app/src/Form/fields/FormSection.tsx b/pkgs/clan-app/webview-ui/app/src/Form/fields/FormSection.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/Form/fields/FormSection.tsx rename to pkgs/clan-app/webview-ui/app/src/Form/fields/FormSection.tsx diff --git a/pkgs/ui/webview-ui/app/src/Form/fields/Select.tsx b/pkgs/clan-app/webview-ui/app/src/Form/fields/Select.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/Form/fields/Select.tsx rename to pkgs/clan-app/webview-ui/app/src/Form/fields/Select.tsx diff --git a/pkgs/ui/webview-ui/app/src/Form/fields/TextInput.tsx b/pkgs/clan-app/webview-ui/app/src/Form/fields/TextInput.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/Form/fields/TextInput.tsx rename to pkgs/clan-app/webview-ui/app/src/Form/fields/TextInput.tsx diff --git a/pkgs/ui/webview-ui/app/src/Form/fields/index.ts b/pkgs/clan-app/webview-ui/app/src/Form/fields/index.ts similarity index 100% rename from pkgs/ui/webview-ui/app/src/Form/fields/index.ts rename to pkgs/clan-app/webview-ui/app/src/Form/fields/index.ts diff --git a/pkgs/ui/webview-ui/app/src/Form/fields/layout.tsx b/pkgs/clan-app/webview-ui/app/src/Form/fields/layout.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/Form/fields/layout.tsx rename to pkgs/clan-app/webview-ui/app/src/Form/fields/layout.tsx diff --git a/pkgs/ui/webview-ui/app/src/Form/fieldset/index.tsx b/pkgs/clan-app/webview-ui/app/src/Form/fieldset/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/Form/fieldset/index.tsx rename to pkgs/clan-app/webview-ui/app/src/Form/fieldset/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/Form/form/index.tsx b/pkgs/clan-app/webview-ui/app/src/Form/form/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/Form/form/index.tsx rename to pkgs/clan-app/webview-ui/app/src/Form/form/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/api/index.tsx b/pkgs/clan-app/webview-ui/app/src/api/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/api/index.tsx rename to pkgs/clan-app/webview-ui/app/src/api/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/api/inventory.ts b/pkgs/clan-app/webview-ui/app/src/api/inventory.ts similarity index 100% rename from pkgs/ui/webview-ui/app/src/api/inventory.ts rename to pkgs/clan-app/webview-ui/app/src/api/inventory.ts diff --git a/pkgs/ui/webview-ui/app/src/api/wifi.ts b/pkgs/clan-app/webview-ui/app/src/api/wifi.ts similarity index 100% rename from pkgs/ui/webview-ui/app/src/api/wifi.ts rename to pkgs/clan-app/webview-ui/app/src/api/wifi.ts diff --git a/pkgs/ui/webview-ui/app/src/api_test.tsx b/pkgs/clan-app/webview-ui/app/src/api_test.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/api_test.tsx rename to pkgs/clan-app/webview-ui/app/src/api_test.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/BackButton.tsx b/pkgs/clan-app/webview-ui/app/src/components/BackButton.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/BackButton.tsx rename to pkgs/clan-app/webview-ui/app/src/components/BackButton.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/FileInput.tsx b/pkgs/clan-app/webview-ui/app/src/components/FileInput.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/FileInput.tsx rename to pkgs/clan-app/webview-ui/app/src/components/FileInput.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/Helpers/List.tsx b/pkgs/clan-app/webview-ui/app/src/components/Helpers/List.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Helpers/List.tsx rename to pkgs/clan-app/webview-ui/app/src/components/Helpers/List.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/Helpers/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/Helpers/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Helpers/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/Helpers/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/Menu.tsx b/pkgs/clan-app/webview-ui/app/src/components/Menu.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Menu.tsx rename to pkgs/clan-app/webview-ui/app/src/components/Menu.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/SelectInput.tsx b/pkgs/clan-app/webview-ui/app/src/components/SelectInput.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/SelectInput.tsx rename to pkgs/clan-app/webview-ui/app/src/components/SelectInput.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/Sidebar/SidebarFlyout/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/Sidebar/SidebarFlyout/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Sidebar/SidebarFlyout/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/Sidebar/SidebarFlyout/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/Sidebar/SidebarHeader.tsx b/pkgs/clan-app/webview-ui/app/src/components/Sidebar/SidebarHeader.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Sidebar/SidebarHeader.tsx rename to pkgs/clan-app/webview-ui/app/src/components/Sidebar/SidebarHeader.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/Sidebar/SidebarListItem.tsx b/pkgs/clan-app/webview-ui/app/src/components/Sidebar/SidebarListItem.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Sidebar/SidebarListItem.tsx rename to pkgs/clan-app/webview-ui/app/src/components/Sidebar/SidebarListItem.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar-flyout.css b/pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar-flyout.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar-flyout.css rename to pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar-flyout.css diff --git a/pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar-header.css b/pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar-header.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar-header.css rename to pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar-header.css diff --git a/pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar-list-item.css b/pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar-list-item.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar-list-item.css rename to pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar-list-item.css diff --git a/pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar-profile.css b/pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar-profile.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar-profile.css rename to pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar-profile.css diff --git a/pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar.css b/pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Sidebar/css/sidebar.css rename to pkgs/clan-app/webview-ui/app/src/components/Sidebar/css/sidebar.css diff --git a/pkgs/ui/webview-ui/app/src/components/Sidebar/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/Sidebar/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Sidebar/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/Sidebar/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/Typography/css/typography-color.css b/pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-color.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Typography/css/typography-color.css rename to pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-color.css diff --git a/pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/index.css b/pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/index.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/index.css rename to pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/index.css diff --git a/pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-body.css b/pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-body.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-body.css rename to pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-body.css diff --git a/pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-headline.css b/pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-headline.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-headline.css rename to pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-headline.css diff --git a/pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-label.css b/pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-label.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-label.css rename to pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-label.css diff --git a/pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-title.css b/pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-title.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-title.css rename to pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography-hierarchy/typography-title.css diff --git a/pkgs/ui/webview-ui/app/src/components/Typography/css/typography.css b/pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Typography/css/typography.css rename to pkgs/clan-app/webview-ui/app/src/components/Typography/css/typography.css diff --git a/pkgs/ui/webview-ui/app/src/components/Typography/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/Typography/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/Typography/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/Typography/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/accordion/accordion.css b/pkgs/clan-app/webview-ui/app/src/components/accordion/accordion.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/accordion/accordion.css rename to pkgs/clan-app/webview-ui/app/src/components/accordion/accordion.css diff --git a/pkgs/ui/webview-ui/app/src/components/accordion/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/accordion/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/accordion/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/accordion/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/badge/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/badge/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/badge/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/badge/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/button/button.examples.tsx b/pkgs/clan-app/webview-ui/app/src/components/button/button.examples.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/button/button.examples.tsx rename to pkgs/clan-app/webview-ui/app/src/components/button/button.examples.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/button/css/button-dark.css b/pkgs/clan-app/webview-ui/app/src/components/button/css/button-dark.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/button/css/button-dark.css rename to pkgs/clan-app/webview-ui/app/src/components/button/css/button-dark.css diff --git a/pkgs/ui/webview-ui/app/src/components/button/css/button-ghost.css b/pkgs/clan-app/webview-ui/app/src/components/button/css/button-ghost.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/button/css/button-ghost.css rename to pkgs/clan-app/webview-ui/app/src/components/button/css/button-ghost.css diff --git a/pkgs/ui/webview-ui/app/src/components/button/css/button-light.css b/pkgs/clan-app/webview-ui/app/src/components/button/css/button-light.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/button/css/button-light.css rename to pkgs/clan-app/webview-ui/app/src/components/button/css/button-light.css diff --git a/pkgs/ui/webview-ui/app/src/components/button/css/index.css b/pkgs/clan-app/webview-ui/app/src/components/button/css/index.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/button/css/index.css rename to pkgs/clan-app/webview-ui/app/src/components/button/css/index.css diff --git a/pkgs/ui/webview-ui/app/src/components/button/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/button/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/button/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/button/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/fileSelect/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/fileSelect/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/fileSelect/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/fileSelect/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/group/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/group/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/group/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/group/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/icon/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/icon/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/icon/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/icon/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/inputBase/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/inputBase/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/inputBase/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/inputBase/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/machine-list-item/css/index.css b/pkgs/clan-app/webview-ui/app/src/components/machine-list-item/css/index.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/machine-list-item/css/index.css rename to pkgs/clan-app/webview-ui/app/src/components/machine-list-item/css/index.css diff --git a/pkgs/ui/webview-ui/app/src/components/machine-list-item/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/machine-list-item/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/machine-list-item/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/machine-list-item/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/modal/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/modal/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/modal/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/modal/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/noiseThumbnail/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/noiseThumbnail/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/noiseThumbnail/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/noiseThumbnail/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/components/toast/index.tsx b/pkgs/clan-app/webview-ui/app/src/components/toast/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/components/toast/index.tsx rename to pkgs/clan-app/webview-ui/app/src/components/toast/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/floating/index.tsx b/pkgs/clan-app/webview-ui/app/src/floating/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/floating/index.tsx rename to pkgs/clan-app/webview-ui/app/src/floating/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/hooks/index.ts b/pkgs/clan-app/webview-ui/app/src/hooks/index.ts similarity index 100% rename from pkgs/ui/webview-ui/app/src/hooks/index.ts rename to pkgs/clan-app/webview-ui/app/src/hooks/index.ts diff --git a/pkgs/ui/webview-ui/app/src/index.css b/pkgs/clan-app/webview-ui/app/src/index.css similarity index 100% rename from pkgs/ui/webview-ui/app/src/index.css rename to pkgs/clan-app/webview-ui/app/src/index.css diff --git a/pkgs/ui/webview-ui/app/src/index.tsx b/pkgs/clan-app/webview-ui/app/src/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/index.tsx rename to pkgs/clan-app/webview-ui/app/src/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/layout/header.tsx b/pkgs/clan-app/webview-ui/app/src/layout/header.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/layout/header.tsx rename to pkgs/clan-app/webview-ui/app/src/layout/header.tsx diff --git a/pkgs/ui/webview-ui/app/src/layout/layout.tsx b/pkgs/clan-app/webview-ui/app/src/layout/layout.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/layout/layout.tsx rename to pkgs/clan-app/webview-ui/app/src/layout/layout.tsx diff --git a/pkgs/ui/webview-ui/app/src/queries/index.ts b/pkgs/clan-app/webview-ui/app/src/queries/index.ts similarity index 100% rename from pkgs/ui/webview-ui/app/src/queries/index.ts rename to pkgs/clan-app/webview-ui/app/src/queries/index.ts diff --git a/pkgs/ui/webview-ui/app/src/routes/clans/create.tsx b/pkgs/clan-app/webview-ui/app/src/routes/clans/create.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/clans/create.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/clans/create.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/clans/details.tsx b/pkgs/clan-app/webview-ui/app/src/routes/clans/details.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/clans/details.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/clans/details.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/clans/index.ts b/pkgs/clan-app/webview-ui/app/src/routes/clans/index.ts similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/clans/index.ts rename to pkgs/clan-app/webview-ui/app/src/routes/clans/index.ts diff --git a/pkgs/ui/webview-ui/app/src/routes/clans/list.tsx b/pkgs/clan-app/webview-ui/app/src/routes/clans/list.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/clans/list.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/clans/list.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/colors/view.tsx b/pkgs/clan-app/webview-ui/app/src/routes/colors/view.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/colors/view.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/colors/view.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/components/index.tsx b/pkgs/clan-app/webview-ui/app/src/routes/components/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/components/index.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/components/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/deploy/index.tsx b/pkgs/clan-app/webview-ui/app/src/routes/deploy/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/deploy/index.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/deploy/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/disk/view.tsx b/pkgs/clan-app/webview-ui/app/src/routes/disk/view.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/disk/view.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/disk/view.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/flash/view.tsx b/pkgs/clan-app/webview-ui/app/src/routes/flash/view.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/flash/view.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/flash/view.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/hosts/view.tsx b/pkgs/clan-app/webview-ui/app/src/routes/hosts/view.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/hosts/view.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/hosts/view.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/machines/avatar.tsx b/pkgs/clan-app/webview-ui/app/src/routes/machines/avatar.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/machines/avatar.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/machines/avatar.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/machines/create.tsx b/pkgs/clan-app/webview-ui/app/src/routes/machines/create.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/machines/create.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/machines/create.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/machines/details.tsx b/pkgs/clan-app/webview-ui/app/src/routes/machines/details.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/machines/details.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/machines/details.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/machines/index.ts b/pkgs/clan-app/webview-ui/app/src/routes/machines/index.ts similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/machines/index.ts rename to pkgs/clan-app/webview-ui/app/src/routes/machines/index.ts diff --git a/pkgs/ui/webview-ui/app/src/routes/machines/install/disk-step.tsx b/pkgs/clan-app/webview-ui/app/src/routes/machines/install/disk-step.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/machines/install/disk-step.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/machines/install/disk-step.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/machines/install/hardware-step.tsx b/pkgs/clan-app/webview-ui/app/src/routes/machines/install/hardware-step.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/machines/install/hardware-step.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/machines/install/hardware-step.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/machines/install/summary-step.tsx b/pkgs/clan-app/webview-ui/app/src/routes/machines/install/summary-step.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/machines/install/summary-step.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/machines/install/summary-step.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/machines/install/vars-step.tsx b/pkgs/clan-app/webview-ui/app/src/routes/machines/install/vars-step.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/machines/install/vars-step.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/machines/install/vars-step.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/machines/list.tsx b/pkgs/clan-app/webview-ui/app/src/routes/machines/list.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/machines/list.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/machines/list.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/modules/add.tsx b/pkgs/clan-app/webview-ui/app/src/routes/modules/add.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/modules/add.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/modules/add.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/modules/details.tsx b/pkgs/clan-app/webview-ui/app/src/routes/modules/details.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/modules/details.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/modules/details.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/modules/list.tsx b/pkgs/clan-app/webview-ui/app/src/routes/modules/list.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/modules/list.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/modules/list.tsx diff --git a/pkgs/ui/webview-ui/app/src/routes/welcome/index.tsx b/pkgs/clan-app/webview-ui/app/src/routes/welcome/index.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/routes/welcome/index.tsx rename to pkgs/clan-app/webview-ui/app/src/routes/welcome/index.tsx diff --git a/pkgs/ui/webview-ui/app/src/three.tsx b/pkgs/clan-app/webview-ui/app/src/three.tsx similarity index 100% rename from pkgs/ui/webview-ui/app/src/three.tsx rename to pkgs/clan-app/webview-ui/app/src/three.tsx diff --git a/pkgs/ui/webview-ui/app/stylelint.config.js b/pkgs/clan-app/webview-ui/app/stylelint.config.js similarity index 100% rename from pkgs/ui/webview-ui/app/stylelint.config.js rename to pkgs/clan-app/webview-ui/app/stylelint.config.js diff --git a/pkgs/ui/webview-ui/app/tailwind.config.ts b/pkgs/clan-app/webview-ui/app/tailwind.config.ts similarity index 100% rename from pkgs/ui/webview-ui/app/tailwind.config.ts rename to pkgs/clan-app/webview-ui/app/tailwind.config.ts diff --git a/pkgs/ui/webview-ui/app/tailwind/core-plugin.ts b/pkgs/clan-app/webview-ui/app/tailwind/core-plugin.ts similarity index 100% rename from pkgs/ui/webview-ui/app/tailwind/core-plugin.ts rename to pkgs/clan-app/webview-ui/app/tailwind/core-plugin.ts diff --git a/pkgs/ui/webview-ui/app/tailwind/typography.ts b/pkgs/clan-app/webview-ui/app/tailwind/typography.ts similarity index 100% rename from pkgs/ui/webview-ui/app/tailwind/typography.ts rename to pkgs/clan-app/webview-ui/app/tailwind/typography.ts diff --git a/pkgs/ui/webview-ui/app/tests/types.test.ts b/pkgs/clan-app/webview-ui/app/tests/types.test.ts similarity index 100% rename from pkgs/ui/webview-ui/app/tests/types.test.ts rename to pkgs/clan-app/webview-ui/app/tests/types.test.ts diff --git a/pkgs/ui/webview-ui/app/tsconfig.json b/pkgs/clan-app/webview-ui/app/tsconfig.json similarity index 100% rename from pkgs/ui/webview-ui/app/tsconfig.json rename to pkgs/clan-app/webview-ui/app/tsconfig.json diff --git a/pkgs/ui/webview-ui/app/util.ts b/pkgs/clan-app/webview-ui/app/util.ts similarity index 100% rename from pkgs/ui/webview-ui/app/util.ts rename to pkgs/clan-app/webview-ui/app/util.ts diff --git a/pkgs/ui/webview-ui/app/vite.config.ts b/pkgs/clan-app/webview-ui/app/vite.config.ts similarity index 100% rename from pkgs/ui/webview-ui/app/vite.config.ts rename to pkgs/clan-app/webview-ui/app/vite.config.ts diff --git a/pkgs/ui/webview-ui/bin/reload-python-api.sh b/pkgs/clan-app/webview-ui/bin/reload-python-api.sh similarity index 100% rename from pkgs/ui/webview-ui/bin/reload-python-api.sh rename to pkgs/clan-app/webview-ui/bin/reload-python-api.sh diff --git a/pkgs/ui/webview-ui/flake-module.nix b/pkgs/clan-app/webview-ui/flake-module.nix similarity index 100% rename from pkgs/ui/webview-ui/flake-module.nix rename to pkgs/clan-app/webview-ui/flake-module.nix diff --git a/pkgs/flake-module.nix b/pkgs/flake-module.nix index 6895dfeb5..f77294294 100644 --- a/pkgs/flake-module.nix +++ b/pkgs/flake-module.nix @@ -9,7 +9,7 @@ ./icon-update/flake-module.nix ./generate-test-vars/flake-module.nix ./clan-core-flake/flake-module.nix - ./ui/flake-module.nix + ./clan-app/flake-module.nix ]; flake.packages.x86_64-linux = diff --git a/pkgs/ui/clan-app/.envrc b/pkgs/ui/clan-app/.envrc deleted file mode 100644 index 9e53834ae..000000000 --- a/pkgs/ui/clan-app/.envrc +++ /dev/null @@ -1,7 +0,0 @@ -# shellcheck shell=bash -source_up - -watch_file flake-module.nix shell.nix default.nix - -# Because we depend on nixpkgs sources, uploading to builders takes a long time -use flake .#clan-app --builders '' diff --git a/pkgs/ui/clan-app/.gitignore b/pkgs/ui/clan-app/.gitignore deleted file mode 100644 index d5e4f15f8..000000000 --- a/pkgs/ui/clan-app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -**/__pycache__ \ No newline at end of file diff --git a/pkgs/ui/clan-app/README.md b/pkgs/ui/clan-app/README.md deleted file mode 100644 index a0150358e..000000000 --- a/pkgs/ui/clan-app/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# Clan App - -A powerful application that allows users to create and manage their own Clans. - -## Getting Started - -Follow the instructions below to set up your development environment and start the application: - - -1. **Navigate to the Webview UI Directory** - - Go to the `clan-core/pkgs/ui/webview-ui/app` directory and start the web server by executing: - - ```bash - npm install - vite - ``` - -2. **Start the Clan App** - - In the `clan-app` directory, execute the following command: - - ```bash - clan-app --debug --content-uri http://localhost:3000 - ``` - -This will start the application in debug mode and link it to the web server running at `http://localhost:3000`. - -### Debugging Style and Layout - -```bash -# Enable the GTK debugger -gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true - -# Start the application with the debugger attached -GTK_DEBUG=interactive ./bin/clan-app --debug -``` - -Appending `--debug` flag enables debug logging printed into the console. - -### Profiling - -To activate profiling you can run - -```bash -CLAN_CLI_PERF=1 ./bin/clan-app -``` - -### Library Components - -> Note: -> -> we recognized bugs when starting some cli-commands through the integrated vs-code terminal. -> If encountering issues make sure to run commands in a regular os-shell. - -lib-Adw has a demo application showing all widgets. You can run it by executing - -```bash -adwaita-1-demo -``` - -GTK4 has a demo application showing all widgets. You can run it by executing - -```bash -gtk4-widget-factory -``` - -To find available icons execute - -```bash -gtk4-icon-browser -``` - -### Links - -Here are some important documentation links related to the Clan App: - -- [GTK4 PyGobject Reference](http://lazka.github.io/pgi-docs/index.html#Gtk-4.0): This link provides the PyGObject reference documentation for GTK4, the toolkit used for building the user interface of the clan app. It includes information about GTK4 widgets, signals, and other features. - -- [Adw Widget Gallery](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/widget-gallery.html): This link showcases a widget gallery for Adw, allowing you to see the available widgets and their visual appearance. It can be helpful for designing the user interface of the clan app. - -- [GNOME Human Interface Guidelines](https://developer.gnome.org/hig/): This link provides the GNOME Human Interface Guidelines, which offer design and usability recommendations for creating GNOME applications. It covers topics such as layout, navigation, and interaction patterns. - -## Error handling - -> Error dialogs should be avoided where possible, since they are disruptive. -> -> For simple non-critical errors, toasts can be a good alternative. \ No newline at end of file diff --git a/pkgs/ui/clan-app/shell.nix b/pkgs/ui/clan-app/shell.nix deleted file mode 100644 index 35a932ec8..000000000 --- a/pkgs/ui/clan-app/shell.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - clan-app, - mkShell, - ruff, - webview-lib, - process-compose, - self', -}: - -mkShell { - name = "clan-app"; - - inputsFrom = [ self'.devShells.default ]; - - inherit (clan-app) propagatedBuildInputs; - - nativeBuildInputs = clan-app.nativeBuildInputs ++ [ - process-compose - ]; - - buildInputs = [ - (clan-app.pythonRuntime.withPackages ( - ps: - with ps; - [ - mypy - ] - ++ (clan-app.devshellPyDeps ps) - )) - ruff - ] ++ clan-app.runtimeDeps; - - shellHook = '' - export GIT_ROOT=$(git rev-parse --show-toplevel) - export PKG_ROOT=$GIT_ROOT/pkgs/ui/clan-app - - export CLAN_CORE_PATH="$GIT_ROOT" - - # Add current package to PYTHONPATH - export PYTHONPATH="$PKG_ROOT''${PYTHONPATH:+:$PYTHONPATH:}" - - # Add clan-app command to PATH - export PATH="$PKG_ROOT/bin":"$PATH" - - # Add clan-cli to the python path so that we can import it without building it in nix first - export PYTHONPATH="$GIT_ROOT/pkgs/clan-cli":"$PYTHONPATH" - - export XDG_DATA_DIRS=$GSETTINGS_SCHEMAS_PATH:$XDG_DATA_DIRS - - export WEBVIEW_LIB_DIR=${webview-lib}/lib - source $PKG_ROOT/.local.env - ''; -} diff --git a/pkgs/ui/flake-module.nix b/pkgs/ui/flake-module.nix deleted file mode 100644 index 0240823a8..000000000 --- a/pkgs/ui/flake-module.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - imports = [ - ./clan-app/flake-module.nix - ./webview-ui/flake-module.nix - ]; - - perSystem = - { - self', - pkgs, - config, - ... - }: - { - packages = { - webview-lib = pkgs.callPackage ./webview-lib { }; - }; - - devShells.ui = pkgs.callPackage ./shell.nix { - inherit self'; - inherit (self'.packages) clan-app webview-lib webview-ui; - inherit (config.packages) clan-ts-api; - }; - }; -}