diff --git a/src/cmdk/CommandKClient.tsx b/src/cmdk/CommandKClient.tsx index 81bdbfd9..c1645e98 100644 --- a/src/cmdk/CommandKClient.tsx +++ b/src/cmdk/CommandKClient.tsx @@ -78,6 +78,7 @@ import { labelForFilm } from '@/film'; import IconFavs from '@/components/icons/IconFavs'; import IconHidden from '@/components/icons/IconHidden'; import { useAppText } from '@/i18n/state/client'; +import LoaderButton from '@/components/primitives/LoaderButton'; const DIALOG_TITLE = 'Global Command-K Menu'; const DIALOG_DESCRIPTION = 'For searching photos, views, and settings'; @@ -199,7 +200,6 @@ export default function CommandKClient({ const [queryLiveRaw, setQueryLive] = useState(''); const [queryDebouncedRaw] = useDebounce(queryLiveRaw, 500, { trailing: true }); - const isPlaceholderVisible = queryLiveRaw === ''; // Parameterized query values const queryLive = useMemo(() => @@ -586,38 +586,47 @@ export default function CommandKClient({ {DIALOG_DESCRIPTION}
-
- { - setQueryLive(e.currentTarget.value); - updateMask(); - }} - className={clsx( - 'w-full min-w-0!', - 'focus:ring-0', - isPlaceholderVisible || isLoading && 'pr-10!', - 'border-medium', - 'focus:border-gray-200 dark:focus:border-gray-800', - 'placeholder:text-gray-400/80', - 'dark:placeholder:text-gray-700', - 'focus:outline-hidden', - isPending && 'opacity-20', - )} - placeholder={appText.cmdk.placeholder} - disabled={isPending} - /> - {isLoading && !isPending && - - - } -
+ { + setQueryLive(e.currentTarget.value); + updateMask(); + }} + className={clsx( + 'grow p-0', + 'focus:ring-0', + 'border-transparent focus:border-transparent', + 'bg-transparent rounded-none', + 'placeholder:text-gray-400/80', + 'dark:placeholder:text-gray-700', + 'focus:outline-hidden', + isPending && 'opacity-20', + )} + placeholder={appText.cmdk.placeholder} + disabled={isPending} + /> + {isLoading && !isPending + ? + + + : + setIsOpen?.(false)} + > + ESC + + }
{ - router.push(path, { scroll: true }); - }); + startTransition(() => router.push(path)); } else { setIsOpen?.(false); } diff --git a/tailwind.css b/tailwind.css index 9638cf68..ac1375cd 100644 --- a/tailwind.css +++ b/tailwind.css @@ -15,6 +15,11 @@ } } +html { + /* Necessary for nextjs scroll restoration */ + min-height: 100%; +} + @theme { --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;