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;