feat: scroll to specific setting when opening settings dialog (#8761)

## Summary

- Adds `settingId` parameter to `showSettingsDialog` that auto-navigates
to the correct category tab, scrolls to the setting, and briefly
highlights it with a CSS pulse animation
- Adds `data-setting-id` attributes to setting items for stable DOM
targeting
- Adds "Don't show this again" checkbox with "Re-enable in Settings"
deep-link to the missing nodes dialog
- Adds "Re-enable in Settings" deep-link to missing models and blueprint
overwrite "Don't show this again" checkboxes

- Fixes #3437

## Test plan

- [x] `pnpm typecheck` passes
- [x] `pnpm lint` passes
- [x] Unit tests pass (59/59 including 5 new tests for `useSettingUI`)



https://github.com/user-attachments/assets/a9e80aea-7b69-4686-b030-55a2e0570ff0



┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8761-feat-scroll-to-specific-setting-when-opening-settings-dialog-3036d73d365081d18d9afe9f9ed41ebc)
by [Unito](https://www.unito.io)
This commit is contained in:
Johnpaul Chiwetelu
2026-02-10 23:00:46 +01:00
committed by GitHub
parent 19a724710c
commit e411a104f4
9 changed files with 388 additions and 72 deletions

View File

@@ -138,7 +138,8 @@ export const useDialogService = () => {
| 'credits'
| 'subscription'
| 'workspace'
| 'secrets'
| 'secrets',
settingId?: string
) {
const [
{ default: SettingDialogHeader },
@@ -148,7 +149,15 @@ export const useDialogService = () => {
lazySettingDialogContent()
])
const props = panel ? { props: { defaultPanel: panel } } : undefined
const props =
panel || settingId
? {
props: {
defaultPanel: panel,
scrollToSettingId: settingId
}
}
: undefined
dialogStore.showDialog({
key: 'global-settings',