mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
added clear cache functionality
This commit is contained in:
@@ -1,8 +1,11 @@
|
|||||||
import React, { useState } from "react";
|
import React, { useState, useEffect } from "react";
|
||||||
import { StyledModal } from "./styled/SettingsModal.styled";
|
|
||||||
import { Link, useLocation, useNavigate } from "react-router-dom";
|
import { Link, useLocation, useNavigate } from "react-router-dom";
|
||||||
import Modal from "react-modal";
|
import Modal from "react-modal";
|
||||||
|
import { deleteCaches } from "@plebbit/plebbit-react-hooks";
|
||||||
|
import { StyledModal } from "./styled/SettingsModal.styled";
|
||||||
import useGeneralStore from "../hooks/stores/useGeneralStore";
|
import useGeneralStore from "../hooks/stores/useGeneralStore";
|
||||||
|
import useError from "../hooks/useError";
|
||||||
|
import useSuccess from "../hooks/useSuccess";
|
||||||
|
|
||||||
const customOverlayStyles = {
|
const customOverlayStyles = {
|
||||||
overlay: {
|
overlay: {
|
||||||
@@ -15,6 +18,10 @@ const SettingsModal = ({ isOpen, closeModal }) => {
|
|||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
const [expanded, setExpanded] = useState([]);
|
const [expanded, setExpanded] = useState([]);
|
||||||
|
const [errorMessage, setErrorMessage] = useState(null);
|
||||||
|
const [successMessage, setSuccessMessage] = useState(null);
|
||||||
|
useError(errorMessage, [errorMessage]);
|
||||||
|
useSuccess(successMessage, [successMessage]);
|
||||||
|
|
||||||
const handleCloseModal = () => {
|
const handleCloseModal = () => {
|
||||||
closeModal();
|
closeModal();
|
||||||
@@ -46,6 +53,12 @@ const SettingsModal = ({ isOpen, closeModal }) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (localStorage.getItem("cacheCleared") === "true") {
|
||||||
|
setSuccessMessage("Cache Cleared");
|
||||||
|
localStorage.removeItem("cacheCleared");
|
||||||
|
}
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -149,7 +162,18 @@ const SettingsModal = ({ isOpen, closeModal }) => {
|
|||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
<div>
|
<div>
|
||||||
<button className="cache-button">Clear Cache</button>
|
<button
|
||||||
|
className="cache-button"
|
||||||
|
onClick={async () => {
|
||||||
|
if (window.confirm("Are you sure you want to clear the cache?")) {
|
||||||
|
await deleteCaches();
|
||||||
|
localStorage.setItem("cacheCleared", "true");
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Clear Cache
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div className="center">
|
<div className="center">
|
||||||
<button className="save-button">Save</button>
|
<button className="save-button">Save</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user