diff --git a/src/components/Card/Card.tsx b/src/components/Card/Card.tsx
index 339475a..5fffe46 100644
--- a/src/components/Card/Card.tsx
+++ b/src/components/Card/Card.tsx
@@ -1,12 +1,9 @@
import { v4 } from 'uuid';
-import { CardData, StateProps } from '../../util/types';
+import { CardProps } from '../../util/propTypes';
+import { ResourceCost } from '../../util/types';
import { buyCardActions } from '../Player/ActionMethods';
const { buyCard, tooExpensive } = buyCardActions;
-interface CardProps extends StateProps {
- data: CardData
-}
-
export default function Card({ data, state, setState }: CardProps) {
return (
@@ -15,9 +12,9 @@ export default function Card({ data, state, setState }: CardProps) {
Point value: {data.points || 0}
Cost:
{
- Object.keys(data.resourceCost).map((key) => {
+ Object.keys(data.resourceCost).map((key: keyof ResourceCost | string) => {
// @ts-ignore
- return (data.resourceCost[key] > 0) &&
{key}: {data.resourceCost[key]}
+ return (data.resourceCost[key as keyof ResourceCost] > 0) &&
{key}: {data.resourceCost[key as keyof ResourceCost]}
})
}
{ state.actions.buyCard.active &&
diff --git a/src/components/Card/CardRow.tsx b/src/components/Card/CardRow.tsx
index 8906727..2b89a07 100644
--- a/src/components/Card/CardRow.tsx
+++ b/src/components/Card/CardRow.tsx
@@ -1,10 +1,7 @@
-import { v4 } from 'uuid';
-import { CardData, StateProps } from "../../util/types"
+import { CardRowProps } from '../../util/propTypes';
+import { CardData } from "../../util/types"
import Card from "../Card/Card"
-
-interface CardRowProps extends StateProps {
- tier: number
-}
+import { v4 } from 'uuid';
export default function CardRow({tier, state, setState}: CardRowProps) {
let cards: Array
diff --git a/src/components/Card/MiniCard.tsx b/src/components/Card/MiniCard.tsx
new file mode 100644
index 0000000..8aeae09
--- /dev/null
+++ b/src/components/Card/MiniCard.tsx
@@ -0,0 +1,3 @@
+export const MiniCard = () => {
+
+}
\ No newline at end of file
diff --git a/src/components/GameConstructor.tsx b/src/components/GameConstructor.tsx
index 1b4a3eb..8fe7f7f 100644
--- a/src/components/GameConstructor.tsx
+++ b/src/components/GameConstructor.tsx
@@ -1,6 +1,7 @@
import { useEffect, useState } from "react"
import { useNavigate } from "react-router-dom"
-import { CardData, NobleData, PlayerData, StateProps } from "../util/types";
+import { CardData, NobleData, PlayerData } from "../util/types";
+import { StateProps } from '../util/propTypes';
interface InputState {
playerOne: PlayerInput
diff --git a/src/components/Gameboard/Gameboard.tsx b/src/components/Gameboard/Gameboard.tsx
index 7e8a4e6..8f68cba 100644
--- a/src/components/Gameboard/Gameboard.tsx
+++ b/src/components/Gameboard/Gameboard.tsx
@@ -1,8 +1,9 @@
// types, data, utils
-import { AppState, PlayerData, ResourceCost, SetActionType, StateProps } from '../../util/types';
+import { AppState, PlayerData, ResourceCost, SetActionType } from '../../util/types';
import { setStateBuyCard, setStateGetChips, setStateReserveCard } from '../../util/stateSetters';
import { useCallback, useEffect, useState } from 'react';
import { getChipsActions } from '../Player/ActionMethods';
+import { StateProps } from '../../util/propTypes';
const { validateChips } = getChipsActions;
// components
diff --git a/src/components/Gameboard/Nobles.tsx b/src/components/Gameboard/Nobles.tsx
index e34bd74..02945df 100644
--- a/src/components/Gameboard/Nobles.tsx
+++ b/src/components/Gameboard/Nobles.tsx
@@ -1,6 +1,7 @@
import { useEffect } from "react";
import { v4 } from "uuid";
-import { NobleData, ResourceCost, StateProps } from "../../util/types";
+import { NobleData, ResourceCost } from "../../util/types";
+import { StateProps } from "../../util/propTypes";
import "./Nobles.css"
export default function Nobles({ state, setState }: StateProps) {
diff --git a/src/components/Player/AllPlayers.tsx b/src/components/Player/AllPlayers.tsx
index 4e90b62..1ff5520 100644
--- a/src/components/Player/AllPlayers.tsx
+++ b/src/components/Player/AllPlayers.tsx
@@ -1,17 +1,18 @@
import Player from "./Player";
import { v4 } from "uuid";
import "./AllPlayers.css"
-import { PlayerData, SetActionType, StateProps } from "../../util/types";
-
-interface AllPlayersProps extends StateProps {
- setActionState: (value: SetActionType, player?: PlayerData) => void
-}
+import { PlayerData } from "../../util/types";
+import { useState } from "react";
+import { AllPlayersProps } from "../../util/propTypes";
export default function AllPlayers({ state, setState, setActionState }: AllPlayersProps) {
+ const [activePlayer, setActivePlayer] = useState();
+ const playerPool = state.players?.map((player: PlayerData) => );
+
return (
{
- state.players?.map((player: PlayerData) =>
)
+ playerPool
}
)
diff --git a/src/components/Player/Player.tsx b/src/components/Player/Player.tsx
index b9e4f12..6f667fb 100644
--- a/src/components/Player/Player.tsx
+++ b/src/components/Player/Player.tsx
@@ -1,12 +1,8 @@
-import { PlayerData, SetActionType, StateProps } from "../../util/types"
+import { PlayerProps } from "../../util/propTypes";
+import { PlayerData } from "../../util/types"
import { useEffect, useState } from "react";
import { v4 } from "uuid";
-interface PlayerProps extends StateProps {
- player: PlayerData,
- setActionState: (value: SetActionType, player?: PlayerData) => void
-}
-
export default function Player({ player, state, setState, setActionState }: PlayerProps) {
const [dynamic, setDynamic] = useState();
const [prompt, setPrompt] = useState("Your turn! Select an action type below.");
@@ -33,22 +29,37 @@ export default function Player({ player, state, setState, setActionState }: Play
return (
{/* Static Data */}
-
Name: {player.name}
-
Score: {player.points}
-
Is {player.starter || "not"} round starter
+
+ Name: {player.name}
+ Score: {player.points}
+ Is {player.starter || "not"} round starter
+
{/* Dynamic data from state */}
-
{dynamic?.turnActive ? prompt : '...'}
-
-
-
-
+
+ {dynamic?.turnActive ? prompt : '...'}
+
+
+
+
+
+
{dynamic?.name}'s Resources
- { dynamic && Object.entries(dynamic?.inventory).map(([key,value]) => {
- return value > 0 && {key}: {value}
- })}
-
-
+
+
+ { dynamic && Object.entries(dynamic?.inventory).map(([key,value]) => {
+ return value > 0 &&
{key}: {value}
+ })}
+
+
+
+ { dynamic && dynamic.cards.length > 0 && Object.entries(dynamic.cards).map(([key, value]) => {
+ return (
+
+ )
+ })}
+
+
)
}
\ No newline at end of file
diff --git a/src/components/Resources/AvailableChips.tsx b/src/components/Resources/AvailableChips.tsx
index 3106d8a..e3bf6d3 100644
--- a/src/components/Resources/AvailableChips.tsx
+++ b/src/components/Resources/AvailableChips.tsx
@@ -1,13 +1,9 @@
-import { AppState, ResourceCost, StateProps } from "../../util/types";
+import { ResourceProps } from "../../util/propTypes";
+import { ResourceCost } from "../../util/types";
import { useEffect } from "react";
import { v4 } from "uuid";
import "./AvailableChips.css"
import { setStateGetChips } from "../../util/stateSetters";
-// import { validateChips } from "../Player/ActionMethods";
-
-interface ResourceProps extends StateProps {
- liftSelection: (value: keyof ResourceCost) => void
-}
export default function AvailableChips({ state, setState, liftSelection }: ResourceProps) {
useEffect(() => {
diff --git a/src/components/Resources/ViewHTML.tsx b/src/components/Resources/ViewHTML.tsx
index f424c9d..12514e1 100644
--- a/src/components/Resources/ViewHTML.tsx
+++ b/src/components/Resources/ViewHTML.tsx
@@ -1,7 +1,8 @@
import { v4 } from "uuid";
import { useEffect, useState } from "react";
import { setStateGetChips } from "../../util/stateSetters";
-import { ResourceCost, StateProps } from "../../util/types";
+import { StateProps } from "../../util/propTypes";
+import { ResourceCost } from "../../util/types";
import { getChipsActions } from "../Player/ActionMethods";
const { getChips } = getChipsActions;
diff --git a/src/util/propTypes.ts b/src/util/propTypes.ts
new file mode 100644
index 0000000..41ded0a
--- /dev/null
+++ b/src/util/propTypes.ts
@@ -0,0 +1,27 @@
+import { AppState, CardData, PlayerData, ResourceCost, SetActionType, setStateType } from "./types";
+
+export interface StateProps {
+ state: AppState,
+ setState: setStateType
+}
+
+export interface CardProps extends StateProps {
+ data: CardData
+}
+
+export interface CardRowProps extends StateProps {
+ tier: number
+}
+
+export interface AllPlayersProps extends StateProps {
+ setActionState: (value: SetActionType, player?: PlayerData) => void
+}
+
+export interface PlayerProps extends AllPlayersProps {
+ player: PlayerData
+}
+
+export interface ResourceProps extends StateProps {
+ liftSelection: (value: keyof ResourceCost) => void
+}
+
diff --git a/src/util/types.ts b/src/util/types.ts
index 0237090..b1cab57 100644
--- a/src/util/types.ts
+++ b/src/util/types.ts
@@ -48,11 +48,6 @@ export enum SetActionType {
export type setStateType = Dispatch>
-export interface StateProps {
- state: AppState,
- setState: setStateType
-}
-
export interface GameInformation {
players: PlayerData[],
nobles: NobleData[],