|
@@ -2,9 +2,19 @@
|
|
|
const localStorageGameId = "terrassumptions:gameId";
|
|
|
const localStoragePlayerName = "terrassumptions:playerName";
|
|
|
const localStoragePlayerId = "terrassumptions:playerId";
|
|
|
+
|
|
|
const localStorageTimer = "terrassumptions:timer";
|
|
|
-const localStoragePointLat = "terrassumptions:point:lat";
|
|
|
-const localStoragePointLng = "terrassumptions:point:lng";
|
|
|
+
|
|
|
+const localStoragePanoLat = "terrassumptions:pano:lat";
|
|
|
+const localStoragePanoLng = "terrassumptions:pano:lng";
|
|
|
+const localStoragePanoHeading = "terrassumptions:pano:heading";
|
|
|
+const localStoragePanoPitch = "terrassumptions:pano:pitch";
|
|
|
+
|
|
|
+export const hasSavedGameInfo = () => (
|
|
|
+ localStorage.getItem(localStorageGameId) !== null &&
|
|
|
+ localStorage.getItem(localStoragePlayerName) !== null &&
|
|
|
+ localStorage.getItem(localStoragePlayerId) !== null
|
|
|
+)
|
|
|
|
|
|
export const saveGameInfoToLocalStorage = (gameId, playerName, playerId) => {
|
|
|
localStorage.setItem(localStorageGameId, gameId);
|
|
@@ -12,44 +22,59 @@ export const saveGameInfoToLocalStorage = (gameId, playerName, playerId) => {
|
|
|
localStorage.setItem(localStoragePlayerId, playerId);
|
|
|
}
|
|
|
|
|
|
-export const clearGameInfoFromLocalStorage = () => {
|
|
|
- localStorage.removeItem(localStorageGameId);
|
|
|
- localStorage.removeItem(localStoragePlayerName);
|
|
|
- localStorage.removeItem(localStoragePlayerId);
|
|
|
-}
|
|
|
-
|
|
|
-export const useGameInfoFromLocalStorage = () => {
|
|
|
- const gameId = localStorage.getItem(localStorageGameId);
|
|
|
- const playerName = localStorage.getItem(localStoragePlayerName);
|
|
|
- const playerId = localStorage.getItem(localStoragePlayerId);
|
|
|
- return { gameId, playerName, playerId };
|
|
|
-}
|
|
|
-
|
|
|
export const saveTimerToLocalStorage = (timer) => {
|
|
|
localStorage.setItem(localStorageTimer, timer.toString());
|
|
|
}
|
|
|
|
|
|
-export const clearTimerFromLocalStorage = () => {
|
|
|
- localStorage.removeItem(localStorageTimer);
|
|
|
+export const savePanoPositionToLocalStorage = (lat, lng) => {
|
|
|
+ localStorage.setItem(localStoragePanoLat, lat.toString());
|
|
|
+ localStorage.setItem(localStoragePanoLng, lng.toString());
|
|
|
}
|
|
|
|
|
|
-export const useTimerFromLocalStorage = () => {
|
|
|
- const timer = localStorage.getItem(localStorageTimer);
|
|
|
- return timer === null ? null : Number.parseInt(timer);
|
|
|
+export const savePanoPovToLocalStorage = (heading, pitch) => {
|
|
|
+ localStorage.setItem(localStoragePanoHeading, heading.toString());
|
|
|
+ localStorage.setItem(localStoragePanoPitch, pitch.toString());
|
|
|
}
|
|
|
|
|
|
-export const savePointToLocalStorage = (lat, lng) => {
|
|
|
- localStorage.setItem(localStoragePointLat, lat.toString());
|
|
|
- localStorage.setItem(localStoragePointLng, lng.toString());
|
|
|
+export const clearGameInfoFromLocalStorage = () => {
|
|
|
+ localStorage.removeItem(localStorageGameId);
|
|
|
+ localStorage.removeItem(localStoragePlayerName);
|
|
|
+ localStorage.removeItem(localStoragePlayerId);
|
|
|
}
|
|
|
|
|
|
-export const clearPointFromLocalStorage = () => {
|
|
|
- localStorage.removeItem(localStoragePointLat);
|
|
|
- localStorage.removeItem(localStoragePointLng);
|
|
|
+export const clearRoundInfoFromLocalStorage = () => {
|
|
|
+ localStorage.removeItem(localStorageTimer);
|
|
|
+ localStorage.removeItem(localStoragePanoLat);
|
|
|
+ localStorage.removeItem(localStoragePanoLng);
|
|
|
+ localStorage.removeItem(localStoragePanoHeading);
|
|
|
+ localStorage.removeItem(localStoragePanoPitch);
|
|
|
}
|
|
|
|
|
|
-export const usePointFromLocalStorage = () => {
|
|
|
- const lat = localStorage.getItem(localStoragePointLat);
|
|
|
- const lng = localStorage.getItem(localStoragePointLng);
|
|
|
- return lat === null || lng === null ? null : { lat: Number.parseFloat(lat), lng: Number.parseFloat(lng) };
|
|
|
+export const getGameInfoFromLocalStorage = () => ({
|
|
|
+ gameId: localStorage.getItem(localStorageGameId),
|
|
|
+ playerName: localStorage.getItem(localStoragePlayerName),
|
|
|
+ playerId: localStorage.getItem(localStoragePlayerId),
|
|
|
+})
|
|
|
+
|
|
|
+const parseFloatFromStorage = key => {
|
|
|
+ const val = localStorage.getItem(key);
|
|
|
+ return val === null ? null : Number.parseFloat(val);
|
|
|
}
|
|
|
+
|
|
|
+export const getRoundInfoFromLocalStorage = () => {
|
|
|
+ const position = {
|
|
|
+ lat: parseFloatFromStorage(localStoragePanoLat),
|
|
|
+ lng: parseFloatFromStorage(localStoragePanoLng),
|
|
|
+ };
|
|
|
+ const pov = {
|
|
|
+ heading: parseFloatFromStorage(localStoragePanoHeading),
|
|
|
+ pitch: parseFloatFromStorage(localStoragePanoPitch),
|
|
|
+ };
|
|
|
+ const timer = localStorage.getItem(localStorageTimer);
|
|
|
+
|
|
|
+ return {
|
|
|
+ savedPosition: position.lat !== null && position.lng !== null ? position : null,
|
|
|
+ savedPov: pov.heading !== null && pov.pitch !== null ? pov : null,
|
|
|
+ savedTimer: timer !== null ? Number.parseInt(timer) : null,
|
|
|
+ }
|
|
|
+};
|