Repository navigation
feat: Compose theme from the Daycompass design system - #9
Merged
Merged
Conversation
Taken from google/fonts at e7db6ca603fd4862010383ff17ffd6cc4ffac1c0, so nothing is fetched at runtime. The license texts ship in the APK.
Light and dark color tokens mapped onto Material 3, the type scale in Fredoka and Nunito, spacing, radius and size tokens. The window background matches the bg token in both themes.
DcButton has the chunky bottom edge that collapses on press, a keyboard focus ring, disabled and loading states. DcTextField keeps its label visible, shows errors with an icon and exposes them to accessibility services. Detekt's LongParameterList now ignores composables, like LongMethod already does.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #8
What
Brings the Daycompass design system into the app, ahead of the pairing screen (#5).
DcColors, mapped onto the Material 3ColorSchemeand available asDc.colors. The hover tokens are left out because there is no pointer on a phone. Surface tint is disabled, and the window background matchesbgin both themes so nothing flashes white on start.Dc.type, set in Fredoka and Nunito variable fonts. The number styles use tabular figures, and sizes are inspso they follow the system text size.DcSpacing,DcRadiusandDcSize.DcButton: primary, secondary and neutral variants. The bottom edge collapses on press (80 ms). There is a keyboard focus ring, disabled buttons sit already pressed, and while loading a spinner replaces the label without changing the width.DcTextField: the label is always visible above the field. Errors show an icon and are exposed to accessibility services. The focus halo is always laid out, so focusing does not shift anything.#23202Ebackground and the compass at the same scale asapp-icon-1024.svg, plus a monochrome layer from the mono symbol for themed icons.Deviations from the design system
google/fontsate7db6ca603fd4862010383ff17ffd6cc4ffac1c0, not the design system's woff2 files: Android cannot read woff2, and those files look subset. This adds about 436 KB to the APK.warning-circle(Regular) icon as a VectorDrawable. No new library is added.Licensing and config
assets/licenses/. There is no in-app license screen yet.config/detekt/detekt.yml:LongParameterListnow ignores composables, likeLongMethodalready does.MagicNumberis suppressed file-wide inDcColors.ktonly, where the hex literals are the token values.gradle/verification-metadata.xmlis untouched.Tests
DcColorsContrastTestchecks 13 contrast pairs from the design system's accessibility table in both themes. The UI itself has not been checked on a device or emulator yet.