From be572b07a419d2f652bb1067430437b29aa4100f Mon Sep 17 00:00:00 2001 From: Pasq G Date: Wed, 11 Dec 2024 20:23:11 +0100 Subject: [PATCH] Semblen estabilitzats els elements condicionals privilegiats --- imports/ui/App.jsx | 12 +++++------ imports/ui/BarraNav/BarraNav.jsx | 37 +++++++++++++++++++++----------- imports/ui/BarraNav/UserStat.jsx | 20 ++++++++--------- package-lock.json | 35 ++++++++++++------------------ package.json | 7 +++--- 5 files changed, 56 insertions(+), 55 deletions(-) diff --git a/imports/ui/App.jsx b/imports/ui/App.jsx index e8d2ad0..9418765 100644 --- a/imports/ui/App.jsx +++ b/imports/ui/App.jsx @@ -15,16 +15,14 @@ import { Usuaris } from './Usuaris'; const Loguejat = lazy(async () => await import('/imports/ui/Loguejat.jsx')); - - export const App = () => { const user = useTracker("user", async () => await Meteor.userAsync()); + const userId = Meteor.userId(); const [esAdministrador, setEsAdministrador] = useState(false); - const u = useTracker("user", async () => await Meteor.userAsync()); - const userId = Meteor.userId(); + // const u = useTracker("user", async () => await Meteor.userAsync()); useEffect(() => { @@ -32,13 +30,13 @@ export const App = () => { const comprovaAdmin = await Roles.userIsInRoleAsync(userId, ["admin"]); setEsAdministrador(comprovaAdmin); })(); -}, []); +}, [user]); // const userId = await Meteor.userAsync(); return - + {Meteor.userId() && } - + Carregant...}>{user ? : } } /> diff --git a/imports/ui/BarraNav/BarraNav.jsx b/imports/ui/BarraNav/BarraNav.jsx index 223d1fe..6e7dc86 100644 --- a/imports/ui/BarraNav/BarraNav.jsx +++ b/imports/ui/BarraNav/BarraNav.jsx @@ -3,21 +3,34 @@ import { Link } from 'react-router-dom'; import { Roles } from 'meteor/roles'; import { PanellSeccions } from "./PanellSeccions/PanellSeccions"; -const SeccióPobles = lazy(async () => await import('/imports/ui/BarraNav/PanellSeccions/PanellSeccions.jsx')); -const SeccióNecessitats = lazy(async () => await import('/imports/ui/BarraNav/PanellSeccions/PanellSeccions.jsx')); -const SeccióTipus = lazy(async () => await import('/imports/ui/BarraNav/PanellSeccions/PanellSeccions.jsx')); +const SeccióPobles = lazy(async () => { + const module = await import('/imports/ui/BarraNav/PanellSeccions/PanellSeccions.jsx'); + return ({ default: module.SeccióPobles }); +}); +const SeccióNecessitats = lazy(async () => { + const module = await import('/imports/ui/BarraNav/PanellSeccions/PanellSeccions.jsx'); + return ({ default: module.SeccióNecessitats }); +}); +const SeccióTipus = lazy(async () => { + const module = await import('/imports/ui/BarraNav/PanellSeccions/PanellSeccions.jsx'); + return ({ default: module.SeccióTipus }); +}); +const SeccióUsuaris = lazy(async () => { + const module = await import('/imports/ui/BarraNav/PanellSeccions/PanellSeccions.jsx'); + return ({ default: module.SeccióUsuaris }); +}); -const BarraNav = () => { - const [esAdministrador, setEsAdministrador] = useState(false); - const userId = Meteor.userId(); +const BarraNav = ({esAdministrador, setEsAdministrador}) => { + const userId = Meteor.userId(); + // const [esAdministrador, setEsAdministrador] = useState(false); - useEffect(() => { - (async () => { - const comprovaAdmin = await Roles.userIsInRoleAsync(userId, ["admin"]); - setEsAdministrador(comprovaAdmin); - })(); - }, []); + // useEffect(() => { + // (async () => { + // const comprovaAdmin = await Roles.userIsInRoleAsync(userId, ["admin"]); + // setEsAdministrador(comprovaAdmin); + // })(); + // }, [esAdministrador]); return diff --git a/imports/ui/BarraNav/UserStat.jsx b/imports/ui/BarraNav/UserStat.jsx index cd4ff2b..52d8070 100644 --- a/imports/ui/BarraNav/UserStat.jsx +++ b/imports/ui/BarraNav/UserStat.jsx @@ -27,20 +27,20 @@ const IndicadorMissatges = ({notif}) => { ; }; -const UserStat = ({setEditaPerfil}) => { +const UserStat = ({esAdministrador, setEsAdministrador}) => { - const [esAdministrador, setEsAdministrador] = useState(false); + // const [esAdministrador, setEsAdministrador] = useState(false); const u = useTracker("user", async () => await Meteor.userAsync()); const userId = Meteor.userId(); - useEffect(() => { - // (async () => { - const comprovaAdmin = Roles.userIsInRole(userId, ["admin"]); - setEsAdministrador(comprovaAdmin); - // })()1 - }, []); + // useEffect(() => { + // (async () => { + // const comprovaAdmin = await Roles.userIsInRoleAsync(userId, ["admin"]); + // setEsAdministrador(comprovaAdmin); + // })(); + // }, [Meteor.userId()]); // const u = useUserContext(); @@ -96,7 +96,7 @@ const UserStat = ({setEditaPerfil}) => { }} > - { u && esAdministrador &&
{ margin: `0.3em 0.3em 0.3em auto` }}>{u?.username} - - =0.10.0" } }, "node_modules/react-dom": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0-rc.1.tgz", - "integrity": "sha512-k8MfDX+4G+eaa1cXXI9QF4d+pQtYol3nx8vauqRWUEOPqC7NQn2qmEqUsLoSd28rrZUL+R3T2VC+kZ2Hyx1geQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", + "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", "license": "MIT", "dependencies": { - "scheduler": "0.25.0-rc.1" + "scheduler": "^0.25.0" }, "peerDependencies": { - "react": "19.0.0-rc.1" + "react": "^19.0.0" } }, "node_modules/react-is": { @@ -2127,9 +2126,9 @@ } }, "node_modules/scheduler": { - "version": "0.25.0-rc.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0-rc.1.tgz", - "integrity": "sha512-fVinv2lXqYpKConAMdergOl5owd0rY1O4P/QTe0aWKCqGtu7VsCt1iqQFxSJtqK4Lci/upVSBpGwVC7eWcuS9Q==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", "license": "MIT" }, "node_modules/shallowequal": { @@ -2202,12 +2201,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tailwindcss": { - "version": "4.0.0-beta.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.0-beta.4.tgz", - "integrity": "sha512-mkjpwMyaHCa3L5HmRjYyY8w8D+7brxwbM7YQxH8QeEFtCURd5fvdHIC9TEpIaL1X49vhl8cuOFY6Nhi6sCsI5w==", - "license": "MIT" - }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", diff --git a/package.json b/package.json index 8cff0be..279ce12 100644 --- a/package.json +++ b/package.json @@ -10,12 +10,11 @@ "dependencies": { "@babel/runtime": "^7.20.7", "meteor-node-stubs": "^1.2.5", - "react": "19.0.0-rc.1", - "react-dom": "19.0.0-rc.1", + "react": "19", + "react-dom": "19", "react-router-dom": "^6.28.0", "react-select": "^5.8.3", - "styled-components": "^6.1.13", - "tailwindcss": "^4.0.0-beta.4" + "styled-components": "^6.1.13" }, "meteor": { "mainModule": {