pageRenderer = $pageRenderer; $this->settingsController = $settingsController; $this->subscribersRepository = $subscribersRepository; $this->formsRepository = $formsRepository; $this->wooCommerceHelper = $wooCommerceHelper; } public function render() { $data = [ 'mta_log' => $this->settingsController->get('mta_log'), 'homepage' => [ 'task_list_dismissed' => (bool)$this->settingsController->get('homepage.task_list_dismissed', false), 'task_list_status' => $this->getTaskListStatus(), 'woo_customers_count' => $this->wooCommerceHelper->getCustomersCount(), 'subscribers_count' => $this->subscribersRepository->getTotalSubscribers(), ], ]; $this->pageRenderer->displayPage('homepage.html', $data); } /** * @return array{senderSet:bool, mssConnected:bool, wooSubscribersImported:bool, subscribersAdded:bool} */ private function getTaskListStatus(): array { $subscribersCount = $this->subscribersRepository->getTotalSubscribers(); $formsCount = $this->formsRepository->count(); return [ 'senderSet' => (bool)$this->settingsController->get('sender.address', false), 'mssConnected' => Bridge::isMSSKeySpecified(), 'wooSubscribersImported' => (bool)$this->settingsController->get('woocommerce_import_screen_displayed', false), 'subscribersAdded' => $formsCount || ($subscribersCount > 10), ]; } }