Retile mode ts#237
Conversation
- Add GridOrientationConfig and GridConfig types to store/types.ts - Add gridConfig defaults (landscape: 4x2, portrait: 2x4) to appState.ts - Update test fixtures to include the new gridConfig property Co-authored-by: Abasz <32517724+Abasz@users.noreply.github.com>
Add slotContent parameter to all metric template functions in dashboardMetrics.ts and the simpleMetricFactory helper. Restructure DashboardMetric render to use CSS classes (with-icon) instead of inline styles, and move slot inside the icon/label div. Add :host positioning to BatteryIcon. Add :host grid-column span and slot support to DashboardForceCurve. Update DashboardMetric tests for new class-based rendering. Co-authored-by: Abasz <32517724+Abasz@users.noreply.github.com>
- Add retile/submit toggle button with active state styling. - Add reset-to-default button (visible only in retile mode). - Move settings dialog ownership to parent via open-settings event. - Add toggleRetileMode and resetToDefault methods that dispatch custom events for PerformanceDashboard to handle. Co-authored-by: Abasz <32517724+Abasz@users.noreply.github.com>
- Replace fixed grid layout with CSS custom properties (--grid-columns, --grid-rows) driven by gridConfig from app state. - Add retile mode state management: local metrics copy on enter, save via changeGuiSetting on submit, reset-to-default support. - Add metric controls (remove/replace dropdown) rendered as slot content. - Add 'add tile' panel with available metrics filtered by remaining slots. - Handle settings dialog and workout dialog from PerformanceDashboard. - Use component factory pattern returning (slotContent) => TemplateResult to support both retile controls and normal rendering. Co-authored-by: Abasz <32517724+Abasz@users.noreply.github.com>
- Make cursor:pointer and @click on distance/calories/timer tiles conditional on onWorkoutOpen being defined (not shown in retile mode) - Add stopPropagation to retile controls to prevent parent click handler from intercepting dropdown interactions - Increase retile select padding and min-width for larger click area - Add z-index to retile controls for reliable click targeting
|
Is this PR considered complete now? |
|
Sorry for my late response, This is not ready, those things in the PR message needs implementation. I iced this temporarily in favour of the fit file which I though will be easy to review but the whole thing is a mess :). I will try to complete that this weekend and get back to this next week. |
Where are you running into issues? |
And I have not even started with the splits which seemingly used by intervals.icu to track the laps (simply adding laps do not show up in intervals.icu which was a shock to me). |
Total time seems OK. It somehow does a recalc, but I couldn't figure out why. But all others do it right, so it might be Garmin who is sloppy...
I put a lot of effort in also filling in undocumented fields, as they seem to trigger internal behaviour of GC.
Look at the FIT-file via fitfileviewer and see where they differ. It is the only way to reverse engineer this thing.
Yeah, created a bugreport there, as they are butchering good lap data: https://forum.intervals.icu/t/intervals-icu-messes-up-fit-lapdata/127532 |
This is the continuation of #213
Technically this feature works (and the GUI works too) but there are things that are still missing: