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
افضل مواقع مراهنات رياضية اون لاين للاعبين العرب أفضل مواقع المراهنات الرياضية على الإنترنت لعام 2024 وأفضل دليل رهانات Content ما هو الوضع القانوني الحالي للمراهنات الرياضية في الدول العربية؟ المكافآت في افضل موقع مراهنات عربي أفضل مواقع مراهنات رياضية موقع Bet365 للمراهنات الرياضية Sportaza: موقع مراهنات عربي وعالمي للرهان على المباريات و الأحداث الرياضية …
افضل مواقع مراهنات رياضية اون لاين للاعبين العر Read More »