aboutsummaryrefslogtreecommitdiff
path: root/modern/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/common')
-rw-r--r--modern/src/common/components/BottomMenu.js4
-rw-r--r--modern/src/common/util/permissions.js14
2 files changed, 9 insertions, 9 deletions
diff --git a/modern/src/common/components/BottomMenu.js b/modern/src/common/components/BottomMenu.js
index 37bdcf10..504e642a 100644
--- a/modern/src/common/components/BottomMenu.js
+++ b/modern/src/common/components/BottomMenu.js
@@ -13,7 +13,7 @@ import ExitToAppIcon from '@mui/icons-material/ExitToApp';
import { sessionActions } from '../../store';
import { useTranslation } from './LocalizationProvider';
-import { useReadonly } from '../util/permissions';
+import { useRestriction } from '../util/permissions';
const BottomMenu = () => {
const navigate = useNavigate();
@@ -21,7 +21,7 @@ const BottomMenu = () => {
const dispatch = useDispatch();
const t = useTranslation();
- const readonly = useReadonly();
+ const readonly = useRestriction('readonly');
const userId = useSelector((state) => state.session.user.id);
const socket = useSelector((state) => state.session.socket);
diff --git a/modern/src/common/util/permissions.js b/modern/src/common/util/permissions.js
index c866c41e..76e0aa58 100644
--- a/modern/src/common/util/permissions.js
+++ b/modern/src/common/util/permissions.js
@@ -11,13 +11,6 @@ export const useManager = () => useSelector((state) => {
return admin || manager;
});
-export const useReadonly = () => useSelector((state) => {
- const admin = state.session.user.administrator;
- const serverReadonly = state.session.server.readonly;
- const userReadonly = state.session.user.readonly;
- return !admin && (serverReadonly || userReadonly);
-});
-
export const useDeviceReadonly = () => useSelector((state) => {
const admin = state.session.user.administrator;
const serverReadonly = state.session.server.readonly;
@@ -26,3 +19,10 @@ export const useDeviceReadonly = () => useSelector((state) => {
const userDeviceReadonly = state.session.user.deviceReadonly;
return !admin && (serverReadonly || userReadonly || serverDeviceReadonly || userDeviceReadonly);
});
+
+export const useRestriction = (key) => useSelector((state) => {
+ const admin = state.session.user.administrator;
+ const serverValue = state.session.server[key];
+ const userValue = state.session.user[key];
+ return !admin && (serverValue || userValue);
+});