Andrew Ridgway c589e5f9e4
design: Material Design 3 redesign across all layouts and themes
- colors.xml: replaced legacy palette with M3 semantic tokens
  (primary, secondary, tertiary, surface containers, outline, status)
- themes.xml + values-night/themes.xml: switched to
  Theme.Material3.DayNight.NoActionBar, mapped all M3 color roles,
  transparent system bars for edge-to-edge, M3 typography
- attrs.xml: custom semantic attrs (colorSuccess, colorWarning, colorInfo)
- strings.xml: added accessibility labels, loading/empty/error strings
- activity_login.xml: centered branding, M3 headline/body, skeleton card
- activity_main.xml: edge-to-edge CoordinatorLayout, M3 AppBar/toolbar,
  health indicator group, M3 banner, M3 TabLayout
- fragment_job_form.xml: grouped fields in outlined cards (12dp radius),
  FilledBox text inputs, TonalButtons, 16dp margins
- fragment_job_status.xml: chip-style badge, LinearProgressIndicator,
  centered card with error/try-again states
- fragment_result.xml: SuggestionChip badge, WebView fills space,
  bottom action bar in outlined card
- activity_admin.xml + item_admin_user.xml: M3 card list items,
  proper type scale hierarchy
- Updated drawables to use theme attributes

Refs DESIGN.md Material Design 3 + Amazon/Google guidelines.
2026-07-18 23:48:33 +10:00

91 lines
4.9 KiB
XML

<resources xmlns:tools="http://schemas.android.com/tools">
<style name="Theme.ResBuilder" parent="Theme.Material3.DayNight.NoActionBar">
<!-- Primary color roles (dark) -->
<item name="colorPrimary">#D0BCFF</item>
<item name="colorOnPrimary">#381E72</item>
<item name="colorPrimaryContainer">#4F378B</item>
<item name="colorOnPrimaryContainer">#EADDFF</item>
<item name="colorPrimaryInverse">#6750A4</item>
<!-- Secondary color roles (dark) -->
<item name="colorSecondary">#CCC2DC</item>
<item name="colorOnSecondary">#332D41</item>
<item name="colorSecondaryContainer">#4A4458</item>
<item name="colorOnSecondaryContainer">#E8DEF8</item>
<!-- Tertiary color roles (dark) -->
<item name="colorTertiary">#EFB8C8</item>
<item name="colorOnTertiary">#492532</item>
<item name="colorTertiaryContainer">#633B48</item>
<item name="colorOnTertiaryContainer">#FFD8E4</item>
<!-- Surface color roles (dark) -->
<item name="android:colorBackground">#1D1B20</item>
<item name="colorSurface">#1D1B20</item>
<item name="colorOnSurface">#E6E1E5</item>
<item name="colorSurfaceVariant">#49454F</item>
<item name="colorOnSurfaceVariant">#CAC4D0</item>
<item name="colorSurfaceContainerLowest">#16141C</item>
<item name="colorSurfaceContainerLow">#1D1B20</item>
<item name="colorSurfaceContainer">#211F26</item>
<item name="colorSurfaceContainerHigh">#27252D</item>
<item name="colorSurfaceContainerHighest">#36343B</item>
<item name="colorSurfaceInverse">#E6E0E9</item>
<item name="colorOnSurfaceInverse">#322F35</item>
<!-- Outline -->
<item name="colorOutline">#938F99</item>
<item name="colorOutlineVariant">#49454F</item>
<!-- Error (dark) -->
<item name="colorError">#F2B8B5</item>
<item name="colorOnError">#601410</item>
<item name="colorErrorContainer">#8C1D18</item>
<item name="colorOnErrorContainer">#F9DEDC</item>
<!-- Status and custom semantic color attrs (dark) -->
<item name="colorSuccess">#81C784</item>
<item name="colorOnSuccess">#003D00</item>
<item name="colorSuccessContainer">#1B5E1F</item>
<item name="colorOnSuccessContainer">#D9F6DA</item>
<item name="colorWarning">#FFB74D</item>
<item name="colorOnWarning">#4A2C00</item>
<item name="colorWarningContainer">#693B00</item>
<item name="colorOnWarningContainer">#FFE3B6</item>
<item name="colorInfo">#64B5F6</item>
<item name="colorOnInfo">#0B4576</item>
<item name="colorInfoContainer">#0B4576</item>
<item name="colorOnInfoContainer">#D4EAFB</item>
<!-- System bars - edge-to-edge ready (dark) -->
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">false</item>
<!-- M3 Typography and shape defaults inherited from Material3 parent -->
<item name="textAppearanceDisplayLarge">@style/TextAppearance.Material3.DisplayLarge</item>
<item name="textAppearanceDisplayMedium">@style/TextAppearance.Material3.DisplayMedium</item>
<item name="textAppearanceDisplaySmall">@style/TextAppearance.Material3.DisplaySmall</item>
<item name="textAppearanceHeadlineLarge">@style/TextAppearance.Material3.HeadlineLarge</item>
<item name="textAppearanceHeadlineMedium">@style/TextAppearance.Material3.HeadlineMedium</item>
<item name="textAppearanceHeadlineSmall">@style/TextAppearance.Material3.HeadlineSmall</item>
<item name="textAppearanceTitleLarge">@style/TextAppearance.Material3.TitleLarge</item>
<item name="textAppearanceTitleMedium">@style/TextAppearance.Material3.TitleMedium</item>
<item name="textAppearanceTitleSmall">@style/TextAppearance.Material3.TitleSmall</item>
<item name="textAppearanceBodyLarge">@style/TextAppearance.Material3.BodyLarge</item>
<item name="textAppearanceBodyMedium">@style/TextAppearance.Material3.BodyMedium</item>
<item name="textAppearanceBodySmall">@style/TextAppearance.Material3.BodySmall</item>
<item name="textAppearanceLabelLarge">@style/TextAppearance.Material3.LabelLarge</item>
<item name="textAppearanceLabelMedium">@style/TextAppearance.Material3.LabelMedium</item>
<item name="textAppearanceLabelSmall">@style/TextAppearance.Material3.LabelSmall</item>
<!-- Default M3 component styles inherited from Material3 parent; explicit overrides kept to a minimum -->
<item name="materialButtonStyle">@style/Widget.Material3.Button</item>
<item name="materialButtonOutlinedStyle">@style/Widget.Material3.Button.OutlinedButton</item>
<item name="android:windowBackground">?attr/colorSurface</item>
</style>
</resources>