import apiFetch from '@wordpress/api-fetch';
import { Spinner } from '@wordpress/components';
import { useEffect, useState, forwardRef, useRef } from '@wordpress/element';
import { __, sprintf } from '@wordpress/i18n';
import { Dialog } from '@headlessui/react';
import classnames from 'classnames';
import { AnimatePresence, motion } from 'framer-motion';
import { useUserSelectionStore } from '@launch/state/user-selections';
export const RestartLaunchModal = ({ setPage }) => {
const oldPages = window.extOnbData.resetSiteInformation.pagesIds ?? [];
const oldNavigations =
window.extOnbData.resetSiteInformation.navigationsIds ?? [];
const templatePartsIds =
window.extOnbData.resetSiteInformation.templatePartsIds ?? [];
const { resetState } = useUserSelectionStore();
const [open, setOpen] = useState(false);
const [processing, setProcessing] = useState(false);
const initialFocus = useRef(null);
const handleExit = () =>
(window.location.href = `${window.extSharedData.adminUrl}admin.php?page=extendify-assist`);
const handleOk = async () => {
setProcessing(true);
resetState();
for (const pageId of oldPages) {
try {
await apiFetch({
path: `/wp/v2/pages/${pageId}`,
method: 'DELETE',
});
} catch (responseError) {
console.warn(
`delete pages failed to delete a page (id: ${pageId}) with the following error`,
responseError,
);
}
}
// delete the wp_navigation posts created by Launch
for (const navigationId of oldNavigations) {
try {
await apiFetch({
path: `/wp/v2/navigation/${navigationId}`,
method: 'DELETE',
});
} catch (responseError) {
console.warn(
`delete navigation failed to delete a navigation (id: ${navigationId}) with the following error`,
responseError,
);
}
}
for (const template of templatePartsIds) {
try {
await apiFetch({
path: `/wp/v2/template-parts/${template}?force=true`,
method: 'DELETE',
});
} catch (responseError) {
console.warn(
`delete template failed to delete template (id: ${template}) with the following error`,
responseError,
);
}
}
setOpen(false);
};
useEffect(() => {
if (oldPages.length > 0) {
setOpen(true);
setPage(0);
}
}, [oldPages.length, setOpen, setPage]);
return (
{open && (
null}>
{__('Start over?', 'extendify-local')}
{__(
'Go through the onboarding process again to create a new site.',
'extendify-local',
)}
{sprintf(
// translators: %3$s is the number of old pages
__(
'%s pages created in the prior onboarding session will be deleted.',
'extendify-local',
),
oldPages.length,
)}
{__('Exit', 'extendify-local')}
{!processing ? (
__('Continue', 'extendify-local')
) : (
{__('Processing', 'extendify-local')}
)}
)}
);
};
const NavigationButton = forwardRef((props, ref) => {
return (
{props.children}
);
});
# Security Policy
## Reporting Security Bugs
Please report security bugs found in the LiteSpeed Cache plugin's source code through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/litespeed-cache). The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin.
// Front end editor
@import "config/variables.less";
// Base file
.wpb-js-composer {
@import "shortcodes/vc_tta.less";
}
Skip to content
Tragamonedas en línea en Perú Pinup casino online Content Bonos y torneos en PinUp casino Soporte al cliente excepcional Tu primer depósito puede ser el inicio de grandes ganancias en Pinup Casino Haz tus sueños realidad con la emoción de ganar en Pinup Casino Interfaz y controles del juego de Aviator Los 6 mejores juegos …
Tragamonedas en línea en Per Read More »
Apuestas Deportivas En Línea Bonos de casino online Pin-up en Peru Codigos Promocionales Content Una experiencia emocionante en Pin-up Casino Bonificación de bienvenida Apuestas Deportivas ¿Es realista cambiar mi dirección de correo electrónico y cómo hacerlo? Apuestas en vivo Reglas de retiro de bonificación Ventajas de Pinup online Casino Perú ¿Qué es el contacto con …
Apuestas Deportivas En Líne Read More »