mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-16 12:39:39 +02:00
feat(shared-ui): unify bottom-stack bars with shared Pill component
- Extract Pill.svelte as the single visual primitive (44px, icon+label, active/primary/danger variants) used by PillDropdownBar and TagStrip. PillNav keeps its own internal .pill class (36px, icon-only-oriented). - Extract phosphor-icon-map.ts to deduplicate the icon lookup tables that previously lived inline in PillDropdownBar. - Unify bar slot heights in (app)/+layout.svelte: 56px PillNav, 64px for tags / quickinput / tabbar / dropdown-bar. Remove debug outlines. Collapse bottom-stack gap so bars sit flush below PillNav. - SceneAppBar wrapped in 64px slot, scene-pill/app-tab 40px to match. - Enforce single-bar policy: opening one bar closes the others. - QuickInputBar strip-down: remove leading CheckSquare icon and trailing nav-toggle snippet; bar is pure search input now. - Move user-menu (last PillNav pill) to bar-mode with short content: Einstellungen, Light/Dark/System segmented, Theme, Logout. - Swap tabs nav icon from Columns to Cards for better readability. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
ce646550cd
commit
b03bbe132e
7 changed files with 467 additions and 460 deletions
|
|
@ -30,7 +30,7 @@
|
|||
}
|
||||
|
||||
import type { Snippet } from 'svelte';
|
||||
import { ArrowRight, Check, CheckSquare, Heart, MagnifyingGlass, Plus } from '@mana/shared-icons';
|
||||
import { ArrowRight, Heart, MagnifyingGlass, Plus } from '@mana/shared-icons';
|
||||
|
||||
interface Props {
|
||||
onSearch: (query: string) => Promise<QuickInputItem[]>;
|
||||
|
|
@ -508,15 +508,6 @@
|
|||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="app-icon" class:success-icon={createSuccess}>
|
||||
{#if createSuccess}
|
||||
<!-- Checkmark icon -->
|
||||
<Check size={20} />
|
||||
{:else}
|
||||
<CheckSquare size={20} />
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div class="input-wrapper">
|
||||
<!-- Highlight backdrop (shows colored keywords) -->
|
||||
<div class="input-highlight-backdrop" aria-hidden="true">
|
||||
|
|
@ -583,10 +574,10 @@
|
|||
left: 0;
|
||||
right: 0;
|
||||
z-index: 90;
|
||||
padding: 0.75rem 1rem;
|
||||
padding: 0.3125rem 1rem;
|
||||
pointer-events: none;
|
||||
/* Fixed height to prevent layout shift when results appear */
|
||||
height: 72px;
|
||||
/* Matches tags/tabbar slot (see bottomChromeHeight in (app)/+layout.svelte). */
|
||||
height: 64px;
|
||||
transition: bottom 0.3s ease;
|
||||
}
|
||||
|
||||
|
|
@ -599,13 +590,13 @@
|
|||
/* Mobile: tighter padding, full-width input */
|
||||
@media (max-width: 640px) {
|
||||
.quick-input-bar {
|
||||
padding: 0.5rem 0.5rem;
|
||||
padding: 0.3125rem 0.5rem;
|
||||
height: 64px;
|
||||
}
|
||||
|
||||
.input-container {
|
||||
padding: 0.5rem 1rem;
|
||||
height: 48px;
|
||||
height: 54px;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue