diff --git a/src/components/shared/CallTreeStrategySetting.tsx b/src/components/shared/CallTreeStrategySetting.tsx index 39f11b155e..298ba2db3e 100644 --- a/src/components/shared/CallTreeStrategySetting.tsx +++ b/src/components/shared/CallTreeStrategySetting.tsx @@ -6,7 +6,7 @@ // and various allocation call trees. It is only shown when the profile includes // allocation data. -import { PureComponent } from 'react'; +import { useLocalization } from '@fluent/react'; import { Localized } from '@fluent/react'; import { changeCallTreeSummaryStrategy } from 'firefox-profiler/actions/profile-view'; @@ -48,42 +48,46 @@ const STRATEGY_L10N_IDS: Record = { 'StackSettings--call-tree-strategy-native-deallocations-sites', }; -class CallTreeStrategySettingImpl extends PureComponent { - _onCallTreeSummaryStrategyChange = ( - e: React.ChangeEvent - ) => { - this.props.changeCallTreeSummaryStrategy( +function CallTreeStrategySettingImpl({ + availableCallTreeSummaryStrategies, + callTreeSummaryStrategy, + changeCallTreeSummaryStrategy, +}: Props) { + const { l10n } = useLocalization(); + + const handleChange = (e: React.ChangeEvent) => { + changeCallTreeSummaryStrategy( toValidCallTreeSummaryStrategy(e.currentTarget.value) ); }; - override render() { - const { availableCallTreeSummaryStrategies, callTreeSummaryStrategy } = - this.props; - - return ( - <> - - - ); - } + const selectedTitle = l10n.getString( + STRATEGY_L10N_IDS[callTreeSummaryStrategy] + ); + + return ( + <> + + + ); } export const CallTreeStrategySetting = explicitConnect<