Summary
The buttonNameToSettingName lookup object, buttonNames array, featureToMultiButtonsMap, and hardcoded switch statements in ButtonPlacement.tsx/ButtonPlacementSetting.tsx all duplicate knowledge that now exists declaratively in feature metadata (button field).
Changes Needed
- Add button maps (
buttonNameToFeature, featureToButtonNames) to FeatureMetadataRegistry
- Add getter methods:
getButtonFeature(), getAllButtonNames(), getButtonNamesForFeature(), getButtonConfigPath()
- Replace
@/src/types const imports with registry calls in 5 files (ButtonPlacement.tsx, ButtonPlacementSetting.tsx, utils/settings/index.ts, features/buttonPlacement/index.ts, utils/feature/index.ts)
- Eliminate hardcoded
switch statements in path-derivation functions
Status
Implementation is complete — 22 files are ready to commit on the dev branch.
Summary
The
buttonNameToSettingNamelookup object,buttonNamesarray,featureToMultiButtonsMap, and hardcodedswitchstatements inButtonPlacement.tsx/ButtonPlacementSetting.tsxall duplicate knowledge that now exists declaratively in feature metadata (buttonfield).Changes Needed
buttonNameToFeature,featureToButtonNames) toFeatureMetadataRegistrygetButtonFeature(),getAllButtonNames(),getButtonNamesForFeature(),getButtonConfigPath()@/src/typesconst imports with registry calls in 5 files (ButtonPlacement.tsx, ButtonPlacementSetting.tsx, utils/settings/index.ts, features/buttonPlacement/index.ts, utils/feature/index.ts)switchstatements in path-derivation functionsStatus
Implementation is complete — 22 files are ready to commit on the
devbranch.