Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

chore(ux): Settings menu opens NcAppSettingsDialog (action: user-settings)#34

Merged
rubenvdlinde merged 1 commit into
developmentfrom
chore/settings-modal-pattern
May 12, 2026
Merged

chore(ux): Settings menu opens NcAppSettingsDialog (action: user-settings)#34
rubenvdlinde merged 1 commit into
developmentfrom
chore/settings-modal-pattern

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Summary

  • src/manifest.json: SettingsMenu entry changed from route: "Settings" / section: "settings" to action: "user-settings" / icon: "Cog". CnAppNav wires manifest entries with action: "user-settings" to the cnOpenUserSettings inject (provided by CnAppRoot), which opens the hosted NcAppSettingsDialog. The Settings type: "settings" page is retained — direct URL access to /settings still works.
  • src/App.vue: imports NcAppSettingsSection and adds a #user-settings slot to <CnAppRoot> with a placeholder section. New apps clone the template and replace the placeholder with their real settings content.
  • README.md: one-line note in the manifest/menu section: "The Settings menu entry uses action: "user-settings" → opens NcAppSettingsDialog via CnAppRoot's cnOpenUserSettings inject; feed your settings sections into App.vue's #user-settings slot."
  • @conduction/nextcloud-vue bumped to beta.35 (schema 1.5.0) in node_modules — package.json already declared ^1.0.0-beta.35; installed version was behind.

Test plan

  • Clicking "Settings" in left nav opens NcAppSettingsDialog with the "General" placeholder section
  • Direct /apps/app-template/settings still renders the manifest-driven settings page
  • node tests/validate-manifest.js (= npm run check:manifest) → PASS (0 Ajv errors, schema 1.5.0)
  • npm run lint → 0 errors
  • npm run build → succeeds

…ings)

- Change SettingsMenu entry to action: "user-settings" / icon: "Cog"; drop route + section.
  CnAppNav invokes cnOpenUserSettings inject (CnAppRoot) which opens NcAppSettingsDialog.
  The Settings type:'settings' page stays for direct-URL /settings access.
- App.vue: import NcAppSettingsSection; add #user-settings slot to CnAppRoot
  with a placeholder NcAppSettingsSection — replace with real settings content
  when scaffolding a new app.
- README: one-line note in the manifest/menu section documenting the pattern.
- Upgrade @conduction/nextcloud-vue from beta.30 → beta.35 (schema 1.5.0) to
  support action: "user-settings" — package.json already declared ^1.0.0-beta.35;
  node_modules was behind.
- validate-manifest PASS (0 Ajv errors, schema 1.5.0); lint 0 errors; build succeeds.
@rubenvdlinde rubenvdlinde merged commit 12e88e1 into development May 12, 2026
25 checks passed
@rubenvdlinde rubenvdlinde deleted the chore/settings-modal-pattern branch May 12, 2026 12:43
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/nextcloud-app-template @ e977941

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 428/428
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-12 12:44 UTC

Download the full PDF report from the workflow artifacts.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant