Skip to content

Commit

Permalink
user save work
Browse files Browse the repository at this point in the history
  • Loading branch information
effy971 committed Nov 8, 2020
1 parent 486bc49 commit 20d5fcc
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 23 deletions.
29 changes: 29 additions & 0 deletions frontend/src/Components/Chat/AddQuestion.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import React, { useState } from "react";

const AddQuestion = (props) => {
const [question, setQuestion] = useState("");

const handleClick = () => {
fetch(`/hostaddquestion/${props.roomId}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
questionNumber: question,
}),
});
};

return (
<div>
<input
type="text"
name="question"
value={question}
onChange={(e) => setQuestion(e.target.value)}
/>
<button onClick={handleClick}>Add Question Host</button>
</div>
);
};

export default AddQuestion;
37 changes: 22 additions & 15 deletions frontend/src/Components/Chat/Workspace.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import React, { useState, useEffect } from "react";
import AddQuestion from "./AddQuestion";
import IndividualWorkspaceOverview from "./IndividualWorkspaceOverview";
import QuestionButton from "./QuestionButton";
import UserEditWork from "./UserEditWork";
import UserWorkspaceButton from "./UserWorkspaceButton";
import "./Workspace.css";

const Workspace = (props) => {
const [questions, setQuestions] = useState([]);
Expand Down Expand Up @@ -100,35 +102,40 @@ const Workspace = (props) => {
};

return (
<div>
<button>Add question (only for host)</button>
<div className="container-workspace">
<div>
<AddQuestion roomId={props.roomId} />

{initialRenderQuestion ? (
<p>loading ...</p>
) : (
<div>
<button>Back</button>

{Object.keys(questions).map((e) => (
<QuestionButton question={e} onClick={() => handleClick(e)} />
))}
</div>
)}
{initialRenderQuestion ? (
<p>loading ...</p>
) : (
<div className="container-workspace-question-button">
<button>Back</button>

{Object.keys(questions).map((e) => (
<QuestionButton question={e} onClick={() => handleClick(e)} />
))}
</div>
)}
</div>
<hr />
<div className="user-workspace-overview">
{/* check is questionController array is empty */}

{getUser.length === 0 ? (
<div>
<button onClick={handleClickAddOwn}> MY own work</button>
{userAddOwn ? (
<UserEditWork onClick={handleClickUserExit} />
<UserEditWork
onClickExit={handleClickUserExit}
onClickSave={handleClickUserSave}
/>
) : (
<div></div>
)}
</div>
) : (
<div>
<div className="container-user-workspace-button">
<button onClick={handleClickAddOwn}> MY own work</button>
{userAddOwn ? (
<UserEditWork
Expand Down
16 changes: 8 additions & 8 deletions saveuserwork.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,9 @@ module.exports = async function (roomId, currentQuestion, userName, userWork) {

const database = client.db("4learn");
const collection = database.collection("Chatroom");
console.log("asdsd");

// queryString = "" + "questions." + currentQuestion + "." + userName;
queryString = "questions.q1.allen";
console.log(userWork);
queryString = "" + "questions." + currentQuestion;
inputString = "" + "questions." + currentQuestion + "." + userName;
console.log(queryString);
const result = await collection.updateOne(
{
Expand All @@ -24,14 +23,15 @@ module.exports = async function (roomId, currentQuestion, userName, userWork) {
},
{
$set: {
[queryString]: userWork,
[inputString]: userWork,
},
},
{
upsert: true,
}
);

await result.forEach((result) => workArray.push(result));
} finally {
await client.close();
return workArray;
return true;
}
};

0 comments on commit 20d5fcc

Please sign in to comment.