fix home selectedStyle

This commit is contained in:
plebbitor
2023-03-21 11:17:54 +01:00
parent f749e069df
commit 09a7b3247f
8 changed files with 30 additions and 35 deletions
+8 -4
View File
@@ -58,6 +58,7 @@ export default function App() {
} = useAppStore(state => state); } = useAppStore(state => state);
const location = useLocation(); const location = useLocation();
const isHomeRoute = location.pathname === "/";
// preload images // preload images
@@ -70,10 +71,13 @@ export default function App() {
// automatic dark mode without interefering with user's selected style // automatic dark mode without interefering with user's selected style
useEffect(() => { useEffect(() => {
if (isHomeRoute) return;
const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
const isDarkMode = darkModeMediaQuery.matches; const isDarkMode = darkModeMediaQuery.matches;
if (isDarkMode) { if (isDarkMode && !isHomeRoute) {
setSelectedStyle('Tomorrow'); setSelectedStyle('Tomorrow');
setBodyStyle({ setBodyStyle({
background: '#1d1f21 none', background: '#1d1f21 none',
@@ -84,7 +88,7 @@ export default function App() {
} }
const darkModeListener = (e) => { const darkModeListener = (e) => {
if (e.matches) { if (e.matches && !isHomeRoute) {
setSelectedStyle('Tomorrow'); setSelectedStyle('Tomorrow');
setBodyStyle({ setBodyStyle({
background: '#1d1f21 none', background: '#1d1f21 none',
@@ -100,8 +104,8 @@ export default function App() {
return () => { return () => {
darkModeMediaQuery.removeEventListener('change', darkModeListener); darkModeMediaQuery.removeEventListener('change', darkModeListener);
}; };
}, []); }, [isHomeRoute]);
// fetch default subplebbits // fetch default subplebbits
useEffect(() => { useEffect(() => {
let didCancel = false; let didCancel = false;
+1 -1
View File
@@ -303,4 +303,4 @@ const CaptchaModal = ({ isOpen, closeModal, captchaImage }) => {
Modal.setAppElement('#root'); Modal.setAppElement('#root');
export default CaptchaModal; export default CaptchaModal;
+1 -1
View File
@@ -48,4 +48,4 @@ const CatalogLoader = () => {
); );
}; };
export default CatalogLoader; export default CatalogLoader;
+1 -1
View File
@@ -37,4 +37,4 @@ function importAll(r) {
return r.keys().map(r); return r.keys().map(r);
} }
export default ImageBanner; export default ImageBanner;
+1 -1
View File
@@ -41,4 +41,4 @@ const PostLoader = () => {
); );
}; };
export default PostLoader; export default PostLoader;
+1 -1
View File
@@ -291,4 +291,4 @@ const ReplyModal = ({ isOpen, closeModal }) => {
Modal.setAppElement('#root'); Modal.setAppElement('#root');
export default ReplyModal; export default ReplyModal;
+16 -25
View File
@@ -1,13 +1,25 @@
import React, { useState, useEffect } from 'react'; import React, { useEffect } from 'react';
import useAppStore from '../../useAppStore'; import useAppStore from '../../useAppStore';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { Container, Header, Logo, Page, Search, About, AboutTitle, AboutContent, Boards, BoardsTitle, BoardsContent, Footer } from './styles/Home.styled'; import { Container, Header, Logo, Page, Search, About, AboutTitle, AboutContent, Boards, BoardsTitle, BoardsContent, Footer } from './styles/Home.styled';
const Home = ({ setBodyStyle }) => { const Home = () => {
const [defaultSubplebbits, setDefaultSubplebbits] = useState([]); const {
const { setSelectedTitle, setSelectedAddress, setSelectedStyle } = useAppStore(state => state); setBodyStyle,
defaultSubplebbits,
setSelectedAddress,
setSelectedStyle,
setSelectedTitle
} = useAppStore(state => state);
const handleClick = (title, address) => {
setSelectedTitle(title);
setSelectedAddress(address);
}
// prevent dark mode
useEffect(() => { useEffect(() => {
setBodyStyle({ setBodyStyle({
background: "#ffe url(/assets/fade.png) top repeat-x", background: "#ffe url(/assets/fade.png) top repeat-x",
@@ -17,28 +29,7 @@ const Home = ({ setBodyStyle }) => {
setSelectedStyle("Yotsuba"); setSelectedStyle("Yotsuba");
}, [setBodyStyle, setSelectedStyle]); }, [setBodyStyle, setSelectedStyle]);
const handleClick = (title, address) => {
setSelectedTitle(title);
setSelectedAddress(address);
}
useEffect(() => {
let didCancel = false;
fetch(
"https://raw.githubusercontent.com/plebbit/temporary-default-subplebbits/master/subplebbits.json",
{ cache: "no-cache" }
)
.then((res) => res.json())
.then(res => {
if (!didCancel) {
setDefaultSubplebbits(res);
}
});
return () => {
didCancel = true;
};
}, []);
return ( return (
<Container> <Container>
<Header> <Header>
+1 -1
View File
@@ -29,4 +29,4 @@ const useClickForm = () => {
return handleClickForm; return handleClickForm;
}; };
export default useClickForm; export default useClickForm;