25 lines · 742 B · TypeScript
RawDownload
import type { DesktopPreviewPointerEvent } from "@t3tools/contracts";import { create } from "zustand"; interface BrowserPointerStoreState {  readonly byTabId: Record<string, DesktopPreviewPointerEvent>;  readonly apply: (event: DesktopPreviewPointerEvent) => void;  readonly clear: (tabId: string) => void;} export const useBrowserPointerStore = create<BrowserPointerStoreState>()((set) => ({  byTabId: {},  apply: (event) =>    set((state) => ({      byTabId: {        ...state.byTabId,        [event.tabId]: event,      },    })),  clear: (tabId) =>    set((state) => {      if (!(tabId in state.byTabId)) return state;      const { [tabId]: _removed, ...byTabId } = state.byTabId;      return { byTabId };    }),}));

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t