mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
fix: remove dead store code and add search input maxLength
- Remove unused networkData, searchQuery, searchResults from zustand store
- Remove setNetworkData write in NetworkGraph
- Add maxLength={200} to search input
This commit is contained in:
@@ -1,11 +1,5 @@
|
||||
import { create } from 'zustand';
|
||||
import type {
|
||||
NetworkGraphData,
|
||||
SelectedNode,
|
||||
NetworkFilters,
|
||||
NetworkUserNode,
|
||||
NetworkCampaignNode,
|
||||
} from '@/types/referralNetwork';
|
||||
import type { SelectedNode, NetworkFilters } from '@/types/referralNetwork';
|
||||
|
||||
const DEFAULT_FILTERS: NetworkFilters = {
|
||||
campaigns: [],
|
||||
@@ -14,51 +8,33 @@ const DEFAULT_FILTERS: NetworkFilters = {
|
||||
};
|
||||
|
||||
interface ReferralNetworkState {
|
||||
networkData: NetworkGraphData | null;
|
||||
selectedNode: SelectedNode;
|
||||
hoveredNodeId: string | null;
|
||||
highlightedNodes: Set<string>;
|
||||
searchQuery: string;
|
||||
searchResults: { users: NetworkUserNode[]; campaigns: NetworkCampaignNode[] };
|
||||
filters: NetworkFilters;
|
||||
isFiltersOpen: boolean;
|
||||
|
||||
setNetworkData: (data: NetworkGraphData) => void;
|
||||
setSelectedNode: (node: SelectedNode) => void;
|
||||
setHoveredNode: (id: string | null) => void;
|
||||
setHighlightedNodes: (nodes: Set<string>) => void;
|
||||
setSearchQuery: (query: string) => void;
|
||||
setSearchResults: (results: {
|
||||
users: NetworkUserNode[];
|
||||
campaigns: NetworkCampaignNode[];
|
||||
}) => void;
|
||||
updateFilters: (filters: Partial<NetworkFilters>) => void;
|
||||
resetFilters: () => void;
|
||||
setIsFiltersOpen: (open: boolean) => void;
|
||||
}
|
||||
|
||||
export const useReferralNetworkStore = create<ReferralNetworkState>()((set) => ({
|
||||
networkData: null,
|
||||
selectedNode: null,
|
||||
hoveredNodeId: null,
|
||||
highlightedNodes: new Set<string>(),
|
||||
searchQuery: '',
|
||||
searchResults: { users: [], campaigns: [] },
|
||||
filters: { ...DEFAULT_FILTERS },
|
||||
isFiltersOpen: false,
|
||||
|
||||
setNetworkData: (data) => set({ networkData: data }),
|
||||
|
||||
setSelectedNode: (node) => set({ selectedNode: node }),
|
||||
|
||||
setHoveredNode: (id) => set({ hoveredNodeId: id }),
|
||||
|
||||
setHighlightedNodes: (nodes) => set({ highlightedNodes: nodes }),
|
||||
|
||||
setSearchQuery: (query) => set({ searchQuery: query }),
|
||||
|
||||
setSearchResults: (results) => set({ searchResults: results }),
|
||||
|
||||
updateFilters: (partial) =>
|
||||
set((state) => ({
|
||||
filters: { ...state.filters, ...partial },
|
||||
|
||||
Reference in New Issue
Block a user