Compare commits
No commits in common. "adf82b3dd60324785660fd3534c48f6bc321a2bc" and "4f17c5164a44d6ad93f31e04297ec051979ee230" have entirely different histories.
adf82b3dd6
...
4f17c5164a
@ -39,7 +39,7 @@ h2 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.browser {
|
.browser {
|
||||||
height: 9.267rem;
|
height: 8.667rem;
|
||||||
font-weight: 800 !important;
|
font-weight: 800 !important;
|
||||||
color: $disabled-grey !important;
|
color: $disabled-grey !important;
|
||||||
border: 1px solid $disabled-grey;
|
border: 1px solid $disabled-grey;
|
||||||
|
@ -12,7 +12,6 @@ enum taskState {
|
|||||||
|
|
||||||
type Screenshot = {
|
type Screenshot = {
|
||||||
url: string;
|
url: string;
|
||||||
thumb_url: string;
|
|
||||||
domain: string;
|
domain: string;
|
||||||
filename: string;
|
filename: string;
|
||||||
found_headers: string[];
|
found_headers: string[];
|
||||||
@ -73,19 +72,15 @@ export default function ScreenshotGenerator({
|
|||||||
const [output, setOutput] = React.useState<any>({});
|
const [output, setOutput] = React.useState<any>({});
|
||||||
const [currentAction, setCurrentAction] = React.useState<string>('');
|
const [currentAction, setCurrentAction] = React.useState<string>('');
|
||||||
const [preview, setPreview] = React.useState<string>('');
|
const [preview, setPreview] = React.useState<string>('');
|
||||||
const [lastPreview, setLastPreview] = React.useState<string>('');
|
|
||||||
|
|
||||||
async function subscribeTask(path: string): Promise<screenshotTask> {
|
async function subscribeTask(path: string): Promise<screenshotTask> {
|
||||||
let response = { status: taskState.WAITING };
|
let response = { status: taskState.WAITING };
|
||||||
let last_preview = '';
|
|
||||||
while (response.status === taskState.WAITING || response.status === taskState.RUNNING) {
|
while (response.status === taskState.WAITING || response.status === taskState.RUNNING) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||||
response = await (await pollTask(path)).json();
|
response = await (await pollTask(path)).json();
|
||||||
setImages((response as screenshotTask)?.images);
|
setImages((response as screenshotTask)?.images);
|
||||||
setCurrentAction((response as screenshotTask)?.current_action);
|
setCurrentAction((response as screenshotTask)?.current_action);
|
||||||
setLastPreview(last_preview);
|
|
||||||
setPreview((response as screenshotTask)?.preview);
|
setPreview((response as screenshotTask)?.preview);
|
||||||
last_preview = (response as screenshotTask)?.preview;
|
|
||||||
document.querySelector('.images')?.scrollTo({
|
document.querySelector('.images')?.scrollTo({
|
||||||
top: document.querySelector('.images')?.scrollHeight,
|
top: document.querySelector('.images')?.scrollHeight,
|
||||||
behavior: 'smooth',
|
behavior: 'smooth',
|
||||||
@ -157,17 +152,11 @@ export default function ScreenshotGenerator({
|
|||||||
className="sv_next_btn"
|
className="sv_next_btn"
|
||||||
onClick={async () => {
|
onClick={async () => {
|
||||||
setMode('in_progress');
|
setMode('in_progress');
|
||||||
const task = await createTask(
|
const task = await createTask(visited_url, Object.keys(clusters));
|
||||||
visited_url,
|
|
||||||
Object.values(clusters)
|
|
||||||
.filter((cluster) => cluster.hasMarks())
|
|
||||||
.map((cluster) => cluster.id)
|
|
||||||
);
|
|
||||||
const urlArr = task.url.split('/');
|
const urlArr = task.url.split('/');
|
||||||
setTaskId(urlArr[urlArr.length - 1]);
|
setTaskId(urlArr[urlArr.length - 1]);
|
||||||
const response = await subscribeTask(task.url);
|
const response = await subscribeTask(task.url);
|
||||||
setImages(response.images);
|
setImages(response.images);
|
||||||
setLastPreview(preview);
|
|
||||||
setPreview(response.preview);
|
setPreview(response.preview);
|
||||||
setOutput(response);
|
setOutput(response);
|
||||||
setRequestPath(response.zip_url);
|
setRequestPath(response.zip_url);
|
||||||
@ -201,29 +190,13 @@ export default function ScreenshotGenerator({
|
|||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
<div className="images">
|
<div className="images">
|
||||||
{mode === 'in_progress' ? (
|
|
||||||
<div
|
|
||||||
className="browser"
|
|
||||||
style={{
|
|
||||||
backgroundImage: `url(${SS_URL}${preview})${
|
|
||||||
lastPreview ? `, url(${SS_URL}${lastPreview})` : ''
|
|
||||||
}`,
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<div className="browser__header browser__header--in_progress">
|
|
||||||
<div className="browser__header--address-bar"></div>
|
|
||||||
<div className="browser__header--controls">· · ·</div>
|
|
||||||
</div>
|
|
||||||
<div className="browser__content"></div>
|
|
||||||
</div>
|
|
||||||
) : null}
|
|
||||||
{images.map((screenshot) => {
|
{images.map((screenshot) => {
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
key={`${taskId}_${screenshot.url}`}
|
key={`${taskId}_${screenshot.url}`}
|
||||||
className="browser browser--filled"
|
className="browser browser--filled"
|
||||||
style={{
|
style={{
|
||||||
backgroundImage: `url(${SS_URL}${screenshot.thumb_url})`,
|
backgroundImage: `url(${SS_URL}${screenshot.url})`,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div className="browser__header">
|
<div className="browser__header">
|
||||||
@ -236,6 +209,21 @@ export default function ScreenshotGenerator({
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
|
|
||||||
|
{mode === 'in_progress' ? (
|
||||||
|
<div
|
||||||
|
className="browser"
|
||||||
|
style={{
|
||||||
|
backgroundImage: `url(${SS_URL}${preview})`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div className="browser__header browser__header--in_progress">
|
||||||
|
<div className="browser__header--address-bar"></div>
|
||||||
|
<div className="browser__header--controls">· · ·</div>
|
||||||
|
</div>
|
||||||
|
<div className="browser__content"></div>
|
||||||
|
</div>
|
||||||
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="buttons-container">
|
<div className="buttons-container">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user