Skip to content

Commit 4fda42f

Browse files
committed
Import compose theme setup from refactor
Strip out Android-specific implementation for handling black theme for now Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
1 parent 3239e5c commit 4fda42f

3 files changed

Lines changed: 183 additions & 2 deletions

File tree

composeApp/src/commonMain/kotlin/net/newpipe/app/App.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
package net.newpipe.app
77

8-
import androidx.compose.material3.MaterialTheme
98
import androidx.compose.runtime.Composable
9+
import net.newpipe.app.theme.AppTheme
1010
import org.jetbrains.compose.ui.tooling.preview.Preview
1111

1212
@Composable
1313
@Preview
1414
fun App() {
15-
MaterialTheme {
15+
AppTheme {
1616

1717
}
1818
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2024 NewPipe contributors <https://newpipe.net>
3+
* SPDX-FileCopyrightText: 2026 NewPipe e.V. <https://newpipe-ev.de>
4+
* SPDX-License-Identifier: GPL-3.0-or-later
5+
*/
6+
7+
package net.newpipe.app.theme
8+
9+
import androidx.compose.ui.graphics.Color
10+
11+
val primaryLight = Color(0xFF904A45)
12+
val onPrimaryLight = Color(0xFFFFFFFF)
13+
val primaryContainerLight = Color(0xFFFFDAD6)
14+
val onPrimaryContainerLight = Color(0xFF3B0908)
15+
val secondaryLight = Color(0xFF775653)
16+
val onSecondaryLight = Color(0xFFFFFFFF)
17+
val secondaryContainerLight = Color(0xFFFFDAD6)
18+
val onSecondaryContainerLight = Color(0xFF2C1513)
19+
val tertiaryLight = Color(0xFF725B2E)
20+
val onTertiaryLight = Color(0xFFFFFFFF)
21+
val tertiaryContainerLight = Color(0xFFFEDEA6)
22+
val onTertiaryContainerLight = Color(0xFF261900)
23+
val errorLight = Color(0xFFBA1A1A)
24+
val onErrorLight = Color(0xFFFFFFFF)
25+
val errorContainerLight = Color(0xFFFFDAD6)
26+
val onErrorContainerLight = Color(0xFF410002)
27+
val backgroundLight = Color(0xFFFFF8F7)
28+
val onBackgroundLight = Color(0xFF231918)
29+
val surfaceLight = Color(0xFFFFF8F7)
30+
val onSurfaceLight = Color(0xFF231918)
31+
val surfaceVariantLight = Color(0xFFF5DDDB)
32+
val onSurfaceVariantLight = Color(0xFF534342)
33+
val outlineLight = Color(0xFF857371)
34+
val outlineVariantLight = Color(0xFFD8C2BF)
35+
val scrimLight = Color(0xFF000000)
36+
val inverseSurfaceLight = Color(0xFF392E2D)
37+
val inverseOnSurfaceLight = Color(0xFFFFEDEB)
38+
val inversePrimaryLight = Color(0xFFFFB3AC)
39+
val surfaceDimLight = Color(0xFFE8D6D4)
40+
val surfaceBrightLight = Color(0xFFFFF8F7)
41+
val surfaceContainerLowestLight = Color(0xFFFFFFFF)
42+
val surfaceContainerLowLight = Color(0xFFFFF0EF)
43+
val surfaceContainerLight = Color(0xFFFCEAE8)
44+
val surfaceContainerHighLight = Color(0xFFF6E4E2)
45+
val surfaceContainerHighestLight = Color(0xFFF1DEDC)
46+
47+
val primaryDark = Color(0xFFFFB3AC)
48+
val onPrimaryDark = Color(0xFF571E1B)
49+
val primaryContainerDark = Color(0xFF73332F)
50+
val onPrimaryContainerDark = Color(0xFFFFDAD6)
51+
val secondaryDark = Color(0xFFE7BDB8)
52+
val onSecondaryDark = Color(0xFF442927)
53+
val secondaryContainerDark = Color(0xFF5D3F3C)
54+
val onSecondaryContainerDark = Color(0xFFFFDAD6)
55+
val tertiaryDark = Color(0xFFE1C38C)
56+
val onTertiaryDark = Color(0xFF402D04)
57+
val tertiaryContainerDark = Color(0xFF584419)
58+
val onTertiaryContainerDark = Color(0xFFFEDEA6)
59+
val errorDark = Color(0xFFFFB4AB)
60+
val onErrorDark = Color(0xFF690005)
61+
val errorContainerDark = Color(0xFF93000A)
62+
val onErrorContainerDark = Color(0xFFFFDAD6)
63+
val backgroundDark = Color(0xFF1A1110)
64+
val onBackgroundDark = Color(0xFFF1DEDC)
65+
val surfaceDark = Color(0xFF1A1110)
66+
val onSurfaceDark = Color(0xFFF1DEDC)
67+
val surfaceVariantDark = Color(0xFF534342)
68+
val onSurfaceVariantDark = Color(0xFFD8C2BF)
69+
val outlineDark = Color(0xFFA08C8A)
70+
val outlineVariantDark = Color(0xFF534342)
71+
val scrimDark = Color(0xFF000000)
72+
val inverseSurfaceDark = Color(0xFFF1DEDC)
73+
val inverseOnSurfaceDark = Color(0xFF392E2D)
74+
val inversePrimaryDark = Color(0xFF904A45)
75+
val surfaceDimDark = Color(0xFF1A1110)
76+
val surfaceBrightDark = Color(0xFF423735)
77+
val surfaceContainerLowestDark = Color(0xFF140C0B)
78+
val surfaceContainerLowDark = Color(0xFF231918)
79+
val surfaceContainerDark = Color(0xFF271D1C)
80+
val surfaceContainerHighDark = Color(0xFF322827)
81+
val surfaceContainerHighestDark = Color(0xFF3D3231)
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2024 NewPipe contributors <https://newpipe.net>
3+
* SPDX-FileCopyrightText: 2026 NewPipe e.V. <https://newpipe-ev.de>
4+
* SPDX-License-Identifier: GPL-3.0-or-later
5+
*/
6+
7+
package net.newpipe.app.theme
8+
9+
import androidx.compose.foundation.isSystemInDarkTheme
10+
import androidx.compose.material3.MaterialTheme
11+
import androidx.compose.material3.darkColorScheme
12+
import androidx.compose.material3.lightColorScheme
13+
import androidx.compose.runtime.Composable
14+
15+
private val lightScheme = lightColorScheme(
16+
primary = primaryLight,
17+
onPrimary = onPrimaryLight,
18+
primaryContainer = primaryContainerLight,
19+
onPrimaryContainer = onPrimaryContainerLight,
20+
secondary = secondaryLight,
21+
onSecondary = onSecondaryLight,
22+
secondaryContainer = secondaryContainerLight,
23+
onSecondaryContainer = onSecondaryContainerLight,
24+
tertiary = tertiaryLight,
25+
onTertiary = onTertiaryLight,
26+
tertiaryContainer = tertiaryContainerLight,
27+
onTertiaryContainer = onTertiaryContainerLight,
28+
error = errorLight,
29+
onError = onErrorLight,
30+
errorContainer = errorContainerLight,
31+
onErrorContainer = onErrorContainerLight,
32+
background = backgroundLight,
33+
onBackground = onBackgroundLight,
34+
surface = surfaceLight,
35+
onSurface = onSurfaceLight,
36+
surfaceVariant = surfaceVariantLight,
37+
onSurfaceVariant = onSurfaceVariantLight,
38+
outline = outlineLight,
39+
outlineVariant = outlineVariantLight,
40+
scrim = scrimLight,
41+
inverseSurface = inverseSurfaceLight,
42+
inverseOnSurface = inverseOnSurfaceLight,
43+
inversePrimary = inversePrimaryLight,
44+
surfaceDim = surfaceDimLight,
45+
surfaceBright = surfaceBrightLight,
46+
surfaceContainerLowest = surfaceContainerLowestLight,
47+
surfaceContainerLow = surfaceContainerLowLight,
48+
surfaceContainer = surfaceContainerLight,
49+
surfaceContainerHigh = surfaceContainerHighLight,
50+
surfaceContainerHighest = surfaceContainerHighestLight,
51+
)
52+
53+
private val darkScheme = darkColorScheme(
54+
primary = primaryDark,
55+
onPrimary = onPrimaryDark,
56+
primaryContainer = primaryContainerDark,
57+
onPrimaryContainer = onPrimaryContainerDark,
58+
secondary = secondaryDark,
59+
onSecondary = onSecondaryDark,
60+
secondaryContainer = secondaryContainerDark,
61+
onSecondaryContainer = onSecondaryContainerDark,
62+
tertiary = tertiaryDark,
63+
onTertiary = onTertiaryDark,
64+
tertiaryContainer = tertiaryContainerDark,
65+
onTertiaryContainer = onTertiaryContainerDark,
66+
error = errorDark,
67+
onError = onErrorDark,
68+
errorContainer = errorContainerDark,
69+
onErrorContainer = onErrorContainerDark,
70+
background = backgroundDark,
71+
onBackground = onBackgroundDark,
72+
surface = surfaceDark,
73+
onSurface = onSurfaceDark,
74+
surfaceVariant = surfaceVariantDark,
75+
onSurfaceVariant = onSurfaceVariantDark,
76+
outline = outlineDark,
77+
outlineVariant = outlineVariantDark,
78+
scrim = scrimDark,
79+
inverseSurface = inverseSurfaceDark,
80+
inverseOnSurface = inverseOnSurfaceDark,
81+
inversePrimary = inversePrimaryDark,
82+
surfaceDim = surfaceDimDark,
83+
surfaceBright = surfaceBrightDark,
84+
surfaceContainerLowest = surfaceContainerLowestDark,
85+
surfaceContainerLow = surfaceContainerLowDark,
86+
surfaceContainer = surfaceContainerDark,
87+
surfaceContainerHigh = surfaceContainerHighDark,
88+
surfaceContainerHighest = surfaceContainerHighestDark,
89+
)
90+
91+
@Composable
92+
fun AppTheme(useDarkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit) {
93+
MaterialTheme(
94+
colorScheme = when {
95+
!useDarkTheme -> lightScheme
96+
else -> darkScheme
97+
},
98+
content = content
99+
)
100+
}

0 commit comments

Comments
 (0)