package cy.hexor.furumi.ui.theme

import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color

private val DarkColorScheme = darkColorScheme(
    primary = FurumiNeonPink,
    onPrimary = FurumiBlack,
    primaryContainer = FurumiNeonPinkPressed,
    onPrimaryContainer = FurumiBlack,
    secondary = FurumiElectricCyan,
    onSecondary = FurumiBlack,
    tertiary = FurumiNeonViolet,
    background = FurumiBlack,
    onBackground = FurumiText,
    surface = FurumiInk,
    onSurface = FurumiText,
    surfaceVariant = FurumiSurface,
    onSurfaceVariant = FurumiTextMuted,
    outline = FurumiLine,
    error = FurumiHotOrange,
    onError = Color.White
)

private val LightColorScheme = lightColorScheme(
    primary = Color(0xFFB90068),
    onPrimary = Color.White,
    secondary = Color(0xFF006B73),
    tertiary = Color(0xFF6D27B8),
    background = Color(0xFFFFF7FB),
    onBackground = Color(0xFF17101F),
    surface = Color.White,
    onSurface = Color(0xFF17101F),
    surfaceVariant = Color(0xFFF2E6F6),
    onSurfaceVariant = Color(0xFF67536F),
    outline = Color(0xFFD8BFE2)
)

@Composable
fun FurumiTheme(
    darkTheme: Boolean = true,
    content: @Composable () -> Unit
) {
    val colorScheme = if (darkTheme) DarkColorScheme else LightColorScheme

    MaterialTheme(
        colorScheme = colorScheme,
        typography = Typography,
        content = content
    )
}
