You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1.1 Read nextcloud-vue/docs/components/cn-chart-widget.md and CnChartWidget.vue's prop list to confirm the exact prop names for series, labels, colors, dataLabels formatter, and tooltip formatter override (component may expose a raw options merge-in prop rather than per-facet props — confirm before editing)
1.2 Confirm CnChartWidget is already exported from @conduction/nextcloud-vue's barrel (src/index.js) and importable the same way other Cn* components are imported elsewhere in this app (e.g. NcButton/NcLoadingIcon import pattern already in SkillUsageChart.vue:34)
2.1 In src/views/dashboard/SkillUsageChart.vue, replace the VueApexCharts import and <VueApexCharts> template usage with CnChartWidget (type="donut", :series="chartSeries", :labels="skillLabels", :height="280")
2.2 Move the Math.round(val) + '%' dataLabel formatter and the val + ' ' + t('larpinq', 'characters') tooltip formatter onto whatever override mechanism CnChartWidget exposes (per 1.1) — if it does not support per-instance formatter overrides, keep the minimal delta needed as a documented exception in this task and note the nc-vue follow-up
2.3 Delete the local isDarkTheme computed (SkillUsageChart.vue:107-116) and the theme: { mode: ... } key from chartOptions — CnChartWidget themes via CSS variables and needs neither
2.4 Remove the direct vue-apexcharts import from SkillUsageChart.vue's components map; keep package.json's vue-apexcharts/apexcharts dependency only if another component in this app still uses it directly (grep first — expected: none after this change, but do not remove the dependency speculatively without confirming)
3.1 Update/extend tests/vitest/graphql.spec.js or add a component test asserting SkillUsageChart renders CnChartWidget with the expected series/labels props for a given facet response
3.2 Re-run the existing dashboard e2e coverage (tests/e2e/spec-coverage/spa-ui.spec.ts skill-usage scenarios, if any) to confirm the donut chart still renders after the swap
4.1 openspec/specs/larping-skill-widget/spec.md — update the skill-usage chart requirement to reference CnChartWidget instead of a bespoke VueApexCharts mount, and drop/rewrite the CSS-computed-style @e2e exclude entries that describe the old manual theme detection if they no longer apply
4.2 @spec annotations on the changed computed properties pointing at this change (gate-16)
5.1 npm run build succeeds with no missing-import errors
5.2 Existing lint/test suite green; hydra gates unaffected (no forbidden patterns introduced)
Synced from openspec/changes/larpinq-chart-widget-via-ncvue by OpenSpec workflow App: larpinq
Artifacts
Specs
Tasks
nextcloud-vue/docs/components/cn-chart-widget.mdandCnChartWidget.vue's prop list to confirm the exact prop names forseries,labels,colors,dataLabelsformatter, and tooltip formatter override (component may expose a rawoptionsmerge-in prop rather than per-facet props — confirm before editing)CnChartWidgetis already exported from@conduction/nextcloud-vue's barrel (src/index.js) and importable the same way other Cn* components are imported elsewhere in this app (e.g.NcButton/NcLoadingIconimport pattern already inSkillUsageChart.vue:34)src/views/dashboard/SkillUsageChart.vue, replace theVueApexChartsimport and<VueApexCharts>template usage withCnChartWidget(type="donut",:series="chartSeries",:labels="skillLabels",:height="280")Math.round(val) + '%'dataLabel formatter and theval + ' ' + t('larpinq', 'characters')tooltip formatter onto whatever override mechanismCnChartWidgetexposes (per 1.1) — if it does not support per-instance formatter overrides, keep the minimal delta needed as a documented exception in this task and note the nc-vue follow-upisDarkThemecomputed (SkillUsageChart.vue:107-116) and thetheme: { mode: ... }key fromchartOptions—CnChartWidgetthemes via CSS variables and needs neithervue-apexchartsimport fromSkillUsageChart.vue'scomponentsmap; keeppackage.json'svue-apexcharts/apexchartsdependency only if another component in this app still uses it directly (grep first — expected: none after this change, but do not remove the dependency speculatively without confirming)tests/vitest/graphql.spec.jsor add a component test assertingSkillUsageChartrendersCnChartWidgetwith the expectedseries/labelsprops for a given facet responsetests/e2e/spec-coverage/spa-ui.spec.tsskill-usage scenarios, if any) to confirm the donut chart still renders after the swapopenspec/specs/larping-skill-widget/spec.md— update the skill-usage chart requirement to referenceCnChartWidgetinstead of a bespokeVueApexChartsmount, and drop/rewrite the CSS-computed-style@e2e excludeentries that describe the old manual theme detection if they no longer apply@specannotations on the changed computed properties pointing at this change (gate-16)npm run buildsucceeds with no missing-import errorsSynced from
openspec/changes/larpinq-chart-widget-via-ncvueby OpenSpec workflowApp:
larpinq