Skip to content

Commit 3a8f01f

Browse files
fix(cmd-k): z-index + reoder tools, triggers (#1970)
* fix(cmd-k): z-index + reoder tools, triggers * fix more z-index styling
1 parent 383b6f0 commit 3a8f01f

File tree

2 files changed

+31
-11
lines changed

2 files changed

+31
-11
lines changed

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components-new/search-modal/search-modal.tsx

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -331,16 +331,35 @@ export function SearchModal({
331331
return items
332332
}, [workspaces, workflows, pages, blocks, triggers, tools, docs])
333333

334-
// Filter items based on search query
335-
const filteredItems = useMemo(() => {
336-
if (!searchQuery.trim()) return allItems
334+
const sectionOrder = useMemo<SearchItem['type'][]>(
335+
() => ['workspace', 'workflow', 'page', 'tool', 'trigger', 'block', 'doc'],
336+
[]
337+
)
337338

338-
const query = searchQuery.toLowerCase()
339-
return allItems.filter(
340-
(item) =>
341-
item.name.toLowerCase().includes(query) || item.description?.toLowerCase().includes(query)
339+
// Filter items based on search query and enforce section ordering
340+
const filteredItems = useMemo(() => {
341+
const orderMap = sectionOrder.reduce<Record<SearchItem['type'], number>>(
342+
(acc, type, index) => {
343+
acc[type] = index
344+
return acc
345+
},
346+
{} as Record<SearchItem['type'], number>
342347
)
343-
}, [allItems, searchQuery])
348+
349+
const baseItems = !searchQuery.trim()
350+
? allItems
351+
: allItems.filter(
352+
(item) =>
353+
item.name.toLowerCase().includes(searchQuery.toLowerCase()) ||
354+
item.description?.toLowerCase().includes(searchQuery.toLowerCase())
355+
)
356+
357+
return [...baseItems].sort((a, b) => {
358+
const aOrder = orderMap[a.type] ?? Number.MAX_SAFE_INTEGER
359+
const bOrder = orderMap[b.type] ?? Number.MAX_SAFE_INTEGER
360+
return aOrder - bOrder
361+
})
362+
}, [allItems, searchQuery, sectionOrder])
344363

345364
// Reset selected index when filtered items change
346365
useEffect(() => {
@@ -469,7 +488,7 @@ export function SearchModal({
469488
<Dialog open={open} onOpenChange={onOpenChange}>
470489
<DialogPortal>
471490
<DialogOverlay
472-
className='bg-white/80 dark:bg-[#1b1b1b]/90'
491+
className='z-40 bg-white/80 dark:bg-[#1b1b1b]/90'
473492
style={{ backdropFilter: 'blur(4px)' }}
474493
/>
475494
<DialogPrimitive.Content className='fixed top-[15%] left-[50%] z-50 flex w-[500px] translate-x-[-50%] flex-col gap-[12px] p-0 focus:outline-none focus-visible:outline-none'>
@@ -493,7 +512,8 @@ export function SearchModal({
493512
{/* Floating results container */}
494513
{filteredItems.length > 0 ? (
495514
<div className='scrollbar-thin scrollbar-thumb-border scrollbar-track-transparent max-h-[400px] overflow-y-auto rounded-[10px] py-[10px] shadow-sm'>
496-
{Object.entries(groupedItems).map(([type, items]) => {
515+
{sectionOrder.map((type) => {
516+
const items = groupedItems[type] || []
497517
if (items.length === 0) return null
498518

499519
return (

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components-new/settings-modal/components/subscription/subscription.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,7 @@ export function Subscription({ onOpenChange }: SubscriptionProps) {
670670
<SelectTrigger className='h-8 w-[200px] justify-between text-left text-xs'>
671671
<SelectValue placeholder='Select admin' />
672672
</SelectTrigger>
673-
<SelectContent align='start'>
673+
<SelectContent align='start' className='z-50'>
674674
<SelectGroup>
675675
<SelectLabel className='px-3 py-1 text-[11px] text-muted-foreground uppercase'>
676676
Workspace admins

0 commit comments

Comments
 (0)