playlite
    Preparing search index...
    • Hook principal do sistema de recomendação

      Gerencia recomendações calculadas pelo backend Rust usando:

      • Content-Based Filtering (baseado em gêneros/tags dos jogos do usuário)
      • Collaborative Filtering (baseado em similaridade com outros usuários)
      • Hybrid (combinação de ambos)

      Complementar: useGameAffinity (calcula afinidade no frontend para jogos RAWG)

      Usa hooks menores para melhor organização:

      • useRecommendationProfile: Gerencia perfil do usuário
      • useRecommendationBlacklist: Gerencia jogos ignorados
      • useRecommendationConfig: Gerencia configurações de peso

      Parameters

      • profileCache: UseRecommendationProps = {}

        Perfil de preferências em cache (opcional)

      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>

        Marca jogo como "Não Útil" e remove de todas as listas visualmente

      • updateConfig: (newConfig: RecommendationConfig) => Promise<void>
      • config: RecommendationConfig
      • resetFeedback: () => Promise<void>

        Reseta todo o feedback negativo (Limpa blacklist)

      • refreshRecommendations: () => Promise<void>
      • toggleAdultFilter: () => Promise<void>
      • setSeriesLimit: (limit: "none" | "moderate" | "aggressive") => Promise<void>