wpAdapter = $wpAdapter; $this->latteEngine = $latteEngine; $this->moduleHelper = $moduleHelper; $this->urlBuilder = $urlBuilder; $this->dashboardItemBuilder = $dashboardItemBuilder; $this->carrierUpdater = $carrierUpdater; } public function register(): void { $this->wpAdapter->addSubmenuPage( self::SLUG, $this->wpAdapter->__( 'Home', 'packeta' ), $this->wpAdapter->__( 'Home', 'packeta' ), 'manage_woocommerce', self::SLUG, [ $this, 'render' ] ); } public function render(): void { $redirectUrl = $this->wpAdapter->addQueryArg( [ 'page' => self::SLUG ], $this->wpAdapter->getAdminUrl( null, 'admin.php' ) ); $this->carrierUpdater->startUpdate( $redirectUrl ); $carriersUpdateResult = $this->carrierUpdater->runUpdate(); $this->latteEngine->render( PACKETERY_PLUGIN_DIR . '/template/dashboard/home.latte', [ 'items' => $this->dashboardItemBuilder->buildItems(), 'carriersUpdate' => $carriersUpdateResult, 'isCzechLocale' => $this->moduleHelper->isCzechLocale(), 'logoZasilkovna' => $this->urlBuilder->buildAssetUrl( 'public/images/logo-zasilkovna.svg' ), 'logoPacketa' => $this->urlBuilder->buildAssetUrl( 'public/images/logo-packeta.svg' ), 'translations' => [ 'packeta' => $this->wpAdapter->__( 'Packeta', 'packeta' ), 'title' => $this->wpAdapter->__( 'Let\'s start with the plugin settings', 'packeta' ), 'getTheMost' => $this->wpAdapter->__( 'Follow the steps below to get the most out of Packeta', 'packeta' ), ], ] ); } }