31 lines
732 B
TypeScript
31 lines
732 B
TypeScript
import { create } from 'zustand';
|
|
|
|
interface SelectedUser {
|
|
color: string;
|
|
name: string;
|
|
location?: {
|
|
position: {
|
|
x: number;
|
|
y: number;
|
|
z: number;
|
|
};
|
|
rotation: {
|
|
x: number;
|
|
y: number;
|
|
z: number;
|
|
};
|
|
}
|
|
}
|
|
|
|
interface SelectedUserStore {
|
|
selectedUser: SelectedUser | null;
|
|
setSelectedUser: (user: SelectedUser) => void;
|
|
clearSelectedUser: () => void;
|
|
}
|
|
|
|
export const useSelectedUserStore = create<SelectedUserStore>((set) => ({
|
|
selectedUser: null,
|
|
setSelectedUser: (user) => set({ selectedUser: user }),
|
|
clearSelectedUser: () => set({ selectedUser: null }),
|
|
}));
|