aboutsummaryrefslogtreecommitdiff
path: root/modern/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/common')
-rw-r--r--modern/src/common/preferences.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/modern/src/common/preferences.js b/modern/src/common/preferences.js
new file mode 100644
index 0000000..24fe389
--- /dev/null
+++ b/modern/src/common/preferences.js
@@ -0,0 +1,21 @@
+import { useSelector } from 'react-redux';
+
+export const usePreference = (key, defaultValue) => {
+ return useSelector(state => {
+ if (state.session.server.forceSettings) {
+ return state.session.server[key] || state.session.user[key] || defaultValue;
+ } else {
+ return state.session.user[key] || state.session.server[key] || defaultValue;
+ }
+ });
+};
+
+export const useAttributePreference = (key, defaultValue) => {
+ return useSelector(state => {
+ if (state.session.server.forceSettings) {
+ return state.session.server.attributes[key] || state.session.user.attributes[key] || defaultValue;
+ } else {
+ return state.session.user.attributes[key] || state.session.server.attributes[key] || defaultValue;
+ }
+ });
+};