Report window to handle refreshes properly

This commit is contained in:
Kuba Orlik 2022-02-10 20:03:48 +01:00
parent 473424d88d
commit 468391489c
1 changed files with 63 additions and 52 deletions

View File

@ -10,10 +10,13 @@ import { parseAnswers, ParsedAnswers } from './parse-answers';
function Report() {
try {
const origin = new URL(document.location.toString()).searchParams.get('origin');
const url = new URL(document.location.toString());
const origin = url.searchParams.get('origin');
const [counter] = useEmitter(getMemory());
const [answers, setAnswers] = React.useState<ParsedAnswers>(null);
const [mode, setMode] = React.useState('survey');
const [answers, setAnswers] = React.useState<ParsedAnswers>(
url.searchParams.get('answers') ? JSON.parse(url.searchParams.get('answers')) : null
);
const [mode, setMode] = React.useState(url.searchParams.get('mode') || 'survey');
const clusters = getMemory().getClustersForOrigin(origin);
/* const [entries, setEntries] = React.useState<StolenDataEntry[]>([]); */
/* React.useEffect(() => {
@ -30,6 +33,14 @@ function Report() {
/* if (entries.length == 0) {
* return <>Wczytywanie...</>;
* } */
React.useEffect(() => {
const url = new URL(document.location.toString());
url.searchParams.set('origin', origin);
url.searchParams.set('answers', JSON.stringify(answers));
url.searchParams.set('mode', mode);
history.pushState({}, 'Rentgen', url.toString());
}, [mode, answers, origin]);
const visited_url = Object.values(clusters)
.find((cluster) => cluster.getMarkedRequests().length > 0)
?.getMarkedRequests()[0].originalURL;