import { apiBaseUrl } from "$lib/components/consts";
import AdminSelectedEmpireStore from "$lib/stores/admin-page/EmpireStore";
import AdminSelectedGameStore from "$lib/stores/admin-page/GameStore";
import type { ChellarisGameInfo } from "$lib/types/chellaris";
import AdminSelectedGroupStore from '../../lib/stores/admin-page/GroupStore';

export async function load ({ fetch }) {
  const gameList: { [key: number]: ChellarisGameInfo } = await (await fetch(apiBaseUrl + "/v3/games")).json();

  let store: string | null;

  if (typeof localStorage !== 'undefined') {
    // Game Selection
    store = localStorage.getItem('adminGameSelection');
    if (typeof store === 'string') {
      AdminSelectedGameStore.set(JSON.parse(store));
    }

    // Group Selection
    store = localStorage.getItem('adminGroupSelection');

    if (typeof store === 'string' && store != "\"\"") {
      AdminSelectedGroupStore.set(JSON.parse(store));
    }
    else if (typeof store === 'string') {
      AdminSelectedGroupStore.set({});
    }

    // Empire Selection
    store = localStorage.getItem('adminEmpireSelection');

    if (typeof store === 'string' && store != "\"\"") {
      AdminSelectedEmpireStore.set(JSON.parse(store));
    }
    else if (typeof store === 'string') {
      AdminSelectedEmpireStore.set({});
    }
  }

  return { games: gameList };
}