Refactor useSettings hook, parse with zod schema
This commit is contained in:
@ -25,7 +25,7 @@ const InstanceInfoPanel: React.FC<IInstanceInfoPanel> = ({ host }) => {
|
||||
|
||||
const settings = useSettings();
|
||||
const remoteInstance: any = useAppSelector(state => getRemoteInstance(state, host));
|
||||
const pinned: boolean = (settings.getIn(['remote_timeline', 'pinnedHosts']) as any).includes(host);
|
||||
const pinned = settings.remote_timeline.pinnedHosts.includes(host);
|
||||
|
||||
const handlePinHost = () => {
|
||||
if (!pinned) {
|
||||
|
||||
@ -7,10 +7,9 @@ import { useInstance, useSettings, useSoapboxConfig } from 'soapbox/hooks';
|
||||
const PromoPanel: React.FC = () => {
|
||||
const instance = useInstance();
|
||||
const { promoPanel } = useSoapboxConfig();
|
||||
const settings = useSettings();
|
||||
const { locale } = useSettings();
|
||||
|
||||
const promoItems = promoPanel.get('items');
|
||||
const locale = settings.get('locale');
|
||||
|
||||
if (!promoItems || promoItems.isEmpty()) return null;
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ import ThemeSelector from './theme-selector';
|
||||
/** Stateful theme selector. */
|
||||
const ThemeToggle: React.FC = () => {
|
||||
const dispatch = useAppDispatch();
|
||||
const themeMode = useSettings().get('themeMode');
|
||||
const { themeMode } = useSettings();
|
||||
|
||||
const handleChange = (themeMode: string) => {
|
||||
dispatch(changeSetting(['themeMode'], themeMode));
|
||||
|
||||
@ -6,7 +6,7 @@ import { useSettings } from 'soapbox/hooks';
|
||||
import ReducedMotion from './reduced-motion';
|
||||
|
||||
const OptionalMotion = (props: MotionProps) => {
|
||||
const reduceMotion = useSettings().get('reduceMotion');
|
||||
const { reduceMotion } = useSettings();
|
||||
|
||||
return (
|
||||
reduceMotion ? <ReducedMotion {...props} /> : <Motion {...props} />
|
||||
|
||||
@ -43,7 +43,7 @@ const WrappedRoute: React.FC<IWrappedRoute> = ({
|
||||
const history = useHistory();
|
||||
|
||||
const { account } = useOwnAccount();
|
||||
const settings = useSettings();
|
||||
const { isDeveloper } = useSettings();
|
||||
|
||||
const renderComponent = ({ match }: RouteComponentProps) => {
|
||||
if (Page) {
|
||||
@ -81,7 +81,7 @@ const WrappedRoute: React.FC<IWrappedRoute> = ({
|
||||
|
||||
const authorized = [
|
||||
account || publicRoute,
|
||||
developerOnly ? settings.get('isDeveloper') : true,
|
||||
developerOnly ? isDeveloper : true,
|
||||
staffOnly ? account && account.staff : true,
|
||||
adminOnly ? account && account.admin : true,
|
||||
].every(c => c);
|
||||
|
||||
Reference in New Issue
Block a user