@fortawesome/free-solid-svg-icons#faAngleLeft JavaScript Examples

The following examples show how to use @fortawesome/free-solid-svg-icons#faAngleLeft. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: pagination.js    From open-jobboard with Apache License 2.0 5 votes vote down vote up
Filters = props => {
  const [page, setPage] = useState(props.meta.page)
  const [maxPage, setmaxPage] = useState(props.meta.maxPage)
  const isMounted = useRef(false);

  useEffect(() => {
    if(isMounted.current) {
      props.fetchJobs({...props.boardFilters, page})
    } else {
      isMounted.current = true;
    }
  }, [page])
  let keysList = [...Array(maxPage).keys()];
  let slicedKeysList = [];
  if (page < 4) {
    slicedKeysList = keysList.slice(0, 5);

  } else {
    slicedKeysList = keysList.slice(page - 2, page + 5);
  }
  const paginationHtml = slicedKeysList.map(p => {
    let className = [styles.paginationItem];
    if (page === p + 1 ) {
      className.push(styles.active)
    }
    return (<li key={p} onClick={() => setPage(p+1)} className={className.join(' ')}>{p+1}</li>)
  })
  let nextClass = page === maxPage ? [styles.paginationItem, styles.disabled].join(' ') : styles.paginationItem
  let prevClass = page === 1 ? [styles.paginationItem, styles.disabled].join(' ') : styles.paginationItem
  return (
    <div className={styles.pagination}>
      <span className={prevClass} onClick={() => setPage(1)}>
        <FontAwesomeIcon  icon={faAngleDoubleLeft} />
      </span>
      <span className={prevClass} onClick={() => setPage(prevPage => prevPage - 1)}>
        <FontAwesomeIcon  icon={faAngleLeft} />
      </span>
      <ul className={styles.pagination__list}>
        {paginationHtml}
      </ul>
      <span className={nextClass}>
        <FontAwesomeIcon  icon={faAngleRight} onClick={() => setPage(prevPage => prevPage + 1)} />
      </span>
      <span className={nextClass}>
        <FontAwesomeIcon  icon={faAngleDoubleRight} onClick={() => setPage(maxPage)}/>
      </span>
    </div>
  )
}
Example #2
Source File: previewlayout.js    From ActiveLearningStudio-react-client with GNU Affero General Public License v3.0 4 votes vote down vote up
PreviewLayout = (props) => {
  const { changeScreenHandler } = props;
  return (
    <div className="preview-layout-form">
      {/* <div className="preview-layout-back">
        <Link
          className="back-link"
          onClick={() => changeScreenHandler("addactivity")}
        >
          <FontAwesomeIcon icon="chevron-left" className="icon-link" />
          Back
        </Link>
      </div> */}
      <div className="preview-layout-tabs">
        <Tabs text="1. Select an activity" tabActive={true} />
        <Tabs text="2. Add activities to Layout" className="ml-10 mt-10" tabActive={true} />
        <Tabs text="3. Preview Activity" className="ml-10" tabActive={true} />
      </div>
      <div className="preview-layout-title-select">
        <div className="preview-layout-title">
          <HeadingTwo text="Interactive Video" color="#084892" />
        </div>

        {/* <div className="preview-layout-change-layout">
          <select>
            <option>Change Layout</option>
            <option>Interactive video</option>
            <option>Column layout</option>
            <option>Interactive book</option>
            <option>Course presentation</option>
            <option>Quiz</option>
            <option>Single activity</option>
          </select>
        </div> */}
      </div>
      <div className="preview-layout-card-project">
        <div className="preview-layout-dialogcard">
          <div className="dialogcard-subtitle">
            <HeadingThree text="Activity title" color="#084892" />
          </div>
          <div>
            <HeadingText text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam." />
          </div>
          <div className="preview-layout-panel">
            <div className="layout-panel">
              <HeadingThree text="First panel " color="#084892" />
              <FontAwesomeIcon icon="chevron-down" color="#084892" />
            </div>
            <div className="layout-panel mt-8">
              <HeadingThree text="Second panel " color="#084892" />
              <FontAwesomeIcon icon="chevron-down" color="#084892" />
            </div>
          </div>
          <div className="preview-layout-footer">
            <div className="footer-dowload">
              <p>
                <FontAwesomeIcon icon={faArrowDown} /> Download
              </p>
            </div>
            <div>
              <p>
                <FontAwesomeIcon icon={faAngleLeft} /> <FontAwesomeIcon icon={faAngleRight} />
                Embed
              </p>
            </div>
            <div>
              <img src={ExplanatoryH5P} />
            </div>
          </div>
          {/* <div className="dialogcard-subtitle">
            <HeadingText
              text="Dialog Card"
              color="#084892"
              className="subtitle-text"
            />
          </div>
          <div className="dialogcard-title">
            <HeadingTwo
              text="Activity Title"
              color="#084892"
              className="title-heading"
            />
            <HeadingThree
              text="Heading"
              color="#084892"
              className="sub-heading"
            />
          </div>
          <div className="detail-dialogcard">
            <div className="card-actvity">
              <img src={CarDImage} alt="" />
              <div>
                <FontAwesomeIcon
                  icon="volume-up"
                  className="card-actvity-icon"
                />
              </div>
              <HeadingThree
                text="Activity Title"
                className="card-actvity-title"
              />
              <Buttons
                icon="sync-alt"
                text="Turn"
                primary={true}
                width="96px"
                height="35px"
                className="card-actvity-btn"
              />
            </div>
          </div>
          <div className="card-pagination">
            <div className="pagination-text">
              <HeadingText text="Card 1 of 5" />
            </div>
            <div className="pagination-icon">
              <FontAwesomeIcon icon="angle-right" className="icon-next" />
            </div>
          </div> */}
        </div>
        <div className="preview-layout-project">
          <div className="project-title-link">
            <div className="project-title">
              <HeadingTwo text="Project: " color="#084892" className="project-heading" />
              <HeadingText text="Project title here" color="#515151" />
              <HeadingTwo text="Playlist:" color="#084892" className="playlist-heading" />
              <HeadingText text="Playlist name here" color="#515151" />
            </div>
            <div className="project-link">
              <Link className="get-link">
                {/* <FontAwesomeIcon icon="link" className="icon-link" />*/}
                Get link
              </Link>
            </div>
          </div>
          <div className="dialog-card-box">
            <img src={DialogCardImage} alt="" />
            <HeadingText text="Dialog Cards" color="#084892" className="ml-15" />
          </div>
          {/* <div className="add-more-activity">
            <div className="more-activity-icon">
              <FontAwesomeIcon icon="link" className="icon-link" />
            </div>
            <Link className="more-activity-link" to="/">
              Add More Activity
            </Link>
          </div> */}
          <div className="project-link-button">
            <Buttons text="Back to Editor" primary={true} width="126px" height="43px" hover={true} onClick={() => changeScreenHandler('addactivity')} />
            <Buttons text="Finish Layout" secondary={true} width="126px" height="43px" hover={true} onClick={() => changeScreenHandler('')} />
          </div>
        </div>
      </div>
    </div>
  );
}
Example #3
Source File: addteamprojects.js    From ActiveLearningStudio-react-client with GNU Affero General Public License v3.0 4 votes vote down vote up
AddTeamProjects = ({ setPageLoad }) => {
  const primaryColor = getGlobalColor('--main-primary-color');
  return (
    <div className="add-team-projects">
      <div className="team-projects-top-section">
        <div>
          <div className="organization-name">CurrikiStudio</div>
          <div className="title-image">
            <div>
              <h1 className="title">Add projects</h1>
            </div>
          </div>
        </div>
        <div
          className="back-to-section"
          onClick={() => {
            setPageLoad((oldStatus) => !oldStatus);
          }}
        >
          <FontAwesomeIcon icon={faAngleLeft} className="back-icon" />
          <span>Back to team</span>
        </div>
      </div>

      <div className="project-tabs">
        <Tabs className="main-tabs" defaultActiveKey="Projects" id="uncontrolled-tab-example">
          <Tab eventKey="Projects" title="Projects">
            <div className="flex-button-top">
              <div className="team-controller">
                <div className="search-and-filters">
                  <div className="search-bar">
                    <input type="text" className="search-input" placeholder="Search project" />
                    {/*  <img src={searchimg} alt="search" />*/}
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" css-inspector-installed="true">
                      <path
                        d="M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58175 3 3.00003 6.58172 3.00003 11C3.00003 15.4183 6.58175 19 11 19Z"
                        stroke={primaryColor}
                        stroke-width="2"
                        stroke-linecap="round"
                        stroke-linejoin="round"
                      />
                      <path d="M21 20.9984L16.65 16.6484" stroke={primaryColor} stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
                    </svg>
                  </div>
                </div>

                <div className="team-project-btns">
                  <div className="project-selection">
                    <p>5 projects have been selected. </p>
                  </div>
                  <Buttons icon={faPlus} text="Add projects to team" primary={true} width="188px" height="32px" hover={true} />
                </div>
              </div>
            </div>
            <div className="list-of-team-projects">
              <TeamProjectCard backgroundImg={Project1} title="The Curriki Vision" className="mrt" />
              <TeamProjectCard backgroundImg={Project2} title="The Curriki Vision" className="mrt" />
              <TeamProjectCard backgroundImg={Project3} title="The Curriki Vision" className="mrt" />
              <TeamProjectCard backgroundImg={Project1} title="The Curriki Vision" className="mrt" />
              <TeamProjectCard backgroundImg={Project2} title="The Curriki Vision" className="mrt" />
              <TeamProjectCard backgroundImg={Project3} title="The Curriki Vision" className="mrt" />
            </div>
          </Tab>
          <Tab eventKey="Search" title="Search">
            <div className="flex-button-top">
              <div className="team-controller">
                <div className="search-and-filters">
                  <div className="search-bar">
                    <input type="text" className="search-input" placeholder="Search project" />
                    <img src={searchimg} alt="search" />
                  </div>
                </div>

                <div className="team-project-btns">
                  <div className="project-selection">
                    <p>5 projects have been selected. </p>
                  </div>
                  <Buttons icon={faPlus} text="Add projects to team" primary={true} width="188px" height="32px" hover={true} />
                </div>
              </div>
            </div>
            <SearchInterface fromTeam={true} />
          </Tab>
        </Tabs>
      </div>
      {/* <div className="flex-button-top">
        <div className="team-controller">
          <div className="search-and-filters">
            <div className="search-bar">
              <input
                type="text"
                className="search-input"
                placeholder="Search project"
              />
              <img src={searchimg} alt="search" />
            </div>
          </div>

          <div className="team-project-btns">
            <div className="project-selection">
              <p>5 projects have been selected. </p>
            </div>
            <Buttons
              icon={faPlus}
              text="Add projects to team"
              primary={true}
              width="188px"
              height="32px"
              hover={true}
            />
          </div>
        </div>
      </div> */}
    </div>
  );
}
Example #4
Source File: index.js    From ActiveLearningStudio-react-client with GNU Affero General Public License v3.0 4 votes vote down vote up
AddTeamProjects = (props) => {
  const { location, organization, team, newTeam, newTeamData, createTeam, loadTeam, loadTeams, addProjectToTeam } = props;
  const dispatch = useDispatch();
  const history = useHistory();
  const [allPersonalProjects, setAllPersonalProjects] = useState([]);
  const [loading, setLoading] = useState(true);
  const [selectProject, setSelectProject] = useState([]);
  const projectReduxState = useSelector((state) => state.project);
  const { teamPermission } = useSelector((state) => state.team);
  // use effect to redirect user to team page if newTeam is not found
  useEffect(() => {
    if (location.pathname.includes('/teams/add-projects') && !newTeam?.name && organization?.domain) {
      history.push(`/org/${organization?.domain}/teams`);
    } else if (!team?.id && !newTeam?.name && organization?.domain) {
      const teamId = parseInt(location.pathname.split('teams/')[1], 10);
      loadTeam(teamId);
    }
  }, [organization]);
  // useEffect to add projects to new team as we select them
  useEffect(() => {
    if (newTeam?.projects && newTeam?.name) {
      newTeamData({ ...newTeam, projects: [...selectProject] });
    } else if (selectProject.length > 0 && newTeam?.name) {
      newTeamData({ ...newTeam, projects: [...selectProject] });
    }
  }, [selectProject]);

  // USE EFFECT FOR FETCHING ALL PROJECTS IF COMPONENT IS NOT FETCHED IN CREATION STAGE
  useEffect(() => {
    // Edit mode
    if (team?.id && projectReduxState?.projects?.length > 0) {
      const allProjects = projectReduxState?.projects.filter((project) => !team?.projects.includes(project.id));
      setAllPersonalProjects(allProjects);
      setLoading(false);
    } else if (team?.id && projectReduxState?.projects?.length === 0 && organization?.id) {
      dispatch(loadMyProjectsAction());
    }
    // Creation mode
    if (!team?.id && projectReduxState?.projects?.length > 0) {
      setAllPersonalProjects(projectReduxState?.projects);
      setLoading(false);
    } else if (!team?.id && projectReduxState?.projects?.length === 0 && organization?.id) {
      dispatch(loadMyProjectsAction());
    }
  }, [dispatch, projectReduxState?.projects, team, organization?.id]);
  const searchProjects = ({ target }) => {
    const { value } = target;
    if (value.length > 0) {
      const filteredProjects = allPersonalProjects.filter((project) => project.name.toLowerCase().includes(value.toLowerCase()));
      setAllPersonalProjects(filteredProjects);
    } else if (team?.id) {
      const allProjects = projectReduxState?.projects.filter((project) => !team?.projects.includes(project.id));
      setAllPersonalProjects(allProjects);
    } else if (!team?.id) {
      setAllPersonalProjects(projectReduxState?.projects);
      setLoading(false);
    }
  };
  const primaryColor = getGlobalColor('--main-primary-color');
  return (
    <div className="team-project-page">
      <div className="content">
        <div className="inner-content">
          <div className="add-team-projects">
            <div className="team-projects-top-section">
              <div>
                <div className="organization-name">{organization?.name}</div>
                <div className="title-image">
                  <div>
                    <h1 className="title">Add projects</h1>
                  </div>
                </div>
              </div>
              <div
                className="back-to-section"
                onClick={() => {
                  if (team?.id) {
                    history.push(`/org/${organization?.domain}/teams/${team?.id}`);
                  } else {
                    history.push(`/org/${organization?.domain}/teams`);
                  }
                }}
              >
                <FontAwesomeIcon icon={faAngleLeft} className="back-icon" />
                <span>Back to team</span>
              </div>
            </div>

            <div className="project-tabs">
              <Tabs className="main-tabs" defaultActiveKey="Projects" id="uncontrolled-tab-example">
                <Tab eventKey="Projects" title="Projects">
                  <div className="flex-button-top">
                    <div className="team-controller">
                      {team?.id && (
                        <div className="search-and-filters">
                          <div className="search-bar">
                            <input type="text" className="search-input" placeholder="Search project" onChange={searchProjects} />
                            {/* <img src={searchimg} alt="search" /> */}
                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" css-inspector-installed="true">
                              <path
                                d="M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58175 3 3.00003 6.58172 3.00003 11C3.00003 15.4183 6.58175 19 11 19Z"
                                stroke={primaryColor}
                                strokeWidth="2"
                                strokeLinecap="round"
                                strokeLinejoin="round"
                              />
                              <path d="M21 20.9984L16.65 16.6484" stroke={primaryColor} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
                            </svg>
                          </div>
                        </div>
                      )}

                      <div className="team-project-btns">
                        <div className="project-selection">
                          <p>{selectProject?.length} projects have been selected. </p>
                        </div>
                        {teamPermission?.Team?.includes('team:add-project') && team?.id && (
                          <Buttons
                            icon={faPlus}
                            type="button"
                            text="Add projects to team"
                            primary
                            width="188px"
                            height="32px"
                            hover
                            onClick={() => {
                              if (selectProject.length > 0) {
                                addProjectToTeam(team?.id, selectProject)
                                  .then((result) => {
                                    Swal.fire({
                                      icon: 'success',
                                      title: result?.message,
                                    });
                                    loadTeam(team?.id);
                                    history.push(`/org/${organization?.domain}/teams/${team?.id}`);
                                  }).catch((err) => {
                                    Swal.fire({
                                      icon: 'error',
                                      title: err?.message,
                                    });
                                  });
                              }
                            }}
                          />
                        )}
                        {newTeam?.name && (
                          <Buttons
                            type="button"
                            text="Finish"
                            primary
                            width="100px"
                            height="32px"
                            hover
                            onClick={() => {
                              Swal.showLoading();
                              createTeam({ ...newTeam, organization_id: organization?.id })
                                .then(() => {
                                  Swal.fire({
                                    icon: 'success',
                                    title: 'Team added successfully.',
                                  });
                                  loadTeams();
                                  history.push(`/org/${organization?.domain}/teams`);
                                })
                                .catch((err) => {
                                  console.log(err);
                                  Swal.fire({
                                    icon: 'error',
                                    title: 'Error',
                                    text: 'Create Team failed, kindly try again.',
                                  });
                                });
                            }}
                          />
                        )}
                      </div>
                    </div>
                  </div>
                  <div className="list-of-team-projects">
                    {loading ? (
                      <Alert variant="primary" className="alert">
                        Loading...
                      </Alert>
                    ) : allPersonalProjects.length > 0 ? (
                      allPersonalProjects?.map((project) => (
                        <TeamProjectCard
                          backgroundImg={project?.thumb_url}
                          title={project?.name}
                          className="mrt"
                          key={project?.id}
                          selectProject={selectProject}
                          setSelectProject={setSelectProject}
                          project={project}
                        />
                      ))
                    ) : (
                      <Alert variant="danger" className="alert">
                        No project found.
                      </Alert>
                    )}
                  </div>
                </Tab>
                <Tab eventKey="Search" title="Search">
                  <div className="flex-button-top">
                    <div className="team-controller">
                      <div className="team-project-btns">
                        <div className="project-selection">
                          <p>{selectProject?.length} projects have been selected. </p>
                        </div>
                        <Buttons icon={faPlus} text="Add projects to team" type="button" primary width="188px" height="32px" hover disabled={selectProject?.length === 0} onClick={() => {
                          if (selectProject.length > 0) {
                            addProjectToTeam(team?.id, selectProject)
                              .then((result) => {
                                Swal.fire({
                                  icon: 'success',
                                  title: result?.message,
                                });
                                loadTeam(team?.id);
                                history.push(`/org/${organization?.domain}/teams/${team?.id}`);
                              }).catch((err) => {
                                Swal.fire({
                                  icon: 'error',
                                  title: err?.message,
                                });
                              });
                          }
                        }} />
                      </div>
                    </div>
                  </div>
                  <SearchInterface fromTeam selectProject={selectProject} setSelectProject={setSelectProject} />
                </Tab>
              </Tabs>
            </div>
          </div>
        </div>
      </div>
    </div>
  );
}
Example #5
Source File: LaddersQuestionPage.js    From Frontend with Apache License 2.0 4 votes vote down vote up
function LaddersQuestionPage(props) {
  // console.log(props);
  const [type1, setType1] = useState(
    props.type === 'list' ? 'practice' : 'ladder'
  )
  const [problems, setProblems] = useState(null)
  const [show, setShow] = useState(true)
  const creds = JSON.parse(localStorage.getItem('creds'))
  const [prevPage, setPrevPage] = useState('')
  const [firstPage, setFirstPage] = useState(
    '/' + props.wise + '/' + type1 + '/' + props.slug + '?page=1'
  )
  const [nextPage, setNextPage] = useState('')
  const [lastPage, setLastPage] = useState('')
  const [locked, setlocked] = useState(false)

  //for reload button after doing the question
  const updateReload = () => {
    window.location.reload()
  }

  useEffect(() => {
    if (problems != null) {
      //URLs for related pages
      setPrevPage(
        '/' +
          props.wise +
          '/' +
          type1 +
          '/' +
          props.slug +
          '?page=' +
          (problems.meta.current_page - 1)
      )
      setNextPage(
        '/' +
          props.wise +
          '/' +
          type1 +
          '/' +
          props.slug +
          '?page=' +
          (problems.meta.current_page + 1)
      )
      setLastPage(
        '/' +
          props.wise +
          '/' +
          type1 +
          '/' +
          props.slug +
          '?page=' +
          problems.meta.last_page
      )

      //if the last unsolved question is not at this page
      if (problems.meta.curr_unsolved_page != problems.meta.current_page) {
        setlocked(true)
      }
    }
  })

  useEffect(() => {
    if (creds) {
      async function fetchData() {
        const res = await fetch(
          `https://api.codedigger.tech/lists/${props.wise}/${props.type}/${props.slug}${props.pageNo}`,
          {
            method: 'GET',
            headers: {
              'Content-Type': 'application/json',
              Authorization: `Bearer ${creds.access}`,
            },
          }
        )
        res
          .json()
          .then((res) => setProblems(res))
          .then((show) => setShow(false))
      }
      fetchData()
    } else {
      async function fetchData() {
        const res = await fetch(
          `https://api.codedigger.tech/lists/${props.wise}/${props.type}/${props.slug}${props.pageNo}`,
          {
            method: 'GET',
            headers: {
              'Content-Type': 'application/json',
            },
          }
        )
        res
          .json()
          .then((res) => setProblems(res))
          .then((show) => setShow(false))
      }
      fetchData()
    }
  }, [])

  var count = 0
  var solvedBtn = -1
  var button = false

  return show == true ? (
    <Loading />
  ) : (
    <div>
      <Navbar />
      <h2 style={{ textAlign: 'center', marginTop: '120px', fontSize: '45px' }}>
        {problems.meta.name}
      </h2>

      {/* Button to reload the page whenever the user solves a question */}
      <Button variant="success" className="updateBtn" onClick={updateReload}>
        Update
      </Button>
      <div
        className="container-fluid"
        style={{
          display: 'flex',
          flexDirection: 'row',
          alignItems: 'center',
          padding: '0rem 0rem',
        }}
      >
        {/* if it is first page dont display prev and first page pointers */}
        {problems.meta.current_page != 1 ? (
          <>
            <OverlayTrigger placement="top" overlay={renderTooltip1}>
              <a href={firstPage}>
                <FontAwesomeIcon
                  className="pageNavIcons"
                  icon={faAngleDoubleLeft}
                />
              </a>
            </OverlayTrigger>

            <OverlayTrigger placement="top" overlay={renderTooltip2}>
              <a href={prevPage}>
                <FontAwesomeIcon
                  className="pageNavIcons"
                  icon={faAngleLeft}
                  style={{ marginLeft: '13px' }}
                />
              </a>
            </OverlayTrigger>
          </>
        ) : (
          <></>
        )}

        {problems.meta.current_page === 1 ? (
          <div
            className="container-card marginLeftOfCards"
            style={{ marginTop: '75px' }}
          >
            {problems.result.map((ProblemData) => {
              count++
              if (ProblemData.solved === false && solvedBtn === -1) {
                solvedBtn = count
              }
              return (
                <>
                  {locked ? (
                    <MainCard
                      type={props.type}
                      count={20}
                      ProblemData={ProblemData}
                      solvedBtn={10}
                    />
                  ) : (
                    <MainCard
                      type={props.type}
                      count={count}
                      ProblemData={ProblemData}
                      solvedBtn={solvedBtn}
                    />
                  )}
                </>
              )
            })}
          </div>
        ) : problems.meta.current_page == problems.meta.last_page ? (
          <div className="container-card" style={{ marginTop: '75px' }}>
            {problems.result.map((ProblemData) => {
              count++
              if (ProblemData.solved === false && solvedBtn === -1) {
                solvedBtn = count
              }
              return (
                <>
                  {locked ? (
                    <MainCard
                      type={props.type}
                      count={20}
                      ProblemData={ProblemData}
                      solvedBtn={10}
                      last={'true'}
                    />
                  ) : (
                    <MainCard
                      type={props.type}
                      count={count}
                      ProblemData={ProblemData}
                      solvedBtn={solvedBtn}
                      last={'true'}
                    />
                  )}
                </>
              )
            })}
          </div>
        ) : (
          <div className="container-card" style={{ marginTop: '75px' }}>
            {problems.result.map((ProblemData) => {
              count++
              if (ProblemData.solved === false && solvedBtn === -1) {
                solvedBtn = count
              }
              return (
                <>
                  {locked ? (
                    <MainCard
                      type={props.type}
                      count={20}
                      ProblemData={ProblemData}
                      solvedBtn={10}
                    />
                  ) : (
                    <MainCard
                      type={props.type}
                      count={count}
                      ProblemData={ProblemData}
                      solvedBtn={solvedBtn}
                    />
                  )}
                </>
              )
            })}
          </div>
        )}

        {/* if it is last page, dont display last and next pointers */}
        {problems.meta.current_page != problems.meta.last_page ? (
          <>
            <OverlayTrigger placement="top" overlay={renderTooltip3}>
              <a href={nextPage} style={{ position: 'absolute', right: '7%' }}>
                <FontAwesomeIcon className="pageNavIcons" icon={faAngleRight} />
              </a>
            </OverlayTrigger>

            <OverlayTrigger placement="top" overlay={renderTooltip4}>
              <a href={lastPage} style={{ position: 'absolute', right: '2%' }}>
                <FontAwesomeIcon
                  className="pageNavIcons"
                  icon={faAngleDoubleRight}
                />
              </a>
            </OverlayTrigger>
          </>
        ) : (
          <></>
        )}
      </div>

      <FooterSmall />
    </div>
  )
}
Example #6
Source File: DemoSidebar.jsx    From react-lte with MIT License 4 votes vote down vote up
export default function DemoSidebar() {
  return (
    <MainSidebar logo={logo} brandName='AdminLTE 3'>
      <SidebarUser avatar={user2} href='#' name='Alexander Pierce' />

      <NavSidebar>
        <NavItem>
          <NavLink tag={Link} to='/'>
            <FontAwesomeIcon icon={faTachometerAlt} className='nav-icon' />
            <p>Dashboard</p>
          </NavLink>
        </NavItem>

        <NavItem>
          <NavLink tag={Link} to='/widgets'>
            <FontAwesomeIcon icon={faTh} className='nav-icon' />
            <p>
              Widgets
              <Badge color='danger' className='right'>
                New
              </Badge>
            </p>
          </NavLink>
        </NavItem>

        <NavItem>
          <NavLink href='#'>
            <FontAwesomeIcon icon={faCopy} className='nav-icon' />
            <p>
              Layout Options
              <FontAwesomeIcon icon={faAngleLeft} className='right' />
              <Badge color='info' className='right'>
                6
              </Badge>
            </p>
          </NavLink>
          <ul className='nav nav-treeview'>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Top Navigation</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <small>Top Navigation + Sidebar</small>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Boxed</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Fixed Sidebar</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <small>Fixed Sidebar + Custom Area</small>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Fixed Navbar</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Fixed Footer</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Collapsed Sidebar</p>
              </NavLink>
            </NavItem>
          </ul>
        </NavItem>

        <NavItem>
          <NavLink href='#'>
            <FontAwesomeIcon icon={faChartPie} className='nav-icon' />
            <p>
              Charts
              <FontAwesomeIcon icon={faAngleLeft} className='right' />
            </p>
          </NavLink>
          <ul className='nav nav-treeview'>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>ChartJS</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Flot</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Inline</p>
              </NavLink>
            </NavItem>
          </ul>
        </NavItem>

        <NavItem>
          <NavLink href='#'>
            <FontAwesomeIcon icon={faTree} className='nav-icon' />
            <p>
              UI Elements
              <FontAwesomeIcon icon={faAngleLeft} className='right' />
            </p>
          </NavLink>
          <ul className='nav nav-treeview'>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>General</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Icons</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Buttons</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Sliders</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Modals & Alerts</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Navbar & Tabs</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Timeline</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Ribbons</p>
              </NavLink>
            </NavItem>
          </ul>
        </NavItem>

        <NavItem>
          <NavLink href='#'>
            <FontAwesomeIcon icon={faEdit} className='nav-icon' />
            <p>
              Forms
              <FontAwesomeIcon icon={faAngleLeft} className='right' />
            </p>
          </NavLink>
          <ul className='nav nav-treeview'>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>General Elements</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Advanced Elements</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Editors</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Validation</p>
              </NavLink>
            </NavItem>
          </ul>
        </NavItem>

        <NavItem>
          <NavLink href='#'>
            <FontAwesomeIcon icon={faTable} className='nav-icon' />
            <p>
              Tables
              <FontAwesomeIcon icon={faAngleLeft} className='right' />
            </p>
          </NavLink>
          <ul className='nav nav-treeview'>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>Simple Tables</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>DataTables</p>
              </NavLink>
            </NavItem>
            <NavItem>
              <NavLink tag={Link} to='#'>
                <FontAwesomeIcon icon={farCircle} className='nav-icon' />
                <p>jsGrid</p>
              </NavLink>
            </NavItem>
          </ul>
        </NavItem>
      </NavSidebar>
    </MainSidebar>
  );
}