X button
This commit is contained in:
		@@ -1,5 +1,5 @@
 | 
				
			|||||||
import React, { useState, useContext } from 'react';
 | 
					import React, { useState, useContext } from 'react';
 | 
				
			||||||
import { Topbar } from './Topbar';
 | 
					import Topbar from './Topbar';
 | 
				
			||||||
import { Transfer } from './Transfer';
 | 
					import { Transfer } from './Transfer';
 | 
				
			||||||
import { Scheduler } from './Scheduler';
 | 
					import { Scheduler } from './Scheduler';
 | 
				
			||||||
import { Rightbar } from './Rightbar';
 | 
					import { Rightbar } from './Rightbar';
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,7 +36,12 @@ const useStyles = makeStyles({
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const Dropdown = () => {
 | 
					interface DropdownProps {
 | 
				
			||||||
 | 
					  clearInput: boolean;
 | 
				
			||||||
 | 
					  handleClearInput: ()=>void;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const Dropdown = ({clearInput,handleClearInput}:DropdownProps) => {
 | 
				
			||||||
  const classes = useStyles();
 | 
					  const classes = useStyles();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const [open, setOpen] = React.useState(false);
 | 
					  const [open, setOpen] = React.useState(false);
 | 
				
			||||||
@@ -58,6 +63,13 @@ export const Dropdown = () => {
 | 
				
			|||||||
    filterCourses(input);
 | 
					    filterCourses(input);
 | 
				
			||||||
  }, [input, open, choosenCourses]);
 | 
					  }, [input, open, choosenCourses]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  useEffect(()=>{
 | 
				
			||||||
 | 
					    if(clearInput){
 | 
				
			||||||
 | 
					      setInput('')
 | 
				
			||||||
 | 
					      handleClearInput()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },[clearInput])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => setInput(event.target.value);
 | 
					  const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => setInput(event.target.value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const handleClick = () => setOpen(true);
 | 
					  const handleClick = () => setOpen(true);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,14 +18,12 @@ export const SchedulerEvents = ({ cellTop, cellWidth }: SchedulerEventsProps) =>
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
  //delete later additional mappings
 | 
					  //delete later additional mappings
 | 
				
			||||||
  const groupTimeToEventRowMapping: GroupTimeToEventRowMapping = {
 | 
					  const groupTimeToEventRowMapping: GroupTimeToEventRowMapping = {
 | 
				
			||||||
    '08.15': 0,
 | 
					    '8.15': 0,
 | 
				
			||||||
    '10.00': 1,
 | 
					    '10.00': 1,
 | 
				
			||||||
    '11.45': 2,
 | 
					    '11.45': 2,
 | 
				
			||||||
    '13.45': 3,
 | 
					    '13.45': 3,
 | 
				
			||||||
    '15.30': 4,
 | 
					    '15.30': 4,
 | 
				
			||||||
    '17.15': 5,
 | 
					    '17.15': 5,
 | 
				
			||||||
    '10.17': 0,
 | 
					 | 
				
			||||||
    '13.55': 1,
 | 
					 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  useEffect(() => {
 | 
					  useEffect(() => {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,7 @@ const TopbarTextStyled = styled.div`
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
`;
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const TopbarStyled = styled.div`
 | 
					const Topbar = styled.div`
 | 
				
			||||||
  background-color: #ffdc61;
 | 
					  background-color: #ffdc61;
 | 
				
			||||||
  height: 80px;
 | 
					  height: 80px;
 | 
				
			||||||
  padding: 5px;
 | 
					  padding: 5px;
 | 
				
			||||||
@@ -58,6 +58,7 @@ const TopbarInputIconStyled = styled.img`
 | 
				
			|||||||
  @media only screen and (max-width: 670px) {
 | 
					  @media only screen and (max-width: 670px) {
 | 
				
			||||||
    width: 25px;
 | 
					    width: 25px;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  cursor: pointer;
 | 
				
			||||||
`;
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const TopbarIcon = styled.img`
 | 
					const TopbarIcon = styled.img`
 | 
				
			||||||
@@ -79,7 +80,8 @@ interface TopbarProps {
 | 
				
			|||||||
  handleTransfer: (e: MouseEvent) => void;
 | 
					  handleTransfer: (e: MouseEvent) => void;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const Topbar = ({ handleTransfer }: TopbarProps) => {
 | 
					export default function ({ handleTransfer }: TopbarProps) {
 | 
				
			||||||
 | 
					  const [clearInput, setClearInput] = useState(false);
 | 
				
			||||||
  const [isPolish, setIsPolish] = useState(false);
 | 
					  const [isPolish, setIsPolish] = useState(false);
 | 
				
			||||||
  const [anchorEl, setAnchorEl] = useState<HTMLImageElement | null>(null);
 | 
					  const [anchorEl, setAnchorEl] = useState<HTMLImageElement | null>(null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -89,8 +91,10 @@ export const Topbar = ({ handleTransfer }: TopbarProps) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  const handleClose = () => setAnchorEl(null);
 | 
					  const handleClose = () => setAnchorEl(null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const handleClearInput = () => setClearInput(!clearInput);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <TopbarStyled>
 | 
					    <Topbar>
 | 
				
			||||||
      <TopbarLogoWrapperStyled>
 | 
					      <TopbarLogoWrapperStyled>
 | 
				
			||||||
        <TopbarLogoStyled alt="logo" src="https://plannaplan.pl/img/logo.svg" />
 | 
					        <TopbarLogoStyled alt="logo" src="https://plannaplan.pl/img/logo.svg" />
 | 
				
			||||||
        <TopbarTextStyled> plan na plan </TopbarTextStyled>
 | 
					        <TopbarTextStyled> plan na plan </TopbarTextStyled>
 | 
				
			||||||
@@ -98,9 +102,9 @@ export const Topbar = ({ handleTransfer }: TopbarProps) => {
 | 
				
			|||||||
      <TopbarInputStyled>
 | 
					      <TopbarInputStyled>
 | 
				
			||||||
        <TopbarInputIconStyled alt="search" src={Search} />
 | 
					        <TopbarInputIconStyled alt="search" src={Search} />
 | 
				
			||||||
        <TopbarInputFieldStyled>
 | 
					        <TopbarInputFieldStyled>
 | 
				
			||||||
          <Dropdown />
 | 
					          <Dropdown clearInput={clearInput} handleClearInput={handleClearInput}/>
 | 
				
			||||||
        </TopbarInputFieldStyled>
 | 
					        </TopbarInputFieldStyled>
 | 
				
			||||||
        <TopbarInputIconStyled alt="close" src={CloseIcon} />
 | 
					        <TopbarInputIconStyled alt="close" src={CloseIcon} onClick={handleClearInput}/>
 | 
				
			||||||
      </TopbarInputStyled>
 | 
					      </TopbarInputStyled>
 | 
				
			||||||
      <TopbarIconBox>
 | 
					      <TopbarIconBox>
 | 
				
			||||||
        <TopbarIcon alt="transfer" src={Transfer} onClick={handleTransfer} />
 | 
					        <TopbarIcon alt="transfer" src={Transfer} onClick={handleTransfer} />
 | 
				
			||||||
@@ -108,6 +112,6 @@ export const Topbar = ({ handleTransfer }: TopbarProps) => {
 | 
				
			|||||||
        <TopbarIcon alt="profile" src={User} onClick={handleProfile} />
 | 
					        <TopbarIcon alt="profile" src={User} onClick={handleProfile} />
 | 
				
			||||||
        <Profile anchorEl={anchorEl} handleClose={handleClose} />
 | 
					        <Profile anchorEl={anchorEl} handleClose={handleClose} />
 | 
				
			||||||
      </TopbarIconBox>
 | 
					      </TopbarIconBox>
 | 
				
			||||||
    </TopbarStyled>
 | 
					    </Topbar>
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,22 +20,16 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
 | 
				
			|||||||
  const [choosenGroups, setChoosenGroups] = useState<Array<Group>>([]);
 | 
					  const [choosenGroups, setChoosenGroups] = useState<Array<Group>>([]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const addChoosenCourse = (choosenCourse: Course) => {
 | 
					  const addChoosenCourse = (choosenCourse: Course) => {
 | 
				
			||||||
    console.log('adding course');
 | 
					 | 
				
			||||||
    setChoosenCourses([...choosenCourses, choosenCourse]);
 | 
					    setChoosenCourses([...choosenCourses, choosenCourse]);
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  const addChoosenGroup = (choosenGroup: Group) => {
 | 
					  const addChoosenGroup = (choosenGroup: Group) => {
 | 
				
			||||||
 | 
					    //const choosenCourse = courses.filter(course=>(course.groups.map(group=>group.id).includes(choosenGroup.id)))
 | 
				
			||||||
 | 
					    console.log("id" + choosenGroup.id )
 | 
				
			||||||
 | 
					    console.log("mapowanie: " + courses.filter(course=>(course.groups.map(group=>group.id))));
 | 
				
			||||||
 | 
					    //console.log("wybrane kursy: " + choosenCourse);
 | 
				
			||||||
    setChoosenGroups([...choosenGroups, choosenGroup]);
 | 
					    setChoosenGroups([...choosenGroups, choosenGroup]);
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  useEffect(() => {
 | 
					 | 
				
			||||||
    console.log('All courses');
 | 
					 | 
				
			||||||
    console.log(courses);
 | 
					 | 
				
			||||||
  }, [courses]);
 | 
					 | 
				
			||||||
  useEffect(() => {
 | 
					 | 
				
			||||||
    console.log('Choosen courses');
 | 
					 | 
				
			||||||
    console.log(choosenCourses);
 | 
					 | 
				
			||||||
  }, [choosenCourses]);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  useEffect(() => {
 | 
					  useEffect(() => {
 | 
				
			||||||
    const fetchData = async () => {
 | 
					    const fetchData = async () => {
 | 
				
			||||||
      const { data } = await axios.get(`${process.env.REACT_APP_API_URL}/getCourses`);
 | 
					      const { data } = await axios.get(`${process.env.REACT_APP_API_URL}/getCourses`);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user