diff --git a/browser/ui/webui/brave_welcome_ui.cc b/browser/ui/webui/brave_welcome_ui.cc index 91895667a3e7..1a5f70e603aa 100644 --- a/browser/ui/webui/brave_welcome_ui.cc +++ b/browser/ui/webui/brave_welcome_ui.cc @@ -11,7 +11,6 @@ #include "base/feature_list.h" #include "base/metrics/histogram_macros.h" -#include "brave/browser/themes/brave_dark_mode_utils.h" #include "brave/browser/ui/webui/brave_webui_source.h" #include "brave/browser/ui/webui/settings/brave_import_data_handler.h" #include "brave/browser/ui/webui/settings/brave_search_engines_handler.h" @@ -76,7 +75,13 @@ constexpr webui::LocalizedString kLocalizedStrings[] = { {"braveWelcomeChangeSettingsNote", IDS_BRAVE_WELCOME_CHANGE_SETTINGS_NOTE}, {"braveWelcomePrivacyPolicyNote", IDS_BRAVE_WELCOME_PRIVACY_POLICY_NOTE}, {"braveWelcomeSelectThemeLabel", IDS_BRAVE_WELCOME_SELECT_THEME_LABEL}, - {"braveWelcomeSelectThemeNote", IDS_BRAVE_WELCOME_SELECT_THEME_NOTE}}; + {"braveWelcomeSelectThemeNote", IDS_BRAVE_WELCOME_SELECT_THEME_NOTE}, + {"braveWelcomeSelectThemeSystemLabel", + IDS_BRAVE_WELCOME_SELECT_THEME_SYSTEM_LABEL}, + {"braveWelcomeSelectThemeLightLabel", + IDS_BRAVE_WELCOME_SELECT_THEME_LIGHT_LABEL}, + {"braveWelcomeSelectThemeDarkLabel", + IDS_BRAVE_WELCOME_SELECT_THEME_DARK_LABEL}}; void OpenJapanWelcomePage(Profile* profile) { DCHECK(profile); @@ -121,7 +126,6 @@ class WelcomeDOMHandler : public WebUIMessageHandler { void SetP3AEnabled(const base::Value::List& args); void HandleOpenSettingsPage(const base::Value::List& args); void HandleSetMetricsReportingEnabled(const base::Value::List& args); - void SetBraveThemeType(const base::Value::List& args); Browser* GetBrowser(); int screen_number_ = 0; @@ -159,10 +163,6 @@ void WelcomeDOMHandler::RegisterMessages() { "setMetricsReportingEnabled", base::BindRepeating(&WelcomeDOMHandler::HandleSetMetricsReportingEnabled, base::Unretained(this))); - web_ui()->RegisterMessageCallback( - "setBraveThemeType", - base::BindRepeating(&WelcomeDOMHandler::SetBraveThemeType, - base::Unretained(this))); } void WelcomeDOMHandler::HandleImportNowRequested( @@ -203,16 +203,6 @@ void WelcomeDOMHandler::HandleSetMetricsReportingEnabled( enabled, ChangeMetricsReportingStateCalledFrom::kUiSettings); } -void WelcomeDOMHandler::SetBraveThemeType(const base::Value::List& args) { - CHECK_EQ(args.size(), 1U); - CHECK(args[0].is_int()); - AllowJavascript(); - - int int_type = args[0].GetInt(); - dark_mode::SetBraveDarkModeType( - static_cast(int_type)); -} - void WelcomeDOMHandler::SetLocalStateBooleanEnabled( const std::string& path, const base::Value::List& args) { diff --git a/components/brave_welcome_ui/api/welcome_browser_proxy.ts b/components/brave_welcome_ui/api/welcome_browser_proxy.ts index 42e43d8c5f3b..01d675894aae 100644 --- a/components/brave_welcome_ui/api/welcome_browser_proxy.ts +++ b/components/brave_welcome_ui/api/welcome_browser_proxy.ts @@ -31,7 +31,6 @@ export interface WelcomeBrowserProxy { setP3AEnabled: (enabled: boolean) => void setMetricsReportingEnabled: (enabled: boolean) => void openSettingsPage: () => void - setBraveThemeType: (value: number) => void } export { DefaultBrowserBrowserProxyImpl, ImportDataBrowserProxyImpl } @@ -53,10 +52,6 @@ export class WelcomeBrowserProxyImpl implements WelcomeBrowserProxy { chrome.send('openSettingsPage') } - setBraveThemeType (value: number) { - chrome.send('setBraveThemeType', [value]) - } - static getInstance (): WelcomeBrowserProxy { return instance || (instance = new WelcomeBrowserProxyImpl()) } diff --git a/components/brave_welcome_ui/components/select-theme/index.tsx b/components/brave_welcome_ui/components/select-theme/index.tsx index e4a4fc3bafd3..f352d9a2f7b4 100644 --- a/components/brave_welcome_ui/components/select-theme/index.tsx +++ b/components/brave_welcome_ui/components/select-theme/index.tsx @@ -10,22 +10,20 @@ import { getLocale } from '$web-common/locale' import classnames from '$web-common/classnames' import Button from '$web-components/button' -import { WelcomeBrowserProxyImpl } from '../../api/welcome_browser_proxy' - import DataContext from '../../state/context' import { ViewType } from '../../state/component_types' interface ThemeModeItemProps { - themeType: number + themeType: chrome.braveTheme.ThemeType title: string isActive: boolean - onChange?: (themeType: number) => void + onChange?: (themeType: chrome.braveTheme.ThemeType) => void } const themeList = [ - { themeType: 0, title: 'Match system setting' }, - { themeType: 2, title: 'Light mode' }, - { themeType: 1, title: 'Dark mode' } + { themeType: 'System', title: getLocale('braveWelcomeSelectThemeSystemLabel') }, + { themeType: 'Light', title: getLocale('braveWelcomeSelectThemeLightLabel') }, + { themeType: 'Dark', title: getLocale('braveWelcomeSelectThemeDarkLabel') } ] function ThemeModeItem (props: ThemeModeItemProps) { @@ -39,9 +37,9 @@ function ThemeModeItem (props: ThemeModeItemProps) { }) const logoBoxClass = classnames({ - 'logo-box': true, - 'dark-mode': props.themeType === 1, - 'system-mode': props.themeType === 0 + 'logo': true, + 'dark-mode': props.themeType === 'Dark', + 'system-mode': props.themeType === 'System' }) return ( @@ -55,17 +53,19 @@ function ThemeModeItem (props: ThemeModeItemProps) { )} -
-

{props.title}

+
+
+

{props.title}

+
) } function SelectTheme () { const { setViewType, scenes } = React.useContext(DataContext) - const [currentSelectedTheme, setCurrentTheme] = React.useState(0) + const [currentSelectedTheme, setCurrentTheme] = React.useState('System') - const handleSelectionChange = (themeType: number) => { + const handleSelectionChange = (themeType: chrome.braveTheme.ThemeType) => { setCurrentTheme?.(themeType) } @@ -75,7 +75,7 @@ function SelectTheme () { } const handleNext = () => { - WelcomeBrowserProxyImpl.getInstance().setBraveThemeType(currentSelectedTheme) + chrome.braveTheme.setBraveThemeType(currentSelectedTheme) setViewType(ViewType.HelpImprove) scenes?.s2.play() } @@ -92,14 +92,14 @@ function SelectTheme () {
{themeList.map((entry, id) => { return ( You can change this at any time in Brave settings. + + + Match system setting + + + + Light mode + + + + Dark mode +