Parameters
- profileCache: UseRecommendationProps = {}
Returns {
profile: UserPreferenceVector | null;
loading: boolean;
loadingRecommendations: boolean;
recommendations: RecommendedGame[];
collaborativeRecs: RecommendedGame[];
hybridRecs: RecommendedGame[];
ignoredIds: string[];
markAsNotUseful: (gameId: string) => Promise<void>;
updateConfig: (newConfig: RecommendationConfig) => Promise<void>;
config: RecommendationConfig;
resetFeedback: () => Promise<void>;
refreshRecommendations: () => Promise<void>;
toggleAdultFilter: () => Promise<void>;
setSeriesLimit: (
limit: "none" | "moderate" | "aggressive",
) => Promise<void>;
}
Objeto contendo perfil, listas de recomendações, estados de carregamento e ações de feedback
profile: UserPreferenceVector | null
loading: boolean
loadingRecommendations: boolean
recommendations: RecommendedGame[]
collaborativeRecs: RecommendedGame[]
hybridRecs: RecommendedGame[]
ignoredIds: string[]
markAsNotUseful: (gameId: string) => Promise<void>
updateConfig: (newConfig: RecommendationConfig) => Promise<void>
config: RecommendationConfig
resetFeedback: () => Promise<void>
refreshRecommendations: () => Promise<void>
toggleAdultFilter: () => Promise<void>
setSeriesLimit: (limit: "none" | "moderate" | "aggressive") => Promise<void>
Hook principal do sistema de recomendação
Gerencia recomendações calculadas pelo backend Rust usando:
Complementar: useGameAffinity (calcula afinidade no frontend para jogos RAWG)
Usa hooks menores para melhor organização: