refactor: rename command palette types and DOM selectors to search

This commit is contained in:
2026-06-21 00:37:25 +02:00
committed by Milas Holsting
parent c20a22b2a8
commit 9a961d9815

View File

@@ -1,4 +1,4 @@
export interface CommandPaletteItem { export interface SearchItem {
id: string; id: string;
type: string; type: string;
label: string; label: string;
@@ -9,30 +9,22 @@ export interface CommandPaletteItem {
inWatchlist?: boolean; inWatchlist?: boolean;
} }
export interface CommandPaletteResponse { export interface SearchResponse {
items: CommandPaletteItem[]; items: SearchItem[];
hasNextPage: boolean; hasNextPage: boolean;
nextPage?: number; nextPage?: number;
} }
export const commandPaletteInitializedKey = Symbol("commandPaletteInitialized"); export const searchInitializedKey = Symbol("searchInitialized");
export const globalWindow = window as Window & { [commandPaletteInitializedKey]?: boolean }; export const globalWindow = window as Window & { [searchInitializedKey]?: boolean };
export const searchInput = document.getElementById( export const searchInput = document.getElementById("search-input") as HTMLInputElement | null;
"command-palette-input", export const searchResults = document.querySelector("[data-search-results]") as HTMLElement | null;
) as HTMLInputElement | null; export const searchRoot = document.querySelector("[data-search-root]") as HTMLElement | null;
export const searchResults = document.querySelector( export const searchPage = document.querySelector("[data-search-page]") as HTMLElement | null;
"[data-command-palette-results]", export const searchClearButtons = document.querySelectorAll("[data-search-clear]");
) as HTMLElement | null;
export const searchRoot = document.querySelector(
"[data-command-palette-root]",
) as HTMLElement | null;
export const searchPage = document.querySelector(
"[data-command-palette-page]",
) as HTMLElement | null;
export const searchClearButtons = document.querySelectorAll("[data-command-palette-clear]");
let resultItems: CommandPaletteItem[] = []; let resultItems: SearchItem[] = [];
let selectedIndex = 0; let selectedIndex = 0;
let fetchTimeout: number | undefined; let fetchTimeout: number | undefined;
let lastQuery = ""; let lastQuery = "";
@@ -42,9 +34,9 @@ let searchHasNextPage = false;
let fetchingNextPage = false; let fetchingNextPage = false;
let lastFocusedSearchOpener: HTMLElement | null = null; let lastFocusedSearchOpener: HTMLElement | null = null;
export const getResultItems = (): CommandPaletteItem[] => resultItems; export const getResultItems = (): SearchItem[] => resultItems;
export const setResultItems = (items: CommandPaletteItem[]): void => { export const setResultItems = (items: SearchItem[]): void => {
resultItems = items; resultItems = items;
}; };
@@ -108,10 +100,10 @@ export const focusLastSearchOpener = (): void => {
const maxCachedResponses = 20; const maxCachedResponses = 20;
const createResponseCache = () => { const createResponseCache = () => {
const responses = new Map<string, CommandPaletteResponse>(); const responses = new Map<string, SearchResponse>();
return { return {
get(query: string): CommandPaletteResponse | undefined { get(query: string): SearchResponse | undefined {
const response = responses.get(query); const response = responses.get(query);
if (!response) { if (!response) {
return undefined; return undefined;
@@ -122,7 +114,7 @@ const createResponseCache = () => {
return response; return response;
}, },
set(query: string, response: CommandPaletteResponse): void { set(query: string, response: SearchResponse): void {
if (responses.has(query)) { if (responses.has(query)) {
responses.delete(query); responses.delete(query);
} }