Commit Graph

55 Commits

Author SHA1 Message Date
Luis Hebendanz
79560ac202 Merge pull request 'clan-app: Implement dynamic groups and array based filtering of logs and groups' (#4190) from Qubasa/clan-core:add_clan_group into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4190
2025-07-04 11:06:50 +00:00
Qubasa
52aaad272f clan-app: Implement dynamic log groups into javascript callApi
nix fmt
2025-07-04 17:49:00 +07:00
Brian McGee
7939cfc9a9 feat(ui): flatten the Field pattern and introduce Orienter component 2025-07-03 17:50:41 +01:00
Brian McGee
7232892feb feat(ui): simplify timeout speedup for button stories 2025-07-03 17:50:40 +01:00
Brian McGee
c3ba72e82c feat(ui): Combobox component and style tooltip for label 2025-07-03 17:50:40 +01:00
Brian McGee
17b4f95055 feat(ui): simplify form components
Better pass through to the underlying Kobalte API without re-defining types.
2025-07-03 17:50:39 +01:00
Brian McGee
3c72ad1c92 fix(ui): hover and inverted colors for checkbox 2025-07-03 17:50:39 +01:00
Brian McGee
5b46136ca8 feat(ui): add fieldset component 2025-07-03 17:50:38 +01:00
Brian McGee
04c59c76ee feat(ui): add form field with text, textarea and checkbox support 2025-07-03 17:50:38 +01:00
Qubasa
2fd6426f28 clan-app: whitelist necessary any usage in api./index.tsx 2025-07-02 18:11:28 +07:00
Qubasa
db3e8b9984 clan-app: Add logging middleware 2025-07-02 17:59:05 +07:00
Qubasa
8e00363584 ui-2d: Fix build errors 2025-07-02 15:59:50 +07:00
Brian McGee
96b5ca9de0 feat(ui): use fake timer in tests and real timer in browser for storybook interaction tests
I believe the time-based tests are falsely failing when the CI machine is under high load. This also speeds up the tests in CI.

I'm not 100% happy with the approach, but this should resolve CI issues in the short term until I can improve things.
2025-06-30 15:19:57 +01:00
Jörg Thalheim
bc3ba8eeff markdown: ignore trailing whitespace 2025-06-27 16:26:39 +02:00
Qubasa
6558a915ad clan-app: Add a 'group' to log_manager. Move log_manager to own subdirectory 2025-06-24 21:42:18 +02:00
Brian McGee
36e2f25b57 feat(ui): add TagGroup component
Introduces a new `TagGroup` component for rendering grouped tags with optional inverted styling.
2025-06-20 12:22:59 +01:00
Brian McGee
2ed5d29c89 feat(ui): add Tag component
Adds a reusable `Tag` component with support for default and inverted styles. Also includes cleanup of unused dependencies in `package.json`.
2025-06-20 12:22:58 +01:00
Brian McGee
4586b0d17d feat(ui): rename TagStatus to MachineStatus
Standardizes naming and updates related props, classes, and types for clarity and consistency.
2025-06-20 09:13:55 +01:00
Brian McGee
519b24ba0f feat(ui): consolidate and simplify how we use colors
* reconciles latest color variables from Figma
* defines the primary colors and the color system in tailwind config.
* refines how we generate utilities within the color system for `bg`, `fg` and `border`.
* removes custom box shadows, instead leaning on direct definition in CSS and `theme()`.

This change removes duplicate color information being defined as CSS variables in `index.css`
and co-locates all style information with the component
whilst retaining the ability to tie in to the color system when mapping styles from Figma.
2025-06-19 17:28:47 +01:00
Brian McGee
f7a5c99bb3 feat(ui): Sidebar nav 2025-06-19 16:03:21 +01:00
Qubasa
3d20b41138 clan-app: Add unused import checker and autofixer. Remove unused files. 2025-06-19 15:14:08 +02:00
Qubasa
eb47cf08b8 clan-app: 3d UI Remove unused files and exports 2025-06-18 22:42:00 +02:00
Qubasa
0ac445facc clan-app: Add knip dead code analyzer 2025-06-18 21:10:18 +02:00
Brian McGee
f0322a8411 feat(ui): upgrade to storybook 9
Replaces rollup with wasm version for portability.
2025-06-18 15:03:43 +01:00
Qubasa
75bfed044b clan-app: Fix UI errors 2025-06-17 13:53:43 +02:00
Qubasa
8e79f78ef2 clan-app: Propagate op_key to callApi callers. 2025-06-13 12:41:58 +02:00
brianmcgee
3239d4b614 Merge pull request 'UI: new Loader component; Button and Icon v2' (#3908) from ui/button into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3908
2025-06-12 15:52:17 +00:00
Qubasa
42ac12b34e clan-app: Fix api test page 2025-06-12 16:23:33 +02:00
Brian McGee
8f93015d80 feat(ui): new loader component; button and icon v2 2025-06-12 11:29:41 +01:00
Johannes Kirschbauer
0b6bc81efe Refactor(api/list_machines): rename from list_inv_machines 2025-06-09 13:33:25 +02:00
Johannes Kirschbauer
ebf3964197 Refactor(api/update_machine): rename to set_machine; use name, flake 2025-06-09 13:33:19 +02:00
Qubasa
77ea3409b0 clan-app: Catch method not found error in api 2025-06-04 18:16:58 +02:00
Johannes Kirschbauer
82af09443a Chore(ui/taglist): snapshot test 2025-06-03 19:09:43 +02:00
hsjobeki
ea8865e22b Reaply: #3777: fix/machine-detail-view 2025-06-03 18:42:47 +02:00
Brian McGee
8997f61ef8 feat(ui): Typography V2 2025-05-30 14:58:50 +01:00
Brian McGee
7f436d1a8b feat(ui): update border and background colors
To match latest design.
2025-05-30 13:46:57 +01:00
Brian McGee
8e155dd164 feat(ui): update primary colors
To match latest design.
2025-05-30 13:46:56 +01:00
Brian McGee
bbe14dbb3b chore(ui): setup base for Typography V2
Also removes Button stories for V1 component.
2025-05-30 13:46:55 +01:00
Brian McGee
807b9fd61f feat(ui): enable storybook snapshot tests
- adds a process-compose namespace for running `storybook` and `luakit` together to replicate the `webkit`-based rendering that happens inside of `webview`
- adds some helper scripts for running storybook tests and updating snapshots, with documentation in the README.
- adds a `clan-app-ui-storybook` package which builds and tests the storybook, checking for rendering changes

Currently, we’re only doing markup-based snapshot tests. We’re also using headless chromium for the tests by default as I couldn't get webkit to work in the nix build.

As we’re only markup-based for the time being, this should be ok. But eventually I'd like to get it working with webkit.
2025-05-30 11:06:14 +01:00
Brian McGee
bf993af56f feat(ui): introduces storybook
- adds the necessary dependencies and configuration for Storybook.
- refactors the `Button` component and adds some stories for it.
2025-05-26 12:56:51 +01:00
Brian McGee
aa1bbd1180 feat(ui): add a clan context provider
- introduces a new consolidated store with `localStorage` support
- introduces a top-level `ClanProvider` providing access to `activeClanURI` and `clanURIs`
- redirects to `/welcome` if `activeClanURI` is `undefined`
- consolidates clan meta querying
- centralises the logic for removal of clan uri's which no longer exist
- fixed some miscellaneous missing `await` calls
2025-05-22 13:24:27 +00:00
DavHau
c45c94e045 GUI: add credentials page (vars)
add it to machine details
2025-05-21 11:47:04 +00:00
hsjobeki
5b80204107 Merge pull request 'Update UI to Node 22 and update dependencies' (#3729) from feat/update-ui-dependencies into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3729
2025-05-21 09:03:27 +00:00
Brian McGee
d50eac6525 feat(ui): upgrade to nodejs_22 and update dependencies 2025-05-20 15:45:17 +01:00
hsjobeki
16112e259c Merge pull request 'Classgen: export field type definitions' (#3715) from hsjobeki/clan-core:inventory-services-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3715
2025-05-20 12:20:07 +00:00
Johannes Kirschbauer
463eaff47c UI: remove unused inventory.ts file 2025-05-20 13:32:13 +02:00
Brian McGee
55d1a94947 fix(ui): Exectuting typo in toast message 2025-05-20 11:52:34 +01:00
DavHau
a22180f980 GUI/vars: refactor vars step 2025-05-20 11:32:32 +07:00
DavHau
dc2abb1352 UI: add vars step to installation flow 2025-05-19 19:11:19 +07:00
Johannes Kirschbauer
29811cd0dc Refactor(cli): name set_inv_machine back to set_machine
We don't want to leak information about our internals
Such as 'inv' meaning 'inventory' this is not important from the outside
2025-05-16 18:05:07 +02:00