From e83380d52b548b0f7bcfcb1be47d6ed037eb114b Mon Sep 17 00:00:00 2001 From: Diego Imbert Date: Thu, 18 Jun 2026 23:30:09 +0200 Subject: [PATCH] feat(frontend): redesign home with AI chatbox, FilterSearchbar and New/Import actions Co-Authored-By: Claude Opus 4.8 (1M context) --- .../components/home/HomeCreateActions.svelte | 261 +++++++++++++ .../src/lib/components/home/HomeHero.svelte | 200 ++++++++++ .../src/lib/components/home/ItemsList.svelte | 344 ++++-------------- .../src/lib/components/home/homeFilter.ts | 77 ++++ .../src/routes/(root)/(logged)/+page.svelte | 249 +++++++------ 5 files changed, 750 insertions(+), 381 deletions(-) create mode 100644 frontend/src/lib/components/home/HomeCreateActions.svelte create mode 100644 frontend/src/lib/components/home/HomeHero.svelte create mode 100644 frontend/src/lib/components/home/homeFilter.ts diff --git a/frontend/src/lib/components/home/HomeCreateActions.svelte b/frontend/src/lib/components/home/HomeCreateActions.svelte new file mode 100644 index 0000000000..3f3c95fbfb --- /dev/null +++ b/frontend/src/lib/components/home/HomeCreateActions.svelte @@ -0,0 +1,261 @@ + + +
+ + {#snippet buttonReplacement()} + + {/snippet} + + + + {#snippet buttonReplacement()} + + {/snippet} + +
+ + + + flowDrawer?.closeDrawer?.()}> + + + + {#snippet content()} +
+ {#key flowImportType} + {#await import('$lib/components/SimpleEditor.svelte')} + + {:then Module} + + {/await} + {/key} +
+ {/snippet} +
+ {#snippet actions()} + + {/snippet} +
+
+ + + + wacDrawer?.closeDrawer?.()} + > + + + + {#snippet content()} +
+ {#key wacImportType} + {#await import('$lib/components/SimpleEditor.svelte')} + + {:then Module} + + {/await} + {/key} +
+ {/snippet} +
+ {#snippet actions()} + + {/snippet} +
+
+ + + + appDrawer?.closeDrawer?.()} + > + + + + {#snippet content()} +
+ {#key appImportType} + {#await import('$lib/components/SimpleEditor.svelte')} + + {:then Module} + + {/await} + {/key} +
+ {/snippet} +
+ {#snippet actions()} + + {/snippet} +
+
diff --git a/frontend/src/lib/components/home/HomeHero.svelte b/frontend/src/lib/components/home/HomeHero.svelte new file mode 100644 index 0000000000..73cee377f5 --- /dev/null +++ b/frontend/src/lib/components/home/HomeHero.svelte @@ -0,0 +1,200 @@ + + +{#if aiEnabled} +
+
+
+
+ +
+ +
+
+
+
+ Describe what you want to build — Windmill AI will create it for you. Press Enter to start. +
+
+
+{/if} + +{#if latest.length > 0} + +{/if} diff --git a/frontend/src/lib/components/home/ItemsList.svelte b/frontend/src/lib/components/home/ItemsList.svelte index 8c821bb152..62d58b1c5a 100644 --- a/frontend/src/lib/components/home/ItemsList.svelte +++ b/frontend/src/lib/components/home/ItemsList.svelte @@ -1,6 +1,6 @@
-
- { - if (itemKind != 'all') { - subtab = v - } - setQuery(page.url, 'kind', v) - }} - > - {#snippet children({ item })} - - - {#if HOME_SEARCH_SHOW_FLOW} - - {/if} - - {/snippet} - -
- -
- - - -
- -
-
- - {#if allLabels.length > 0} -
- {#each allLabels as label (label)} - { - labelFilter = labelFilter === label ? undefined : label - }} - > - {label} - {#if label === labelFilter}✗{/if} - - {/each} -
- {/if} - {#if filteredItems?.length == 0} -
- {/if} {#if !loading} -
- - {#snippet trigger()} -