Selaa lähdekoodia

fix token closures

amenpunk 3 vuotta sitten
vanhempi
sitoutus
b30896abe0

+ 1 - 0
src/Components/Routes.js

@@ -57,6 +57,7 @@ export default function MyRoutes() {
             <Dashboard />
           </RequireToken>
         }>
+
         <Route path="home" element={<Home />} />
         <Route path="puestos" element={<Puestos />} />
         <Route path="perfil" element={<Profile />} />

+ 2 - 2
src/Components/User.jsx

@@ -85,8 +85,8 @@ export function User() {
     let dispatch = useDispatch()
 
     const CerrarSession = () => {
-        dispatch(removeToken())
-        navigate('/logincd')
+      dispatch(removeToken({ candi:true}))
+      navigate('/logincd')
     }
 
     const [anchorEl, setAnchorEl] = React.useState(null);

+ 2 - 4
src/Pages/Home.jsx

@@ -17,9 +17,7 @@ export function Home() {
     return await rest.getQuery(auth.token)
   }
 
-  const { data, status } = useQuery('homepwd', getAllPwd);
-  let is_loading = status === "loading";
-  console.log({is_loading})
+  const { data } = useQuery('homepwd', getAllPwd);
 
   return (
     <section >
@@ -56,7 +54,7 @@ export function Home() {
                 <Col md="4">
                   <Actividades />
                 </Col>
-*/}
+              */}
             </Row>
           </div>
         </div>

+ 7 - 5
src/Pages/Prueba.jsx

@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import React, { useState,useEffect } from 'react';
 import { Service } from '../Utils/HTTP'
 import { Box, Paper, Divider, Typography, Button } from '@mui/material'
 
@@ -20,7 +20,9 @@ export function Prueba() {
   let [data, setData] = useState({});
   let [asignacion, setAsignacion] = useState(null);
 
-  useState(() => {
+  useEffect(() => {
+    let{ profile: perfil }=profile
+
     let rest = new Service(`/prueba/findid/${id}`)
     rest.get(auth.token)
       .then(resp => {
@@ -28,7 +30,7 @@ export function Prueba() {
       })
       .catch(_e => setData({}))
 
-    let status_asign_url = `/prueba/estatus/${profile.profile.pass}/${profile.profile.email}/${id}`
+    let status_asign_url = `/prueba/estatus/${perfil.pass}/${perfil.email}/${id}`
     rest = new Service(status_asign_url)
 
     rest.getQuery(auth.token)
@@ -40,7 +42,7 @@ export function Prueba() {
       })
 
 
-  }, [id])
+  }, [auth.token,id,profile])
 
   let now = new Date().toISOString();
   let assig_data = {
@@ -56,7 +58,7 @@ export function Prueba() {
     "idcontrasenia": profile.role.pass, // ya no se va enviar
     "nombre": "new " + now,
     //cattest_id // catalogo de examenes -> viene del api del catalogo del admin
-    "cattest_id": data.id
+    "cattest_id": data?.id
   }
 
   const CreateAssign = () => {

+ 6 - 2
src/Slices/tokenSlice.js

@@ -1,5 +1,5 @@
 import { createSlice } from '@reduxjs/toolkit';
-const initialState = { token: null, candi: 0 };
+const initialState = { token: null, candi: null };
 
 export const tokenSlice = createSlice({
   name: "token",
@@ -13,7 +13,11 @@ export const tokenSlice = createSlice({
         state.token = action.payload;
       }
     },
-    removeToken: (state, _action) => {
+    removeToken: (state,action) => {
+      let {payload}=action
+      if(payload.candi){
+        state.candi = null
+      }
       state.token = null;
     }
   }

+ 3 - 3
src/Utils/MenuItems.js

@@ -67,17 +67,17 @@ export const MainItems = [
 export const ExtraItems = [
   {
     icon: <Star />,
-    route: 'work',
+    route: 'elementos',
     title: 'Elementos'
   },
   {
     icon: <OndemandVideo />,
-    route: 'worktwo',
+    route: 'tutoriales',
     title: 'Tutoriales'
   },
   {
     icon: <SupportAgent />,
-    route: 'worktree',
+    route: 'help',
     title: 'Asistencia Técnica'
   },
 ]