blob: 06afd2cb720198d618c6462da742b1f832d89d80 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/webui/commerce/price_insights_handler.h"
#include "chrome/browser/feedback/public/feedback_source.h"
#include "chrome/browser/feedback/show_feedback_page.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h"
#include "components/strings/grit/components_strings.h"
#include "ui/base/l10n/l10n_util.h"
namespace commerce {
PriceInsightsHandler::PriceInsightsHandler(
mojo::PendingReceiver<price_insights::mojom::PriceInsightsHandler> receiver,
ShoppingInsightsSidePanelUI& insights_side_panel_ui,
Profile* profile)
: receiver_(this, std::move(receiver)),
insights_side_panel_ui_(insights_side_panel_ui),
profile_(profile) {}
PriceInsightsHandler::~PriceInsightsHandler() = default;
void PriceInsightsHandler::ShowSidePanelUI() {
auto embedder = insights_side_panel_ui_->embedder();
if (embedder) {
embedder->ShowUI();
}
}
void PriceInsightsHandler::ShowFeedback() {
auto* browser = chrome::FindLastActiveWithProfile(profile_);
if (!browser) {
return;
}
chrome::ShowFeedbackPage(
browser, feedback::kFeedbackSourcePriceInsights,
/*description_template=*/std::string(),
/*description_placeholder_text=*/
l10n_util::GetStringUTF8(IDS_SHOPPING_INSIGHTS_FEEDBACK_FORM_TITLE),
/*category_tag=*/"price_insights",
/*extra_diagnostics=*/std::string());
}
} // namespace commerce