Skip to content

Référence complète de configuration ​

ts
MindtrainingPlatform.init('mindtraining', {
  showBackNavigation: boolean, // default: true
  showMobileGameHeader: boolean, // default: true
  showOtherGames: boolean, // default: true

  // ── Viewer ────────────────────────────────────────────────────────────────
  viewer: {
    userId: string | null,     // identifiant de votre utilisateur
    loggedIn: boolean,         // par défaut : false
    subscribed: boolean,       // par défaut : false
  },

  // ── UI ────────────────────────────────────────────────────────────────────
  ui: {
    colorScheme: 'light' | 'dark' | 'system', // default: 'light'
    mode: 'web' | 'app',       // par défaut : 'web'
    actions: {
      openLogin:       () => void,
      openRegister:    () => void,
      openSubscribe:   () => void,
      openUrl:         (url: string) => void,
      share:           (payload: { url?: string, title?: string }) => void,
    },
  },

  // ── Access ────────────────────────────────────────────────────────────────
  access: {
    games: {
      [gameType]: {
        default: {
          playToday: boolean,        // par défaut : true
          playArchive: boolean,      // par défaut : true
          viewStatistics: boolean,   // par défaut : true
          saveState: boolean,        // par défaut : true
          blockedReason: 'login_required'
                        | 'subscription_required'
                        | 'host_rule'
                        | 'variant_locked',
          blockedReasons: {
            default?: BlockedReason,
            today?:   BlockedReason,
            archive?: BlockedReason,
            statistics?: BlockedReason,
          },
          meterLimit: {
            maxStarts:    number,    // nombre maximal de démarrages autorisés
            intervalDays: number,    // fenêtre glissante en jours
          },
          levelLimit: {
            maxLevel: number,        // niveau de difficulté maximal autorisé
          },
        },
        variants: {
          [variantId]: AccessPolicy, // même structure que default
        },
      },
    },
  },
})

ui.colorScheme ​

ui.colorScheme sélectionne la palette de couleurs sur les sites où cette fonctionnalité est activée. Les sites compatibles incluent Entrenamentes et Le Monde.

  • 'light' (valeur par défaut) : impose la palette claire.
  • 'dark' : impose la palette sombre.
  • 'system' : suit la préférence de l’appareil via prefers-color-scheme et réagit à ses changements tant que la plateforme est montée.

Consultez Actions UI pour le comportement du thème de couleur et des exemples de modification pendant l’exécution.

Interception de navigation ​

Tous les sites héritent du callback facultatif ui.actions.navigate. Il reçoit une requête sérialisable avant la navigation du SDK, en mode web ou app. Interception de navigation.

Client integration documentation maintained in-repo.