diff --git a/src/components/FileInputDnd/index.js b/src/components/FileInputDnd/index.js index f10629083..64fbe8f39 100644 --- a/src/components/FileInputDnd/index.js +++ b/src/components/FileInputDnd/index.js @@ -1,10 +1,10 @@ /* eslint-disable */ -import React, { useRef } from 'react'; +import React, { useRef } from "react"; import UploadImg from "assets/images/upload1.png"; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import './style.scss'; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import "./style.scss"; -const FileInputDnd = ({ handleChange, acceptFormats }) => { +const FileInputDnd = ({ handleChange, acceptFormats, fileError }) => { const inputRef = useRef(null); const areaClick = (e) => { @@ -23,27 +23,43 @@ const FileInputDnd = ({ handleChange, acceptFormats }) => { const handleFileChange = (e) => { handleChange(e.target.files[0]); }; - + const handleDrag = (e) => { e.preventDefault(); }; return ( <> -
+
- Cloud upload image + Cloud upload image

Drag & drop file or browse to upload

- + + {fileError && ( +
+ {fileError} +
+ )} ); }; -export default FileInputDnd; \ No newline at end of file +export default FileInputDnd; diff --git a/src/components/Header/index.js b/src/components/Header/index.js index 0c3e11d36..c3dce550e 100755 --- a/src/components/Header/index.js +++ b/src/components/Header/index.js @@ -1,28 +1,28 @@ /* eslint-disable */ -import React, { useEffect, useState } from 'react'; -import PropTypes from 'prop-types'; -import { connect, useSelector, useDispatch } from 'react-redux'; -import { Link } from 'react-router-dom'; -import { Dropdown } from 'react-bootstrap'; - -import { SHOW_HELP } from 'store/actionTypes'; -import { logoutAction } from 'store/actions/auth'; -import { toggleSideBar } from 'store/actions/msTeams'; -import { Event } from 'trackers/ga'; - -import HeaderNotification from './notification'; -import MultitenancyDropdown from './multitenancyDropdown'; - -import './style.scss'; -import { getGlobalColor } from 'containers/App/DynamicBrandingApply'; -import HelpSvg from 'iconLibrary/header/HelpSvg'; -import EditMdSvg from 'iconLibrary/mainContainer/EditMdSvg'; -import ChangePasswordMdSvg from 'iconLibrary/header/ChangePasswordMdSvg'; -import LogoutMdSvg from 'iconLibrary/header/LogoutMdSvg'; -import HeaderHambergSvg from 'iconLibrary/header/HeaderHambergSvg'; -import Forum from 'iconLibrary/header/Forum'; -import Community from 'iconLibrary/header/Community'; -import Group from 'iconLibrary/header/Group'; +import React, { useEffect, useState } from "react"; +import PropTypes from "prop-types"; +import { connect, useSelector, useDispatch } from "react-redux"; +import { Link } from "react-router-dom"; +import { Dropdown } from "react-bootstrap"; +import Swal from "sweetalert2"; +import { SHOW_HELP } from "store/actionTypes"; +import { logoutAction } from "store/actions/auth"; +import { toggleSideBar } from "store/actions/msTeams"; +import { Event } from "trackers/ga"; + +import HeaderNotification from "./notification"; +import MultitenancyDropdown from "./multitenancyDropdown"; + +import "./style.scss"; +import { getGlobalColor } from "containers/App/DynamicBrandingApply"; +import HelpSvg from "iconLibrary/header/HelpSvg"; +import EditMdSvg from "iconLibrary/mainContainer/EditMdSvg"; +import ChangePasswordMdSvg from "iconLibrary/header/ChangePasswordMdSvg"; +import LogoutMdSvg from "iconLibrary/header/LogoutMdSvg"; +import HeaderHambergSvg from "iconLibrary/header/HeaderHambergSvg"; +import Forum from "iconLibrary/header/Forum"; +import Community from "iconLibrary/header/Community"; +import Group from "iconLibrary/header/Group"; function Header(props) { const { logout, toggleMenuSideBar } = props; const dispatch = useDispatch(); @@ -30,10 +30,14 @@ function Header(props) { const { user } = useSelector((state) => state.auth); const { currentOrganization } = stateHeader; const [primaryColor, setPrimaryColor] = useState(); - const hideShowSideBar = useSelector((state) => state.msTeams.toggle_sidebar); + const hideShowSideBar = useSelector( + (state) => state.msTeams.toggle_sidebar + ); const isMsTeam = useSelector((state) => state.msTeams.is_msteam); useEffect(() => { - const primaryColorFunction = getGlobalColor('--main-primary-color'); + const primaryColorFunction = getGlobalColor( + "--main-primary-color" + ); setPrimaryColor(primaryColorFunction); }, [currentOrganization]); @@ -46,21 +50,36 @@ function Header(props) {
- {isMsTeam == true && - toggleMenuSideBar(!hideShowSideBar)} className={`${hideShowSideBar == false ? 'expand-hamberg' : ''}`}> - } + {isMsTeam == true && ( + toggleMenuSideBar(!hideShowSideBar)} + className={`${ + hideShowSideBar == false ? "expand-hamberg" : "" + }`} + > + + + )}
- +
@@ -72,7 +91,7 @@ function Header(props) {
  • -
  • + {/*
  • @@ -80,14 +99,20 @@ function Header(props) { - +
    Groups
    - +
    Forums @@ -95,18 +120,29 @@ function Header(props) { -
  • + */}
  • { - // dispatch({ - // type: SHOW_HELP, - // payload: true, - // }); - // }} - href="https://www.currikistudio.org/help/" - target="_blank" + style={{ cursor: "pointer", textAlign: "center" }} + onClick={() => { + Swal.fire({ + title: "Are you Sure?", + text: "You will be redirect out of the tab!", + showCancelButton: true, + confirmButtonText: "OK", + }).then((result) => { + if (result.isConfirmed) { + window.open( + "https://www.currikistudio.org/help/", + "_blank" + ); + } else if (result.isDenied) { + Swal.close(); + } + }); + }} + // href="https://www.currikistudio.org/help/" + // target="_blank" > @@ -119,7 +155,10 @@ function Header(props) {
  • -
    +
    {user?.first_name[0]}

    Profile

    @@ -127,7 +166,10 @@ function Header(props) {
    -
    +
    {user?.first_name[0]}
    @@ -142,21 +184,29 @@ function Header(props) {

    - +
    My Account
    - +
    {/* changePassword */} - + Change Password
    @@ -164,7 +214,11 @@ function Header(props) { { - Event('button click', 'User press Logout button', 'Login Page'); + Event( + "button click", + "User press Logout button", + "Login Page" + ); logout(); }} > diff --git a/src/containers/MyActivity/AddCoursePresentation/UploadCoursePresentation/index.js b/src/containers/MyActivity/AddCoursePresentation/UploadCoursePresentation/index.js index 846c12c2b..8cc8582d5 100644 --- a/src/containers/MyActivity/AddCoursePresentation/UploadCoursePresentation/index.js +++ b/src/containers/MyActivity/AddCoursePresentation/UploadCoursePresentation/index.js @@ -1,27 +1,44 @@ /* eslint-disable */ -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useState } from "react"; import FileUploadDnd from "components/FileInputDnd"; -import FilePreviewAndStore from '../FilePreviewAndStore'; +import FilePreviewAndStore from "../FilePreviewAndStore"; -const UploadCoursePresentation = ({ setEnableDescribeBtn, setLoading }) => { +const UploadCoursePresentation = ({ + setEnableDescribeBtn, + setLoading, +}) => { const [selectedFile, setSelectedFile] = useState(null); - + const [fileError, setfileError] = useState(""); const handleFileChange = (file) => { - setSelectedFile(file); + if (file?.type === "application/pdf") { + setSelectedFile(file); + setfileError(""); + } else { + setfileError("File Format not Supported"); + setSelectedFile(null); + } }; return (
    -
    -
    - +
    +
    +
    - +
    ); }; -export default UploadCoursePresentation; \ No newline at end of file +export default UploadCoursePresentation;