Files
windmill/frontend/src/lib/components/settings/SettingsPageHeader.svelte
T
Guilhem dd421845ba fix(frontend): reorganize workspace settings (#7788)
* Add vertical nav bar to workspace settings

* harmonize settings content titles

* remove sidebar icons

* add background to sidebar

* nit user section

* EEonly display

* Workspace settings general design

* Add schema validation and dirty detection

* Put critical alerts in a separated tab

* separate error success handler

* only enable save when there is some changes

* Fix dirty detection for deployment UI

* Only enable save button when changes for datatables ws storage

* Add setting footer component

* Use new footer setting for saving configs

* nit

* apply setting footer

* improve save button

* nit

* nit

* nit

* make ws app use same pattern as other tabs

* Separate scrolling between sidebar and content

* Gather error handlers

* use universal save button for object storage

* Title sentence case

* nit

* nit

* improve dirty config logic

* nit

* nit

* clean dead code

* Use settings footer for deployment settings

* Git sync settings

* move tabs

* fix dirty stats of error handlers

* nit

* nit
2026-02-09 18:22:22 +00:00

33 lines
783 B
Svelte

<script lang="ts">
import Description from '$lib/components/Description.svelte'
import { twMerge } from 'tailwind-merge'
interface Props {
title: string
description?: string
link?: string
actions?: import('svelte').Snippet
class?: string
}
let { title, description, link, actions, class: className = '' }: Props = $props()
</script>
<div class={twMerge('flex flex-col gap-2 mb-6', className)}>
<div class="flex items-center justify-between gap-4">
<div class="flex-1 min-w-0">
<h2 class="text-lg font-semibold text-emphasis">{title}</h2>
</div>
{#if actions}
<div class="flex items-center gap-2 shrink-0">
{@render actions()}
</div>
{/if}
</div>
{#if description}
<Description {link}>
{@html description}
</Description>
{/if}
</div>