mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-08 04:50:12 +02:00
17 lines
457 B
TypeScript
17 lines
457 B
TypeScript
import { create } from 'zustand';
|
|
|
|
type ScrollState = {
|
|
getOffset: (key: string) => number | undefined;
|
|
offsets: Record<string, number>;
|
|
setOffset: (key: string, offset: number) => void;
|
|
};
|
|
|
|
export const useScrollStore = create<ScrollState>((set, get) => ({
|
|
getOffset: (key) => get().offsets[key],
|
|
offsets: {},
|
|
setOffset: (key, offset) =>
|
|
set((s) => ({
|
|
offsets: { ...s.offsets, [key]: offset },
|
|
})),
|
|
}));
|