Skip to content

feat(settings): add DevTools-style config tabs with autosave#314

Merged
AugustoL merged 10 commits intoopenscan-explorer:devfrom
AugustoL:fix/issue-292-config-tabs-v2
Mar 16, 2026
Merged

feat(settings): add DevTools-style config tabs with autosave#314
AugustoL merged 10 commits intoopenscan-explorer:devfrom
AugustoL:fix/issue-292-config-tabs-v2

Conversation

@AugustoL
Copy link
Collaborator

Description

Reorganize the Settings page into DevTools-style tabs (Network, Providers, Display, Advanced) with deep-linkable tab state via query params, debounced auto-save for most tabs, and explicit manual save for the Providers tab.

Re-applies #304 (which was merged to main and reverted), now targeting dev.

Related Issue

Closes #292
Closes #297

Type of Change

  • New feature
  • Refactoring

Changes Made

  • Split the Settings page into 4 tabs: Network, Providers, Display, Advanced
  • Added deep-linkable tab state via ?tab= query param, persisted to localStorage
  • Replaced manual save flow with debounced auto-save (450ms) + inline save status pill
  • Providers tab uses explicit save button to avoid auto-save loops while typing API keys
  • Mobile-friendly tab selector layout
  • Normalized URL handling to avoid duplicate hash fragments

Screenshots (if applicable)

N/A

Checklist

  • I have run npm run format:fix and npm run lint:fix
  • I have run npm run typecheck with no errors
  • I have run tests with npm run test:run
  • I have tested my changes locally
  • I have updated documentation if needed
  • My code follows the project's architecture patterns

Additional Notes

Cherry-picked from the original PR #304 commits with conflict resolution for changes that landed on dev since.

@github-actions
Copy link

🚀 Preview: https://pr-314--openscan.netlify.app
📝 Commit: 60d0cf82b62e58888b2d149d166b4797db872f64

@AugustoL AugustoL merged commit 448789f into openscan-explorer:dev Mar 16, 2026
4 of 7 checks passed
@AugustoL AugustoL mentioned this pull request Mar 16, 2026
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants