Skip to content

Tablet responsive layout implementation#90

Closed
9thLevelSoftware with Copilot wants to merge 1 commit into
mainfrom
copilot/sub-pr-89
Closed

Tablet responsive layout implementation#90
9thLevelSoftware with Copilot wants to merge 1 commit into
mainfrom
copilot/sub-pr-89

Conversation

Copilot AI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

Implements responsive design system for tablet support using Material 3 breakpoints (Compact <600dp, Medium 600-840dp, Expanded >840dp).

Core Infrastructure

  • WindowSizeClass utility - Provides LocalWindowSizeClass composition local and breakpoint detection
  • ResponsiveDimensions helpers - Reusable scaling functions for charts (1.25x/1.5x), cards (max width constraints), and components (1.3x/1.6x)
  • EnhancedMainScreen integration - Wraps app in BoxWithConstraints + CompositionLocalProvider to propagate window size

UI Adaptations

Screens (15+): HomeScreen, AnalyticsScreen, WorkoutHud, BadgesScreen, InsightsTab, WorkoutTab/Alt, ConnectionLogsScreen, DayCountPickerScreen, CountdownCard

Charts (6): AreaChart, CircleChart, ComboChart, GaugeChart, RadarChart, VolumeTrendChart - all use ResponsiveDimensions.chartHeight()

Components: RoutinePickerDialog, AutoStopOverlay, AnimatedActionButton, ProfileSidePanel, ShimmerEffect skeletons

Example pattern:

// Charts scale height
val chartHeight = ResponsiveDimensions.chartHeight(baseHeight = 200.dp)

// Cards constrain max width on tablets
ResponsiveCardWrapper {
    InsightCard(modifier = Modifier.fillMaxWidth())
}

// Components scale proportionally
val hudSize = ResponsiveDimensions.componentSize(baseSize = 200.dp)

Database

Migration 6 adds Training Cycles feature tables (TrainingCycle, CycleDay, CycleProgress, CycleProgression, PlannedSet, CompletedSet, ProgressionEvent) with resilient migration handling via CREATE TABLE IF NOT EXISTS.

Coverage

21 files adapted, responsive utilities consistently applied across presentation layer.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI mentioned this pull request Jan 4, 2026
Base automatically changed from tablet_fixes to main January 4, 2026 21:23

Copilot AI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor Author

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • dl.google.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED -XX:&#43;UseParallelGC -Xmx8g -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -cp (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Fix issues related to tablet view Tablet responsive layout implementation Jan 4, 2026
Copilot AI requested a review from 9thLevelSoftware January 4, 2026 21:27
@9thLevelSoftware 9thLevelSoftware deleted the copilot/sub-pr-89 branch January 4, 2026 21:36
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.

2 participants