Skip to content

Commit

Permalink
Added a way to get the character id and globally attach it to the gam…
Browse files Browse the repository at this point in the history
…e data provider
  • Loading branch information
AdamKyle committed Dec 31, 2024
1 parent 2c7ddf3 commit a05aa99
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 7 deletions.
14 changes: 12 additions & 2 deletions resources/js/game-data/components/game-data-provider.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useState } from 'react';
import React, { useEffect, useState } from 'react';

import { GameDataContext } from '../game-data-context';
import GameDataProviderProps from './types/game-data-provider-props';
Expand All @@ -7,8 +7,18 @@ import GameDataDefinition from '../deffinitions/game-data-definition';
const GameDataProvider = (props: GameDataProviderProps): React.ReactNode => {
const [gameData, setGameData] = useState<GameDataDefinition | null>(null);

const [characterId, setCharacterId] = useState<number>(0);

useEffect(() => {
const playerIdMeta = document.querySelector('meta[name="player"]');
const characterIdContent = playerIdMeta?.getAttribute('content');
if (characterIdContent) {
setCharacterId(parseInt(characterIdContent, 10) || 0);
}
}, []);
console.log(characterId);
return (
<GameDataContext.Provider value={{ gameData, setGameData }}>
<GameDataContext.Provider value={{ gameData, setGameData, characterId }}>
{props.children}
</GameDataContext.Provider>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ import GameDataDefinition from './game-data-definition';
export default interface GameDataContextDefinition {
gameData: GameDataDefinition | null;
setGameData: React.Dispatch<React.SetStateAction<GameDataDefinition | null>>;
characterId: number;
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,22 @@ import { GameLoaderApiUrls } from '../api/enums/game-loader-api-urls';
import { useCharacterSheetApi } from '../api/hooks/use-character-sheet-api';
import { useMonsterApi } from '../api/hooks/use-monster-api';

import { useGameData } from 'game-data/hooks/use-game-data';

export const useGameLoader = (): UseGameLoaderDefinition => {
const { characterId } = useGameData();

const { fetchCharacterData } = useCharacterSheetApi({
url: GameLoaderApiUrls.CHARACTER_SHEET,
urlParams: {
character: 1,
character: characterId,
},
});

const { fetchMonstersData } = useMonsterApi({
url: GameLoaderApiUrls.MONSTERS,
urlParams: {
character: 1,
character: characterId,
},
});

Expand All @@ -37,10 +41,10 @@ export const useGameLoader = (): UseGameLoaderDefinition => {
]);

useEffect(() => {
if (loading) {
if (characterId !== 0 && loading) {
executeBatchApiCalls();
}
}, [executeBatchApiCalls, loading]);
}, [executeBatchApiCalls, loading, characterId]);

return {
loading,
Expand Down
2 changes: 1 addition & 1 deletion resources/views/layouts/app.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

@guest
@else
<meta name="player" content="{{ auth()->user()->id }}">
<meta name="player" content="{{ auth()->user()->character->id }}">

@if (!auth()->user()->hasRole('Admin'))
<meta name="character" content="{{ auth()->user()->character->id}}">
Expand Down

0 comments on commit a05aa99

Please sign in to comment.