mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 15:43:16 +02:00
feat: add editing, end of project
This commit is contained in:
parent
9d7ca3c7ec
commit
5c7e710b96
2
EGUI/lab3/front/node_modules/.cache/.eslintcache
generated
vendored
2
EGUI/lab3/front/node_modules/.cache/.eslintcache
generated
vendored
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/0a16fe1a63a9485c4bfbf6971f484da3.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/0a16fe1a63a9485c4bfbf6971f484da3.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/14dd5006d3abfdcabc047a2adfbc2e05.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/14dd5006d3abfdcabc047a2adfbc2e05.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/1c3ef1b3041b7ed464e5dee205f4eb42.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/1c3ef1b3041b7ed464e5dee205f4eb42.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/306e8b9b96dc8539161e6962c86de4a5.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/306e8b9b96dc8539161e6962c86de4a5.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/387e2ef685315ffe8e1abc7f558a7c2b.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/387e2ef685315ffe8e1abc7f558a7c2b.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/3b69eaf0a712fd2c721f55644f2798f3.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/3b69eaf0a712fd2c721f55644f2798f3.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/456b975d06f3ac555ea1c83c74310481.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/456b975d06f3ac555ea1c83c74310481.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/464490dbac474dd56cf66d1e2da9a0c7.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/464490dbac474dd56cf66d1e2da9a0c7.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/523eff279e2fa8dc3cb67a6c24f2e0e3.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/523eff279e2fa8dc3cb67a6c24f2e0e3.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/5bab131fb4ed884efadc398ec7f5ea03.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/5bab131fb4ed884efadc398ec7f5ea03.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/5d58840034b8fe2f43985a5b9c13d347.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/5d58840034b8fe2f43985a5b9c13d347.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/70ab505a23a7e49115cd36b02a18105c.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/70ab505a23a7e49115cd36b02a18105c.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/75bc7f531d278de8e9a288950961b555.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/75bc7f531d278de8e9a288950961b555.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/78066468e7689f6f0e2f864f451f3b91.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/78066468e7689f6f0e2f864f451f3b91.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/7e0b2c4d91619e8a798faa0f8b7278b2.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/7e0b2c4d91619e8a798faa0f8b7278b2.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/8028049f00ef2172c05a4d7973f15cad.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/8028049f00ef2172c05a4d7973f15cad.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/806c9e152638308d4db3172427ef3f06.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/806c9e152638308d4db3172427ef3f06.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/835e85eb4c5ffc8f6c589482af4adb66.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/835e85eb4c5ffc8f6c589482af4adb66.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/843b231794cea235319d06157234b6ed.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/843b231794cea235319d06157234b6ed.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/8f024f846af4aeceb12d567c19a02c9b.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/8f024f846af4aeceb12d567c19a02c9b.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/9068c1f0c8be6c0977f8dff0394dd3ac.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/9068c1f0c8be6c0977f8dff0394dd3ac.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/946df98b4cc6361de3d9a3ab0ecbdf94.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/946df98b4cc6361de3d9a3ab0ecbdf94.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/953190a84bad36689c80ba7b4b0ab2f4.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/953190a84bad36689c80ba7b4b0ab2f4.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/b5a3d566beac5defacc6b2bd27026b7f.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/b5a3d566beac5defacc6b2bd27026b7f.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/c1a97cf8b07a32fe40193a6f41beaaf9.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/c1a97cf8b07a32fe40193a6f41beaaf9.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/c80fd761ae214b60579ca75a2faa0c15.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/c80fd761ae214b60579ca75a2faa0c15.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/ce2f07561d843a7309ef7fc49fd808a2.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/ce2f07561d843a7309ef7fc49fd808a2.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/e0916f56c785c984eea80ea8f7a95e78.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/e0916f56c785c984eea80ea8f7a95e78.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/e1dcdc5f4b5740149df63e468d2f6877.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/e1dcdc5f4b5740149df63e468d2f6877.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
EGUI/lab3/front/node_modules/.cache/babel-loader/e9978f6023443487a01dfff16fd18474.json
generated
vendored
Normal file
1
EGUI/lab3/front/node_modules/.cache/babel-loader/e9978f6023443487a01dfff16fd18474.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
EGUI/lab3/front/node_modules/.cache/default-development/index.pack.old
generated
vendored
BIN
EGUI/lab3/front/node_modules/.cache/default-development/index.pack.old
generated
vendored
Binary file not shown.
@ -5,6 +5,7 @@ import React, { useEffect } from "react";
|
||||
import Button from 'react-bootstrap/Button';
|
||||
import Card from 'react-bootstrap/Card';
|
||||
import { Context } from '../../../context/Context';
|
||||
import Form from 'react-bootstrap/Form'
|
||||
import axios from 'axios';
|
||||
import { useContext } from 'react';
|
||||
import { useLocation } from 'react-router-dom';
|
||||
@ -15,6 +16,9 @@ export default function BlogEntry() {
|
||||
const location = useLocation();
|
||||
const id = location.pathname.split("/")[2];
|
||||
const [entry, setEntry] = useState({});
|
||||
const [title, setTitle] = useState("");
|
||||
const [description, setDescription] = useState("");
|
||||
const [updateMode, setUpdateMode] = useState(false);
|
||||
const { user } = useContext(Context);
|
||||
|
||||
const handleRemove = async() => {
|
||||
@ -28,7 +32,21 @@ export default function BlogEntry() {
|
||||
}
|
||||
}
|
||||
|
||||
const saveEdit = async() => {
|
||||
setUpdateMode(false);
|
||||
try{
|
||||
await axios.put(`http://localhost:5000/api/entries/${entry._id}`, {
|
||||
login:user.login,
|
||||
title:title,
|
||||
description:description});
|
||||
}catch(err)
|
||||
{
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
|
||||
const handleEdit = async() => {
|
||||
setUpdateMode(true);
|
||||
try{
|
||||
await axios.delete("posts/" + id, {login:user.login});
|
||||
}catch(err)
|
||||
@ -46,16 +64,26 @@ export default function BlogEntry() {
|
||||
})
|
||||
return (
|
||||
<Card>
|
||||
<Card.Title class="text-center display-1 m-5"> { entry.title } </Card.Title>
|
||||
{updateMode ? <Form.Group className="mb-3" controlId="formText">
|
||||
<Form.Label>Entry Title</Form.Label>
|
||||
<Form.Control type="text" placeholder="Enter Entry Title"
|
||||
onChange={e=>setTitle(e.target.value)}
|
||||
/>
|
||||
</Form.Group> : <Card.Title class="text-center display-1 m-5"> { entry.title } </Card.Title> }
|
||||
<Card.Header class="text-center "> { entry.login } </Card.Header>
|
||||
<Card.Header class="text-center "> Created at: { new Date (entry.createdAt).toDateString() } </Card.Header>
|
||||
<Card.Body>
|
||||
|
||||
{updateMode ? <Form.Group className="mb-3" controlId="formText">
|
||||
<Form.Label>Entry</Form.Label>
|
||||
<Form.Control type="text" class="mh-100" placeholder="Enter Entry"
|
||||
onChange={e=>setDescription(e.target.value)}
|
||||
/>
|
||||
</Form.Group> :
|
||||
<Card.Text >
|
||||
{ entry.description }
|
||||
</Card.Text>
|
||||
<Button variant="primary p-4 " onClick={handleEdit}>Edit</Button>
|
||||
<Button variant="primary m-5 p-4" onClick={handleRemove }>Remove</Button>
|
||||
</Card.Text> }
|
||||
{user.login === entry.login ? updateMode ? <Button variant="primary p-4 " onClick={saveEdit}>Save edit</Button> : <Button variant="primary p-4 " onClick={handleEdit}>Edit</Button> : ""}
|
||||
{user.login === entry.login ? <Button variant="primary m-5 p-4" onClick={handleRemove }>Remove</Button> : ""}
|
||||
</Card.Body>
|
||||
</Card>
|
||||
)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user