From adb6a4fd9ec3a23c04d5e4c2ce799448237915c4 Mon Sep 17 00:00:00 2001 From: JustZvan Date: Fri, 6 Feb 2026 13:38:36 +0100 Subject: feat: initial commit --- app/src/main/java/sh/lajo/buddy/ui/theme/Theme.kt | 66 +++++++++++++++++++++++ app/src/main/java/sh/lajo/buddy/ui/theme/Type.kt | 34 ++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 app/src/main/java/sh/lajo/buddy/ui/theme/Theme.kt create mode 100644 app/src/main/java/sh/lajo/buddy/ui/theme/Type.kt (limited to 'app/src/main/java/sh/lajo/buddy/ui') diff --git a/app/src/main/java/sh/lajo/buddy/ui/theme/Theme.kt b/app/src/main/java/sh/lajo/buddy/ui/theme/Theme.kt new file mode 100644 index 0000000..71f61b6 --- /dev/null +++ b/app/src/main/java/sh/lajo/buddy/ui/theme/Theme.kt @@ -0,0 +1,66 @@ +package sh.lajo.buddy.ui.theme + +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.graphics.Color + +private val DarkColorScheme = darkColorScheme( + primary = Color(0xFFF42E2E), + onPrimary = Color(0xFFF3F3F3), + + primaryContainer = Color(0xFFF42E2E), + onPrimaryContainer = Color(0xFFF3F3F3), + + secondary = Color(0xFFF42E2E), + onSecondary = Color(0xFFF3F3F3), + + secondaryContainer = Color(0xFFF42E2E), + onSecondaryContainer = Color(0xFFF3F3F3), + + background = Color(0xFF020202), + onBackground = Color(0xFFF3F3F3), + + surface = Color(0xFF111112), + onSurface = Color(0xFFF3F3F3), + + surfaceVariant = Color(0xFF1A1A1B), + onSurfaceVariant = Color(0xFFF3F3F3), + + surfaceContainer = Color(0xFF111112), + surfaceContainerLow = Color(0xFF0A0A0A), + + outline = Color(0xFF3A3A3A), +) + + + +private val LightColorScheme = lightColorScheme( + primary = Color(0xFFF42E2E), // Red foreground (same as dark for brand consistency) + onPrimary = Color(0xFFFFFFFF), // Text/icons on primary + background = Color(0xFFF3F3F3), // Light background + onBackground = Color(0xFF020202), // Text/icons on background + surface = Color(0xFFFFFFFF), // Cards, sheets, etc. + onSurface = Color(0xFF020202), // Text/icons on surface + tertiary = Color(0xFF1A1A1B), // Accent elements +) + +@Composable +fun BuddyTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + dynamicColor: Boolean = false, + content: @Composable () -> Unit, +) { + val context = LocalContext.current + + val colorScheme = if (darkTheme) DarkColorScheme else LightColorScheme + + MaterialTheme( + colorScheme = colorScheme, + typography = Typography, + content = content + ) +} diff --git a/app/src/main/java/sh/lajo/buddy/ui/theme/Type.kt b/app/src/main/java/sh/lajo/buddy/ui/theme/Type.kt new file mode 100644 index 0000000..743e63c --- /dev/null +++ b/app/src/main/java/sh/lajo/buddy/ui/theme/Type.kt @@ -0,0 +1,34 @@ +package sh.lajo.buddy.ui.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +// Set of Material typography styles to start with +val Typography = Typography( + bodyLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + /* Other default text styles to override + titleLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 22.sp, + lineHeight = 28.sp, + letterSpacing = 0.sp + ), + labelSmall = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Medium, + fontSize = 11.sp, + lineHeight = 16.sp, + letterSpacing = 0.5.sp + ) + */ +) \ No newline at end of file -- cgit v1.2.3