Autoría | Ultima modificación | Ver Log |
import React, { useEffect, useState } from "react";import styled from "styled-components";import Timeline from './timeline'import Progress from './progress'import {axios} from '../../utils'const StyledNavTabs = styled.div`a {cursor: pointer;&.active {color: blue;}}`;const TABS = {BASIC: "BASIC",NOTIFICATIONS: "NOTIFICATIONS",};const AccountSettings = props => {const [currentTab, setCurrentTab] = useState(TABS.BASIC);const handleChangeTab = (event, tab, param) => {event.preventDefault();switch (tab) {case TABS.BASIC:setTitle('Acciones Personales en 2GETSkills')break;default:setTitle('Desempeño Personal en 2GETSkills')break;}setCurrentTab(tab);};const [timeline, setTimeline] = React.useState([])const [timelinePagination, setTimelinePagination] = React.useState({count: 0, pages: 0, page: 1})const [title, setTitle] = React.useState('Acciones Personales en 2GETSkills')const TabRender = () => {switch (currentTab) {case TABS.BASIC:return <Timelinetimeline={timeline}pagination={timelinePagination}getMoreItems={getMoreItems}activities={props.backendVars.activities}changeTitle={title => setTitle(title)}/>;case TABS.NOTIFICATIONS:return <Progress/>;}};const getTimeline = async (page = timelinePagination.page, concatItems = false) => {try {const {data} = await axios.get('microlearning/timeline?page='+page)if(data.success){if(concatItems){const _timeline = [... timeline, ... data.data.current.items]setTimeline(_timeline)setTimelinePagination({... data.data.total,page: page.page+1})}else{setTimeline(data.data.current.items)setTimelinePagination({... data.data.total,page: data.data.current.page})}}} catch (error) {console.log('>>: error > ', error)}}const getMoreItems = () => {if(timelinePagination.pages > timelinePagination.page){let {page} = timelinePaginationpage+=1getTimeline(page, true)}}useEffect(() => {getTimeline()// const searchParam = new URLSearchParams(props.location.search);// const tab = searchParam.get("tab");// if (tab === "nav-basic") setCurrentTab(TABS.BASIC);// if (tab === "nav-notification") setCurrentTab(TABS.NOTIFICATIONS);// if (tab === "nav-password") setCurrentTab(TABS.CHANGE_PASSWORD);// if (tab === "nav-image") setCurrentTab(TABS.CHANGE_IMAGE);// if (tab === "nav-location") setCurrentTab(TABS.LOCATION);// if (tab === "nav-privacy") setCurrentTab(TABS.PRIVACY);// if (tab === "nav-social-networks") setCurrentTab(TABS.SOCIAL_NETWORKS);// if (tab === "nav-transactions") setCurrentTab(TABS.TRANSACTIONS);// if (tab === "nav-browsers") setCurrentTab(TABS.BROWSERS);// if (tab === "nav-ips") setCurrentTab(TABS.IPS);// if (tab === "nav-devices") setCurrentTab(TABS.DEVICES);}, []);return (<section className="profile-account-setting"><div className="container"><divclassName="text-center mt-2"><h1 className="font-weight-bold">2GETSkills, tu app de micro-aprendizaje</h1>{!!title && (<p> {title} </p>)}</div><div className="account-tabs-setting"><div className="row"><div className="col-lg-3"><div className="acc-leftbar"><StyledNavTabsclassName="nav nav-tabs"id="nav-tab"role="tablist"><aclassName={`nav-item text-center nav-link ${currentTab === TABS.BASIC ? "active" : ""}`}id="nav-basic-tab"onClick={(e) => handleChangeTab(e, TABS.BASIC)}><i className="la la-user"></i>Tus acciones Personales en 2GETSkills</a><aclassName={`nav-item text-center nav-link ${currentTab === TABS.NOTIFICATIONS ? "active" : ""}`}id="nav-basic-tab"onClick={(e) => handleChangeTab(e, TABS.NOTIFICATIONS)}><iclassName="fa fa-spinner"/> Tu progreso en 2GETSkills</a></StyledNavTabs></div>{/* <!--acc-leftbar end--> */}</div><div className="col-lg-9"><div className="tab-content" id="nav-tabContent"><div className="tab-pane fade active show">{TabRender()}</div></div></div></div></div>{/* <!--account-tabs-setting end--> */}</div></section>);};export default AccountSettings;