Add list (side) quests.
This commit is contained in:
parent
6097c32488
commit
065fd743e4
|
@ -33,7 +33,8 @@ export default (player, quest, sideQuest) => {
|
||||||
sideQuest.getSideQuests(token).then((res) => setSideQuests(res));
|
sideQuest.getSideQuests(token).then((res) => setSideQuests(res));
|
||||||
|
|
||||||
let body;
|
let body;
|
||||||
if (display.type === "main")
|
switch(display.type) {
|
||||||
|
case "main":
|
||||||
body = (<>
|
body = (<>
|
||||||
<Stats playerStats={playerStats} />
|
<Stats playerStats={playerStats} />
|
||||||
<div className="stats lists nes-container with-title is-dark">
|
<div className="stats lists nes-container with-title is-dark">
|
||||||
|
@ -59,12 +60,21 @@ export default (player, quest, sideQuest) => {
|
||||||
>List Side Quests</button>
|
>List Side Quests</button>
|
||||||
</div>
|
</div>
|
||||||
</>);
|
</>);
|
||||||
else if (display.type === "quests" || display.type === "sideQuests")
|
break;
|
||||||
body = <Quests display={display} />;
|
case "quests":
|
||||||
else if (display.type === "quest" || display.type === "sideQuest")
|
body = <Quests display={display} quests={quests} setDisplay={setDisplay} />;
|
||||||
body = <Quest display={display} />;
|
break;
|
||||||
else if (display.type === "addQuest" || display.type === "addSideQuest")
|
case "sideQuests":
|
||||||
body = <AddQuest display={display} />;
|
body = <Quests display={display} quests={sideQuests} setDisplay={setDisplay} />;
|
||||||
|
break;
|
||||||
|
case "quest":
|
||||||
|
case "sideQuest":
|
||||||
|
body = <Quest display={display} setDisplay={setDisplay} />;
|
||||||
|
break;
|
||||||
|
case "addQuest":
|
||||||
|
case "addSideQuest":
|
||||||
|
body = <AddQuest display={display} setDisplay={setDisplay} />;
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<div className="main">
|
<div className="main">
|
||||||
<header>
|
<header>
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
import React from "react";
|
||||||
|
import PropTypes from "prop-types";
|
||||||
|
|
||||||
|
function QuestTile(props) {
|
||||||
|
return (<div className="quest_tile nes-container is-dark">
|
||||||
|
<h3>{props.quest.name}</h3>
|
||||||
|
<p>Difficulty: {["Low", "Medium", "High"][props.quest.difficulty - 1]}</p>
|
||||||
|
<p>Priority: {["Low", "Medium", "High"][props.quest.priority - 1]}</p>
|
||||||
|
<p>State: {props.quest.state ? "Complete": "Incomplete"}</p>
|
||||||
|
<button className="nes-btn is-primary">Modify</button>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
QuestTile.propTypes = {
|
||||||
|
quest: PropTypes.object,
|
||||||
|
setDisplay: PropTypes.func,
|
||||||
|
};
|
||||||
|
|
||||||
|
function Quests(props) {
|
||||||
|
const name = {
|
||||||
|
quests: "Quests",
|
||||||
|
sideQuests: "Side Quests"
|
||||||
|
}[props.display.type];
|
||||||
|
return (
|
||||||
|
<div className="quests">
|
||||||
|
<div className="quests_head">
|
||||||
|
<h2>{name}</h2>
|
||||||
|
<button
|
||||||
|
className="back"
|
||||||
|
onClick={() => props.setDisplay({type: "main"})
|
||||||
|
}><</button>
|
||||||
|
</div>
|
||||||
|
{props.quests.map((cur) => <QuestTile
|
||||||
|
key={cur.id}
|
||||||
|
quest={cur}
|
||||||
|
setDisplay={props.setDisplay}/>)}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Quests.propTypes = {
|
||||||
|
quests: PropTypes.array,
|
||||||
|
display: PropTypes.object,
|
||||||
|
setDisplay: PropTypes.func,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Quests;
|
|
@ -48,6 +48,35 @@ body {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.quests {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
.quests_head {
|
||||||
|
margin: 0 2.5%;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
h2 {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.back {
|
||||||
|
border: none;
|
||||||
|
color: #FFF;
|
||||||
|
background-color: rgba(0,0,0,0);
|
||||||
|
text-align: right;
|
||||||
|
width: 30px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.quest_tile {
|
||||||
|
width: 45%;
|
||||||
|
text-align: center;
|
||||||
|
margin: 2.5%;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,6 +107,13 @@ body {
|
||||||
margin: 0.25em 1%;
|
margin: 0.25em 1%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.quests {
|
||||||
|
.quests_head {
|
||||||
|
}
|
||||||
|
.quest_tile {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue