diff --git a/public/index.html b/public/index.html
index 5f2ca52..69b1fe0 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,13 +1,12 @@
-
+
-
-
+
- React App
+ PlanNaPlan
diff --git a/src/components/Admin.tsx b/src/components/Admin.tsx
index a647574..632a24a 100644
--- a/src/components/Admin.tsx
+++ b/src/components/Admin.tsx
@@ -12,6 +12,7 @@ const LeftSide = styled.div`
flex: 1;
flex-direction: column;
background-color: white;
+ text-align:center;
`;
const Wrap = styled.div`
diff --git a/src/components/App.tsx b/src/components/App.tsx
index de05d54..4c8a82b 100644
--- a/src/components/App.tsx
+++ b/src/components/App.tsx
@@ -27,9 +27,9 @@ export const App = () => {
- {/* */}
-
-
+
+ {sessionStorage.getItem('userPrivilage')=== "STUDENT" ? <>
+ >: }
>
);
diff --git a/src/components/CourseCard.tsx b/src/components/CourseCard.tsx
index fa26576..a381f29 100644
--- a/src/components/CourseCard.tsx
+++ b/src/components/CourseCard.tsx
@@ -7,6 +7,7 @@ import styled, { css } from 'styled-components';
import { makeStyles } from '@material-ui/core/styles';
import DeleteIcon from '@material-ui/icons/Delete';
import { useMemo } from 'react';
+import { createClassTime } from '../utils';
const CourseCardWrapper = styled.div`
position: relative;
@@ -20,7 +21,7 @@ const CourseCardWrapper = styled.div`
border-radius: 10px;
cursor: pointer;
align-items: stretch;
- box-shadow: 9px 9px 8px -2px rgba(0, 0, 0, 0.59);
+ box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.75);
`;
const TitleWrapper = styled.div`
@@ -52,6 +53,7 @@ const ClassGroupStyled = styled.div`
position: relative;
padding-top: 1px;
padding-bottom: 5px;
+ transition: background-color 0.4s ease;
:hover {
cursor: pointer;
background-color: #9ed3ff;
@@ -102,7 +104,7 @@ type FlexItemProps = {
const FlexItem = styled.div`
display: flex;
font-size: 14px;
- font-weight: 600;
+ font-weight: 500;
${({ justifyContent }) =>
justifyContent &&
css`
@@ -141,7 +143,7 @@ export const CourseCard = ({ course }: CourseCardProps) => {
selectBasketCourseGroups,
changeHoveredGroup,
} = useContext(coursesContext)!;
- const [isSelected, setSelected] = useState(false);
+ const [isSelected, setSelected] = useState(true);
const groups = [...course.lectures!, ...course.classes!];
const basketCourseGroups = useMemo(() => selectBasketCourseGroups(course.id), []);
const [previous, setPrevious] = useState(basketCourseGroups);
@@ -203,8 +205,9 @@ export const CourseCard = ({ course }: CourseCardProps) => {
{group.lecturer.replace('UAM', '')}
)}
+ {console.log("abisfdibuafsbuiafsbuifasbuibuiafsbuifasbuifsabuiasf",group)}
- {/*group.time*/} Sala: {group.room}
+ {createClassTime(group.time)[0] + " - " + createClassTime(group.time)[1]} {/* Sala: {group.room} */}
diff --git a/src/components/Dropdown.tsx b/src/components/Dropdown.tsx
index 2efce4f..855dbe8 100644
--- a/src/components/Dropdown.tsx
+++ b/src/components/Dropdown.tsx
@@ -50,12 +50,13 @@ interface DropdownProps {
}
export const Dropdown = ({ open, input, handleCloseDropdown, selectedOption }: DropdownProps) => {
- const { courses, selectBasketNames, addCourseToBasket,getUserTimetable } = useContext(coursesContext)!;
+ const { courses, selectBasketNames, addCourseToBasket, getUserID } = useContext(coursesContext)!;
const { users } = useContext(usersContext)!;
const basketNames = useMemo(() => selectBasketNames(), [selectBasketNames]);
const [filteredCourses, setFilteredCourses] = useState>([]);
const [filteredUsers, setFilteredUsers] = useState>([]);
+
const onCourseClick = (event: MouseEvent) => {
const target = event.currentTarget;
if (target.id && target.textContent) {
@@ -67,11 +68,8 @@ export const Dropdown = ({ open, input, handleCloseDropdown, selectedOption }: D
const onUserClick = (event: MouseEvent) => {
const target = event.currentTarget;
- if (target.id && target.textContent) {
- console.log(target.id,target.textContent);
- getUserTimetable(target.id);
- handleCloseDropdown();
- }
+ getUserID(target.id);
+ handleCloseDropdown();
};
useEffect(() => {
diff --git a/src/components/Rightbar.tsx b/src/components/Rightbar.tsx
index 610def4..05c2cc3 100644
--- a/src/components/Rightbar.tsx
+++ b/src/components/Rightbar.tsx
@@ -44,14 +44,14 @@ const SaveButton = styled.div`
background-color: #54c457;
}
- box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.24);
+ box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.75);
`;
export const Rightbar = () => {
- const { selectBasketCourses, saveBasket } = useContext(coursesContext)!;
+ const { selectBasketCourses, saveBasket, userekID } = useContext(coursesContext)!;
const basketCourses = selectBasketCourses();
- const handleSave = debounce(() => saveBasket(), 500);
+ const handleSave = debounce(() => saveBasket(userekID), 500);
return (
ZAPISZ
diff --git a/src/components/Topbar.tsx b/src/components/Topbar.tsx
index 2115041..20c75e9 100644
--- a/src/components/Topbar.tsx
+++ b/src/components/Topbar.tsx
@@ -162,7 +162,7 @@ export default function ({ handleTransfer }: TopbarProps) {
- {/* */}
+ {sessionStorage.getItem('userPrivilage')=== "STUDENT" ? (): }
{
if (!sessionStorage.getItem('userToken')) {
const { data: token } = await axiosInstance.get(`${process.env.REACT_APP_API_URL}/token?ticket=${ticket}`);
sessionStorage.setItem('userToken', token.token);
+ sessionStorage.setItem('userPrivilage', token.authorityRole)
}
const tokenik:any = JSON.parse(sessionStorage.getItem('userToken')as string);
const token: Token = {
diff --git a/src/contexts/CoursesProvider.tsx b/src/contexts/CoursesProvider.tsx
index 347df5d..4221f33 100644
--- a/src/contexts/CoursesProvider.tsx
+++ b/src/contexts/CoursesProvider.tsx
@@ -18,12 +18,14 @@ interface CourseContext {
courses: Array;
basket: Array;
hoveredGroup: Group | undefined | null;
+ userekID:string;
addCourseToBasket: (courses: Course) => void;
changeHoveredGroup: (group: Group | null) => void;
changeGroupInBasket: (group: Group, courseId: number) => void;
restoreGroupInBasket: (restoreGroup: Group, courseId: number) => void;
deleteFromBasket: (id: number) => void;
- saveBasket: () => void;
+ saveBasket: (userID: string) => Promise
+ getUserID: (userID: string) => Promise
selectSchedulerEvents: () => Array;
selectBasketNames: () => Array;
selectBasketCourses: () => Array;
@@ -43,6 +45,7 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
//fetch courses with groups
const [courses, setCourses] = useState>([]);
const [basket, setBasket] = useState>([]);
+ const [userekID, setUserID] = useState("");
const [hoveredGroup, setHoveredGroup] = useState(null);
const selectBasketIds = () => {
const classesIds = basket.map((course) => course?.classes?.id).filter((course) => course !== undefined);
@@ -98,7 +101,12 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
const deleteFromBasket = (id: number) => setBasket(basket.filter((course) => course.id !== id));
- const saveBasket = async () => {
+ const getUserID = async (userID:string) => {
+ setUserID(userID);
+ console.log("bjhkfbkjakbhjlfasbjkhlfabjklasfbjkbjkasfbjkasfl",userekID)
+ }
+
+ const saveBasket = async (userID:string) => {
const basketIds = selectBasketIds();
const action = (key: any) => (
<>
@@ -111,7 +119,7 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
);
try {
- await axiosInstance.post(`${process.env.REACT_APP_API_URL}/api/v1/commisions/user`, JSON.stringify(basketIds));
+ await axiosInstance.post(`${process.env.REACT_APP_API_URL}/api/v1/commisions/user/${userID}`, JSON.stringify(basketIds));
enqueueSnackbar('Plan został zapisany', {
variant: 'success',
action,
@@ -193,12 +201,13 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
setTimeout(() => {
fetchCourses();
getNewestTimetable();
- }, 200);
+ }, 10);
}, []);
return (
{
selectBasketCourses,
selectBasketCourseGroups,
getUserTimetable,
+ getUserID,
}}
>
{children}