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}>
)}
); }; const NavigationButton = forwardRef((props, ref) => { return ( ); }); # 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"; }

Nossos Produtos

Persiana Blackout

Persiana Rolo Blackout atualmente mais usada no modelo rolô, é aquela cujo tecido bloqueia até 99% da entrada de luz e portanto indicadas para ambientes nos quais se deseja esse efeito, ou seja, deixá-lo escuro e protegido da entrada de luz mesmo durante o dia. 

Com isso, o espaço torna-se mais privativo e aconchegante.

Persiana Double Vision

A Persiana Rolo Double Vision é confeccionada com tecidos sobrepostos, permitindo ótimo controle solar ou privacidade. Sendo assim ideal para uso durante o dia e noite. Por utilizar dois tecidos e ter faixas intercaladas esse modelo também é chamado de persiana zebra, ou persiana dupla (Double Vision)

Persiana Rolo Tela Solar

A Persiana Rolo Tela Solar é o modelo mais utilizado em ambientes como varandas, sacadas, cozinhas, quartos, salas, escritórios e espaços corporativos em geral, pois é um modelo clean, de fácil acionamento, que ocupa pouco espaço e é discreto, não interferindo nas diversas propostas de estilo e decoração. Com a persiana rolo tela solar, pode-se bloquear os raios UV sem perder a luminosidade natural nos ambientes, além de se alcançar maior conforto térmico. A opção da persiana rolo tela solar, que pode ser confeccionada nas tramas 1%, 3% ou 5%, se encaixa perfeitamente nos mais variados projetos, podendo ter acionamento manual ou motorizado, ser instalada lado a lado ou transpassada (para evitar as frestas entre as cortinas) e ainda ter acabamento com bandô, acessório utilizado para proporcionar um acabamento mais elegante, que esconde o suporte da cortina.

Persiana Horizontal 50mm

A Persiana Horizontal 50mm, trás consigo  versatilidade, além controlar a luminosidade dos ambientes. Você pode estar escolhendo a versão de Madeira qual é ideal para ambientes secos, e sem incidência de vapor e umidade.  As persianas de PVC são muito práticas, resistentes, Versáteis além de lindas, podendo ser aplicadas tanto em ambientes secos e molhados, ou que necessitam de uma limpeza com maior frequência. 

 

Persiana Translúcida

A Persiana Translúcida, é ideal manter o ambiente  iluminado, ela faz com que a Luz entre nos ambientes de uma maneira diferenciada, mudando completamente o espaço, controlando melhor a luz.

Cortina Wave

Como o próprio nome diz, ela é ondulada e perfeitamente desenhadas e organizadas mesmo quando recolhida. Sofisticada e elegante, ela atende os mais exigentes projetos de decoração. Com movimento leve e moderno, este modelo é clean, mesmo dentro do cortineiro.

Cortina Prega Macho

A Cortina Prega Macho tem o caimento reto e e elegante. O volume do tecido vem para a frente da cortina , e é feito com duas dobras unidas, em sentido oposto, no cós da cortina. Pode ser usada em varão ou trilho. O efeito final é de uma cortina volumosa, sem utilizar muito tecido.

Cortina Painel

A Cortina Painel é ideal para grandes vãos e divisão de ambientes, possui um estilo neutro e funcional, além de garantir uma maior privacidade e proteção solar, pois deixa frestas entre os tecidos.