浏览代码

fix token closures

amenpunk 2 年之前
父节点
当前提交
b30896abe0
共有 6 个文件被更改,包括 21 次插入16 次删除
  1. 1 0
      src/Components/Routes.js
  2. 2 2
      src/Components/User.jsx
  3. 2 4
      src/Pages/Home.jsx
  4. 7 5
      src/Pages/Prueba.jsx
  5. 6 2
      src/Slices/tokenSlice.js
  6. 3 3
      src/Utils/MenuItems.js

+ 1 - 0
src/Components/Routes.js

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

+ 2 - 2
src/Components/User.jsx

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

+ 2 - 4
src/Pages/Home.jsx

@@ -17,9 +17,7 @@ export function Home() {
17 17
     return await rest.getQuery(auth.token)
18 18
   }
19 19
 
20
-  const { data, status } = useQuery('homepwd', getAllPwd);
21
-  let is_loading = status === "loading";
22
-  console.log({is_loading})
20
+  const { data } = useQuery('homepwd', getAllPwd);
23 21
 
24 22
   return (
25 23
     <section >
@@ -56,7 +54,7 @@ export function Home() {
56 54
                 <Col md="4">
57 55
                   <Actividades />
58 56
                 </Col>
59
-*/}
57
+              */}
60 58
             </Row>
61 59
           </div>
62 60
         </div>

+ 7 - 5
src/Pages/Prueba.jsx

@@ -1,4 +1,4 @@
1
-import React, { useState } from 'react';
1
+import React, { useState,useEffect } from 'react';
2 2
 import { Service } from '../Utils/HTTP'
3 3
 import { Box, Paper, Divider, Typography, Button } from '@mui/material'
4 4
 
@@ -20,7 +20,9 @@ export function Prueba() {
20 20
   let [data, setData] = useState({});
21 21
   let [asignacion, setAsignacion] = useState(null);
22 22
 
23
-  useState(() => {
23
+  useEffect(() => {
24
+    let{ profile: perfil }=profile
25
+
24 26
     let rest = new Service(`/prueba/findid/${id}`)
25 27
     rest.get(auth.token)
26 28
       .then(resp => {
@@ -28,7 +30,7 @@ export function Prueba() {
28 30
       })
29 31
       .catch(_e => setData({}))
30 32
 
31
-    let status_asign_url = `/prueba/estatus/${profile.profile.pass}/${profile.profile.email}/${id}`
33
+    let status_asign_url = `/prueba/estatus/${perfil.pass}/${perfil.email}/${id}`
32 34
     rest = new Service(status_asign_url)
33 35
 
34 36
     rest.getQuery(auth.token)
@@ -40,7 +42,7 @@ export function Prueba() {
40 42
       })
41 43
 
42 44
 
43
-  }, [id])
45
+  }, [auth.token,id,profile])
44 46
 
45 47
   let now = new Date().toISOString();
46 48
   let assig_data = {
@@ -56,7 +58,7 @@ export function Prueba() {
56 58
     "idcontrasenia": profile.role.pass, // ya no se va enviar
57 59
     "nombre": "new " + now,
58 60
     //cattest_id // catalogo de examenes -> viene del api del catalogo del admin
59
-    "cattest_id": data.id
61
+    "cattest_id": data?.id
60 62
   }
61 63
 
62 64
   const CreateAssign = () => {

+ 6 - 2
src/Slices/tokenSlice.js

@@ -1,5 +1,5 @@
1 1
 import { createSlice } from '@reduxjs/toolkit';
2
-const initialState = { token: null, candi: 0 };
2
+const initialState = { token: null, candi: null };
3 3
 
4 4
 export const tokenSlice = createSlice({
5 5
   name: "token",
@@ -13,7 +13,11 @@ export const tokenSlice = createSlice({
13 13
         state.token = action.payload;
14 14
       }
15 15
     },
16
-    removeToken: (state, _action) => {
16
+    removeToken: (state,action) => {
17
+      let {payload}=action
18
+      if(payload.candi){
19
+        state.candi = null
20
+      }
17 21
       state.token = null;
18 22
     }
19 23
   }

+ 3 - 3
src/Utils/MenuItems.js

@@ -67,17 +67,17 @@ export const MainItems = [
67 67
 export const ExtraItems = [
68 68
   {
69 69
     icon: <Star />,
70
-    route: 'work',
70
+    route: 'elementos',
71 71
     title: 'Elementos'
72 72
   },
73 73
   {
74 74
     icon: <OndemandVideo />,
75
-    route: 'worktwo',
75
+    route: 'tutoriales',
76 76
     title: 'Tutoriales'
77 77
   },
78 78
   {
79 79
     icon: <SupportAgent />,
80
-    route: 'worktree',
80
+    route: 'help',
81 81
     title: 'Asistencia Técnica'
82 82
   },
83 83
 ]