import { __ } from '@wordpress/i18n'; import { speak } from '@wordpress/a11y'; import { SELECTORS } from './constants'; import API from './classes/api'; import ControlSync from './classes/control/control-sync'; import ControlStates from './classes/control/control-states'; import ControlMeta from './classes/control/control-meta'; import OptimizationDetails from './classes/optimization-details'; class OptimizationControl { constructor() { this.controlSyncRequestInProgress = false; this.init(); this.controlSync = new ControlSync(); } init() { this.initEventListeners(); setInterval( () => this.runStatusCheckLoop(), 5000 ); } async runStatusCheckLoop() { if ( this.controlSyncRequestInProgress ) { return; } this.controlSyncRequestInProgress = true; await this.controlSync.run(); this.controlSyncRequestInProgress = false; } initEventListeners() { document.addEventListener( 'click', ( e ) => this.handleOptimizeButtonClick( e ) ); document.addEventListener( 'click', ( e ) => this.handleReoptimizeButtonClick( e ) ); document.addEventListener( 'click', ( e ) => this.handleRestoreButtonClick( e ) ); document.addEventListener( 'click', ( e ) => this.handleOptimizationDetailsOpen( e ) ); document.addEventListener( 'click', ( e ) => this.handleOptimizationDetailsClick( e ) ); } async handleOptimizeButtonClick( e ) { if ( ! e.target.closest( `${ SELECTORS.optimizeButtonSelector }, ${ SELECTORS.tryAgainOptimizeButtonSelector }` ) ) { return; } speak( __( 'Optimization is in progress', 'image-optimization' ), 'assertive' ); const controlWrapper = e.target.closest( SELECTORS.controlWrapperSelector ); const states = new ControlStates( controlWrapper ); states.renderLoading( 'optimize' ); try { controlWrapper.dataset.isFrozen = true; await API.optimizeSingleImage( { imageId: new ControlMeta( controlWrapper ).getImageId(), reoptimize: false, } ); } catch ( error ) { states.renderError( error ); } } async handleReoptimizeButtonClick( e ) { if ( ! e.target.closest( `${ SELECTORS.reoptimizeButtonSelector }, ${ SELECTORS.tryAgainReoptimizeButtonSelector }` ) ) { return; } speak( __( 'Reoptimizing is in progress', 'image-optimization' ), 'assertive' ); const controlWrapper = e.target.closest( SELECTORS.controlWrapperSelector ); const states = new ControlStates( controlWrapper ); states.renderLoading( 'reoptimize' ); try { controlWrapper.dataset.isFrozen = true; await API.optimizeSingleImage( { imageId: new ControlMeta( controlWrapper ).getImageId(), reoptimize: true, } ); } catch ( error ) { states.renderError( error ); } } async handleRestoreButtonClick( e ) { if ( ! e.target.closest( `${ SELECTORS.restoreButtonSelector }, ${ SELECTORS.tryAgainRestoreButtonSelector }` ) ) { return; } speak( __( 'Image restoring is in progress', 'image-optimization' ), 'assertive' ); const controlWrapper = e.target.closest( SELECTORS.controlWrapperSelector ); const states = new ControlStates( controlWrapper ); states.renderLoading( 'restore' ); try { controlWrapper.dataset.isFrozen = true; await API.restoreSingleImage( new ControlMeta( controlWrapper ).getImageId() ); } catch ( error ) { states.renderError( error ); } } async handleOptimizationDetailsOpen( e ) { if ( ! e.target.closest( `${ SELECTORS.optimizationDetailsButtonSelector }` ) ) { return; } const controlWrapper = e.target.closest( SELECTORS.controlWrapperSelector ); const imageId = new ControlMeta( controlWrapper ).getImageId(); try { OptimizationDetails.initModal(); OptimizationDetails.renderLoading(); const details = await API.getOptimizationDetails( imageId ); OptimizationDetails.openModal(); OptimizationDetails.renderData( imageId, details ); } catch ( error ) { OptimizationDetails.openModal(); OptimizationDetails.renderError( error.message ); } } async handleOptimizationDetailsClick( e ) { if ( ! e.target.closest( `${ SELECTORS.optimizationDetailsOptimizeButtonSelector }` ) ) { return; } const imageId = parseInt( e.target.dataset?.imageId, 10 ); await API.optimizeSingleImage( { imageId } ); const controlWrapper = document.querySelector( `.image-optimization-control[data-image-optimization-image-id="${ imageId }"]` ); if ( controlWrapper ) { new ControlStates( controlWrapper ).renderLoading( 'optimize' ); } OptimizationDetails.closeModal(); } } export default OptimizationControl; Comment faire le tour du monde en pizza? | Les Filles du Thé

Comment faire le tour du monde en Pizza ?

ou Comment Les Filles du Thé se sont retrouvées en plein milieu du pacifique ?

les filles du the au milieu du pacifique

les-filles-du-the-chez-pizza-gourmet

C’est simple, rendez-vous à La Madeleine, 169 rue du général de Gaulle.

Là, vous entrez dans une ambiance aux couleurs du yin et du yang, associées à la chaleur du bois. Et vous découvrez une belle harmonie entre ces 2 potes de longue date : Aurélien et Antoine.

un duo débordant d'idéesintérieur pizza gourmet

Ils ont créé et décoré le lieu : vraiment chouette pour des mecs ! C’était sans compter sur Hélène… On sait que derrière de grands hommes se cache toujours une femme.

Pari réussi pour nous faire voyager à travers des pizzas toutes plus originales les unes que les autres. Des ”incontournables” telles que la reine, la Calzonne ou  la 4 fromages en passant par « les saveurs du monde”, Pizza Gourmet nous fait passer de l’Italie à la Norvège en passant par le Japon pour arriver en Inde…

Des pizzas pas comme les autres : celles qui nous font voyager le temps d’un déjeuner !

les filles du thé pizza gourmetpizza Gourmet

Chez Pizza Gourmet tout est frais et fait maison ! On peut en plus y boire du Thé ou des infusions des Filles du Thé pour accompagner notre tour du monde… Aurélien, Antoine et Hélène vont jusqu’au bout de leurs convictions du 100% frais avec des produits BIO à gogo !

Débordants d’idées, ce trio n’a pas fini de nous étonner : de nouvelles recettes sont à l’étude… Avis aux amateurs de voyages improbables !

thé-pizzapizza-gourmet- les filles-du-thépizza-norvégienne-les-filles-du-the

Végétarienne, Japonaise, Norvégienne, … toutes les saveurs du monde au bout des doigts…

l'album-pizza-gourmet-les-filles du-the

Le plus, chez pizza gourmet, il y a l’album du moment et si vous tendez l’oreille, vous pourrez peut-être entendre la douce voix de ces créateurs de saveurs !

Un aller pour Pizza Gourmet vous permettra peut être de faire la connaissance aussi de Basile, le basilique et d’Actarus …le Fi…!

Super moment à partager entre amis, en famille, en couple, et même en tête à tête avec sa pizza !

Bonheur assuré… croyez-en les Filles du Thés !

Laisser un commentaire