Vorbereitung Progessbar
Semester Tiles angepasst für Progessbar implementierung
This commit is contained in:
@@ -23,17 +23,20 @@ export default function SemesterTile(p)
|
|||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
backgroundColor: color
|
display: "flex",
|
||||||
|
flexDirection: "column",
|
||||||
|
justifyContent: "center",
|
||||||
|
alignItems: "center",
|
||||||
|
backgroundColor: "rgba(0,0,0,0)"
|
||||||
}}
|
}}
|
||||||
onClick={(e) => p.onClick(e)} className={"semester-tile box-shadow"}>
|
onClick={(e) => p.onClick(e)}>
|
||||||
<p style={{
|
<p className={"semester-tile-p"} style={{
|
||||||
lineHeight: "80%"
|
lineHeight: "80%"
|
||||||
}}>{p.text}</p>
|
}}>{p.text}</p>
|
||||||
<p style={{
|
<p className={"semester-tile-p"} style={{
|
||||||
lineHeight: "80%",
|
lineHeight: "80%",
|
||||||
color: "gray"
|
color: "gray"
|
||||||
}}>{p.text2}</p>
|
}}>{p.text2}</p>
|
||||||
<StatusBar progress={0}/>
|
|
||||||
<div style={{
|
<div style={{
|
||||||
display: editable ? "flex" : "none",
|
display: editable ? "flex" : "none",
|
||||||
flexDirection: "row",
|
flexDirection: "row",
|
||||||
@@ -41,8 +44,7 @@ export default function SemesterTile(p)
|
|||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
gap: 5
|
gap: 5
|
||||||
}}>
|
}}>
|
||||||
<Button icon={deleteItem} width={30} height={30} color={"#ffffff"} onClick={p.onButtonDeleteClick}/>
|
|
||||||
<Button icon={editItem} width={30} height={30} color={"#ffffff"} onClick={p.onButtonEditClick}/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -8,56 +8,47 @@ import Background from "@/components/Background";
|
|||||||
import Logout from "@/components/Logout";
|
import Logout from "@/components/Logout";
|
||||||
import {baseURL} from "@/components/Constants";
|
import {baseURL} from "@/components/Constants";
|
||||||
import HelpButton from "@/components/HelpButton";
|
import HelpButton from "@/components/HelpButton";
|
||||||
|
import StatusBar from "@/components/StatusBar";
|
||||||
|
import {deleteItem, editItem} from "@/components/Icons";
|
||||||
|
|
||||||
export default function SemesterOverview(p)
|
export default function SemesterOverview(p) {
|
||||||
{
|
async function getSemesters() {
|
||||||
async function getSemesters()
|
|
||||||
{
|
|
||||||
let urlTest = baseURL + "/semester/all?sessionid=" + localStorage.getItem("sessionid");
|
let urlTest = baseURL + "/semester/all?sessionid=" + localStorage.getItem("sessionid");
|
||||||
|
|
||||||
|
|
||||||
await fetch(urlTest).then(response => response.json()).then(s => {
|
await fetch(urlTest).then(response => response.json()).then(s => {
|
||||||
setEntries(s)
|
setEntries(s)
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onClickSemester(e, m)
|
function onClickSemester(e, m) {
|
||||||
{
|
if (m.target === m.currentTarget) {
|
||||||
if(m.target === m.currentTarget)
|
|
||||||
{
|
|
||||||
localStorage.setItem("currentsid", e.id)
|
localStorage.setItem("currentsid", e.id)
|
||||||
router.push("/planning")
|
router.push("/planning")
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onClickNewSemester()
|
function onClickNewSemester() {
|
||||||
{
|
|
||||||
localStorage.setItem("currentsid", 0);
|
localStorage.setItem("currentsid", 0);
|
||||||
router.push("/createSemester");
|
router.push("/createSemester");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function togglePopup()
|
function togglePopup() {
|
||||||
{
|
if (modalDisplay === "block") {
|
||||||
if(modalDisplay === "block")
|
|
||||||
{
|
|
||||||
setModalDisplay("none");
|
setModalDisplay("none");
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
setModalDisplay("block");
|
setModalDisplay("block");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function funcButtonAbort()
|
function funcButtonAbort() {
|
||||||
{
|
|
||||||
togglePopup();
|
togglePopup();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function funcButtonDelete()
|
async function funcButtonDelete() {
|
||||||
{
|
|
||||||
let id = localStorage.getItem("currentsid");
|
let id = localStorage.getItem("currentsid");
|
||||||
let url = baseURL + "/semester?sessionid=" + localStorage.getItem("sessionid") + "&id=" + id;
|
let url = baseURL + "/semester?sessionid=" + localStorage.getItem("sessionid") + "&id=" + id;
|
||||||
await fetch(url, {
|
await fetch(url, {
|
||||||
@@ -68,8 +59,7 @@ export default function SemesterOverview(p)
|
|||||||
getSemesters();
|
getSemesters();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function funcButtonEdit(e, m)
|
async function funcButtonEdit(e, m) {
|
||||||
{
|
|
||||||
|
|
||||||
localStorage.setItem("currentsid", e.id);
|
localStorage.setItem("currentsid", e.id);
|
||||||
let semester = e;
|
let semester = e;
|
||||||
@@ -84,7 +74,11 @@ export default function SemesterOverview(p)
|
|||||||
|
|
||||||
await router.push({
|
await router.push({
|
||||||
pathname: "/createSemester",
|
pathname: "/createSemester",
|
||||||
query: {courseName: semester.name, startDate: startDate.toISOString().slice(0, 10), endDate: endDate.toISOString().slice(0, 10)},
|
query: {
|
||||||
|
courseName: semester.name,
|
||||||
|
startDate: startDate.toISOString().slice(0, 10),
|
||||||
|
endDate: endDate.toISOString().slice(0, 10)
|
||||||
|
},
|
||||||
});
|
});
|
||||||
getSemesters();
|
getSemesters();
|
||||||
}
|
}
|
||||||
@@ -106,19 +100,42 @@ export default function SemesterOverview(p)
|
|||||||
<HelpButton/>
|
<HelpButton/>
|
||||||
<Background/>
|
<Background/>
|
||||||
{
|
{
|
||||||
entries.map(e => (<SemesterTile text={e.name} onClick={(f) => onClickSemester(e, f)} onButtonDeleteClick={() => {
|
entries.map(e => (
|
||||||
localStorage.setItem("currentsid", e.id)
|
<div className={"semester-tile box-shadow"}>
|
||||||
setModalHint(e.name + " Löschen?");
|
<SemesterTile text={e.name} onClick={(f) => onClickSemester(e, f)} onButtonDeleteClick={() => {
|
||||||
togglePopup();
|
localStorage.setItem("currentsid", e.id)
|
||||||
}} onButtonEditClick={(m) => {
|
setModalHint(e.name + " Löschen?");
|
||||||
localStorage.setItem("currentsid", e.id)
|
togglePopup();
|
||||||
funcButtonEdit(e, m);
|
}} onButtonEditClick={(m) => {
|
||||||
}}/>))
|
localStorage.setItem("currentsid", e.id)
|
||||||
|
funcButtonEdit(e, m);
|
||||||
|
}}/>
|
||||||
|
<StatusBar progress={0}/>
|
||||||
|
<div style={
|
||||||
|
{
|
||||||
|
display:"flex",
|
||||||
|
justifyContent:"center",
|
||||||
|
alignItems:"center"
|
||||||
|
}
|
||||||
|
}>
|
||||||
|
<Button icon={deleteItem} width={30} height={30} color={"#ffffff"}
|
||||||
|
onClick={(m) => {
|
||||||
|
localStorage.setItem("currentsid", e.id)
|
||||||
|
setModalHint(e.name + " Löschen?");
|
||||||
|
togglePopup()
|
||||||
|
}}/>
|
||||||
|
<Button icon={editItem} width={30} height={30} color={"#ffffff"}
|
||||||
|
onClick={(m) => {
|
||||||
|
localStorage.setItem("currentsid", e.id)
|
||||||
|
funcButtonEdit(e, m)
|
||||||
|
}}/>
|
||||||
|
</div>
|
||||||
|
</div>))
|
||||||
}
|
}
|
||||||
<Button color={"#dcdcdc"} text={"+"} width={240} height={160} fontColor={"black"} fontSize={50}
|
<Button color={"#dcdcdc"} text={"+"} width={240} height={160} fontColor={"black"} fontSize={50}
|
||||||
onClick={() => onClickNewSemester()}/>
|
onClick={() => onClickNewSemester()}/>
|
||||||
<PopUp hint={modalHint} text1={"Abbrechen"} text2={"Löschen"} displayState={modalDisplay}
|
<PopUp hint={modalHint} text1={"Abbrechen"} text2={"Löschen"} displayState={modalDisplay}
|
||||||
function1={funcButtonAbort} function2={funcButtonDelete}/>
|
function1={funcButtonAbort} function2={funcButtonDelete}/>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -9,6 +9,7 @@ import Logout from "@/components/Logout";
|
|||||||
import {baseURL} from "@/components/Constants"
|
import {baseURL} from "@/components/Constants"
|
||||||
import Back from "@/components/Back";
|
import Back from "@/components/Back";
|
||||||
import HelpButton from "@/components/HelpButton";
|
import HelpButton from "@/components/HelpButton";
|
||||||
|
import StatusBar from "@/components/StatusBar";
|
||||||
|
|
||||||
export default function SemesteroverviewLecturer(p) {
|
export default function SemesteroverviewLecturer(p) {
|
||||||
function getModules() {
|
function getModules() {
|
||||||
@@ -66,9 +67,12 @@ export default function SemesteroverviewLecturer(p) {
|
|||||||
<Background/>
|
<Background/>
|
||||||
<HelpButton/>
|
<HelpButton/>
|
||||||
{entries.map((e, index) => (
|
{entries.map((e, index) => (
|
||||||
|
<div className={"semester-tile box-shadow"}>
|
||||||
<SemesterTile
|
<SemesterTile
|
||||||
editable = {false} text={semesterNames[index]} text2={e.name} onClick={(f) => onClickSemester(e, f)} color={e.activated==1?"#ffffff":"#aaaaaa"}
|
editable = {false} text={semesterNames[index]} text2={e.name} onClick={(f) => onClickSemester(e, f)} color={e.activated==1?"#ffffff":"#aaaaaa"}
|
||||||
/>
|
/>
|
||||||
|
<StatusBar progress={0}/>
|
||||||
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -561,13 +561,14 @@ SemesterTile
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.semester-tile:hover {
|
.semester-tile:hover {
|
||||||
background-color: #e1e1e1;
|
background-color: #e1e1e1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.semester-tile p {
|
.semester-tile-p {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 23px;
|
font-size: 23px;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user