feat: add Application, MainActivity and Material3 theme

This commit is contained in:
nk
2026-06-01 12:02:35 +03:00
parent 8f26bf16d3
commit 7b1aa0c073
10 changed files with 145 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
package com.radiola
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import com.radiola.ui.theme.RadiolaTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
RadiolaTheme {
// TODO: Navigation will go here
}
}
}
}

View File

@@ -0,0 +1,7 @@
package com.radiola
import android.app.Application
import dagger.hilt.android.HiltAndroidApp
@HiltAndroidApp
class RadiolaApplication : Application()

View File

@@ -0,0 +1,13 @@
package com.radiola.ui.theme
import androidx.compose.ui.graphics.Color
val Primary = Color(0xFF6200EE)
val PrimaryDark = Color(0xFF3700B3)
val Secondary = Color(0xFF03DAC6)
val Background = Color(0xFF121212)
val Surface = Color(0xFF1E1E1E)
val OnPrimary = Color.White
val OnSecondary = Color.Black
val OnBackground = Color.White
val OnSurface = Color.White

View File

@@ -0,0 +1,38 @@
package com.radiola.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
private val DarkColorScheme = darkColorScheme(
primary = Primary,
secondary = Secondary,
background = Background,
surface = Surface,
onPrimary = OnPrimary,
onSecondary = OnSecondary,
onBackground = OnBackground,
onSurface = OnSurface
)
private val LightColorScheme = lightColorScheme(
primary = Primary,
secondary = Secondary,
onPrimary = OnPrimary,
onSecondary = OnSecondary
)
@Composable
fun RadiolaTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable () -> Unit
) {
val colorScheme = if (darkTheme) DarkColorScheme else LightColorScheme
MaterialTheme(
colorScheme = colorScheme,
typography = Typography,
content = content
)
}

View File

@@ -0,0 +1,35 @@
package com.radiola.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
val Typography = Typography(
headlineLarge = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Bold,
fontSize = 28.sp
),
headlineMedium = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.SemiBold,
fontSize = 22.sp
),
titleMedium = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Medium,
fontSize = 16.sp
),
bodyMedium = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Normal,
fontSize = 14.sp
),
labelMedium = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Medium,
fontSize = 12.sp
)
)