react-achievements-zustand
Version:
This package allows users to transpose a React achievements engine over their React apps using Zustand for state management
22 lines (21 loc) • 840 B
TypeScript
import React, { ReactNode } from 'react';
import { Metrics, AchievementConfig, MetricValue } from '../types';
import { Styles } from '../defaultStyles';
interface AchievementContextProps {
metrics: Metrics;
setMetrics: (metrics: Metrics | ((prevMetrics: Metrics) => Metrics)) => void;
unlockedAchievements: string[];
checkAchievements: () => void;
showBadgesModal: () => void;
}
interface AchievementProviderProps {
children: ReactNode;
config: AchievementConfig;
initialState?: Record<string, MetricValue>;
storageKey?: string;
badgesButtonPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
styles?: Partial<Styles>;
}
export declare const AchievementProvider: React.FC<AchievementProviderProps>;
export declare const useAchievement: () => AchievementContextProps;
export {};