Skip to content

fix: align webpack config and sidebar with shared patterns#37

Open
rubenvdlinde wants to merge 5 commits into
developmentfrom
fix/webpack-sidebar-alignment
Open

fix: align webpack config and sidebar with shared patterns#37
rubenvdlinde wants to merge 5 commits into
developmentfrom
fix/webpack-sidebar-alignment

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Summary

  • Extend base webpack config instead of replacing webpackConfig.resolve and webpackConfig.module
  • Add NodePolyfillPlugin@4.0.0 for process polyfill compatibility
  • Add CnObjectSidebar + objectSidebarState provide/inject for proper Nextcloud sidebar positioning

Why

All Conduction apps should follow the same webpack and sidebar patterns as OpenCatalogi (the reference implementation). See ADR-017 and ADR-018.

- Extend base webpack config instead of replacing resolve/module
- Add NodePolyfillPlugin for process polyfill compatibility
- Add CnObjectSidebar + objectSidebarState for proper sidebar positioning
- Follows ADR-017 (component composition) and ADR-018 (header actions)
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/decidesk @ 7e3094b

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

Quality workflow — 2026-04-15 07:57 UTC

Download the full PDF report from the workflow artifacts.

- webpack.config.js: disable splitChunks (NC serves chunks from wrong path),
  add SCSS rule, use NodePolyfillPlugin, extend base config not overwrite
- router/index.js: static imports instead of lazy import() — prevents
  ChunkLoadError from /apps/ vs /custom_apps/ path mismatch
- main.js: remove loadTranslations wrapper (blocks mount on l10n 404),
  use direct t/n imports matching procest pattern
- package.json: upgrade @nextcloud/l10n ^2→^3.4.1, @conduction/nextcloud-vue
  beta.3→beta.7, fix apexcharts override ^3.45.0
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/decidesk @ 5ad43ac

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

Quality workflow — 2026-04-15 09:59 UTC

Download the full PDF report from the workflow artifacts.

- Replace custom HTML dashboard with CnDashboardPage component
- KPI cards use CnStatsBlock with proper grid layout (4 cols each)
- Move 'Bekijk alle' links to widget header-actions
- Consistent with Procest/Pipelinq dashboard patterns
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/decidesk @ 69cf004

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

Quality workflow — 2026-04-15 11:43 UTC

Download the full PDF report from the workflow artifacts.

…Settings

- router: replaced SettingsView with AdminRoot (same component used by
  NC admin panel at /settings/admin/decidesk), keeping both surfaces in sync
- MainMenu: wrapped Settings link in NcAppNavigationSettings (gear icon widget)
  matching the Nextcloud UX convention for admin-only controls
Correct Nextcloud settings pattern (matching OpenCatalogi):
- Admin config: /settings/admin/decidesk (NC admin panel via AdminSettings.php)
- In-app settings: NcAppSettingsDialog modal from gear menu
- Gear foldout (NcAppNavigationSettings) holds admin items + Settings
- Settings click emits @open-settings, App.vue opens UserSettings modal
- Removed /settings route from Vue router
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.

1 participant