-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathuseCustomSettings.ts
More file actions
94 lines (86 loc) · 2.64 KB
/
useCustomSettings.ts
File metadata and controls
94 lines (86 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import { WidgetProps } from "../types";
import { useEffect } from "react";
import { useDispatch } from "react-redux";
import {
setCustomDestNetworks,
setCustomSourceNetworks,
setDefaultDestNetwork,
setDefaultSourceNetwork,
setDefaultSourceToken,
setDefaultDestToken,
} from "../state/customSettingsSlice";
// To set custom chains, tokens, default values passed as props
export const useCustomSettings = (props: WidgetProps) => {
const {
sourceNetworks,
destNetworks,
defaultSourceNetwork,
defaultDestNetwork,
defaultSourceToken,
defaultDestToken,
customize,
} = props;
const dispatch = useDispatch();
useEffect(() => {
sourceNetworks && dispatch(setCustomSourceNetworks(sourceNetworks));
}, [sourceNetworks]);
useEffect(() => {
destNetworks && dispatch(setCustomDestNetworks(destNetworks));
}, [destNetworks]);
useEffect(() => {
defaultSourceNetwork &&
dispatch(setDefaultSourceNetwork(defaultSourceNetwork));
}, [defaultSourceNetwork]);
useEffect(() => {
defaultDestNetwork && dispatch(setDefaultDestNetwork(defaultDestNetwork));
}, [defaultDestNetwork]);
useEffect(() => {
defaultSourceToken && dispatch(setDefaultSourceToken(defaultSourceToken));
}, [defaultSourceToken]);
useEffect(() => {
defaultDestToken && dispatch(setDefaultDestToken(defaultDestToken));
}, [defaultDestToken]);
// Theme
useEffect(() => {
customize?.accent &&
document.documentElement.style.setProperty(
"--socket-widget-accent-color",
customize.accent
);
customize?.onAccent &&
document.documentElement.style.setProperty(
"--socket-widget-on-accent-color",
customize.onAccent
);
customize?.primary &&
document.documentElement.style.setProperty(
"--socket-widget-primary-color",
customize.primary
);
customize?.secondary &&
document.documentElement.style.setProperty(
"--socket-widget-secondary-color",
customize.secondary
);
customize?.text &&
document.documentElement.style.setProperty(
"--socket-widget-primary-text-color",
customize.text
);
customize?.secondaryText &&
document.documentElement.style.setProperty(
"--socket-widget-secondary-text-color",
customize.secondaryText
);
customize?.interactive &&
document.documentElement.style.setProperty(
"--socket-widget-interactive",
customize.interactive
);
customize?.onInteractive &&
document.documentElement.style.setProperty(
"--socket-widget-on-interactive",
customize.onInteractive
);
}, [customize]);
};