i figured out how to use fonts

This commit is contained in:
Chloe committed 2025-09-17 12:53:09 -07:00
1 parent b418e154da
commit 8e8a56da2e
8 files changed
+50 -10

No files matched your search

@@ -53,11 +53,13 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
import com.geode.launcher.main.* import com.geode.launcher.main.*
import com.geode.launcher.ui.theme.GeodeLauncherTheme import com.geode.launcher.ui.theme.GeodeLauncherTheme
import com.geode.launcher.ui.theme.LocalTheme import com.geode.launcher.ui.theme.LocalTheme
import com.geode.launcher.ui.theme.Theme import com.geode.launcher.ui.theme.Theme
import com.geode.launcher.ui.theme.launcherTitleStyle
import com.geode.launcher.utils.Constants import com.geode.launcher.utils.Constants
import com.geode.launcher.utils.GamePackageUtils import com.geode.launcher.utils.GamePackageUtils
import com.geode.launcher.utils.LaunchUtils import com.geode.launcher.utils.LaunchUtils
@@ -415,7 +417,8 @@ fun GeodeLogo(modifier: Modifier = Modifier) {
) )
Text( Text(
stringResource(R.string.launcher_title), stringResource(R.string.launcher_title),
style = MaterialTheme.typography.displayMedium, style = launcherTitleStyle,
fontSize = 52.sp,
modifier = Modifier.padding(12.dp) modifier = Modifier.padding(12.dp)
) )
} }
@@ -34,6 +34,7 @@ import com.geode.launcher.updater.ReleaseViewModel
import com.geode.launcher.ui.theme.GeodeLauncherTheme import com.geode.launcher.ui.theme.GeodeLauncherTheme
import com.geode.launcher.ui.theme.LocalTheme import com.geode.launcher.ui.theme.LocalTheme
import com.geode.launcher.ui.theme.Theme import com.geode.launcher.ui.theme.Theme
import com.geode.launcher.ui.theme.launcherTitleStyle
import com.geode.launcher.utils.Constants import com.geode.launcher.utils.Constants
import com.geode.launcher.utils.LaunchUtils import com.geode.launcher.utils.LaunchUtils
import com.geode.launcher.utils.PreferenceUtils import com.geode.launcher.utils.PreferenceUtils
@@ -164,7 +165,7 @@ fun MainScreen(
) )
Text( Text(
context.getString(R.string.launcher_title), context.getString(R.string.launcher_title),
fontSize = 32.sp, style = launcherTitleStyle,
modifier = Modifier.padding(12.dp) modifier = Modifier.padding(12.dp)
) )
@@ -70,6 +70,7 @@ import com.geode.launcher.ui.theme.GeodeLauncherTheme
import com.geode.launcher.ui.theme.LocalTheme import com.geode.launcher.ui.theme.LocalTheme
import com.geode.launcher.ui.theme.Theme import com.geode.launcher.ui.theme.Theme
import com.geode.launcher.ui.theme.Typography import com.geode.launcher.ui.theme.Typography
import com.geode.launcher.ui.theme.robotoMonoFamily
import com.geode.launcher.utils.PreferenceUtils import com.geode.launcher.utils.PreferenceUtils
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -167,12 +168,12 @@ fun LogCard(logLine: LogLine, modifier: Modifier = Modifier) {
"[${logLine.priority.toChar()}] ${logLine.formattedTime}", "[${logLine.priority.toChar()}] ${logLine.formattedTime}",
style = Typography.labelSmall, style = Typography.labelSmall,
color = getLogColor(logLine.priority), color = getLogColor(logLine.priority),
fontFamily = FontFamily.Monospace fontFamily = robotoMonoFamily
) )
Text( Text(
"[${logLine.tag}]: ${logLine.messageTrimmed}", "[${logLine.tag}]: ${logLine.messageTrimmed}",
fontFamily = FontFamily.Monospace, fontFamily = robotoMonoFamily,
style = Typography.bodyMedium style = Typography.bodyMedium
) )
} }
@@ -16,6 +16,7 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
@@ -48,6 +49,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.input.nestedscroll.nestedScroll
@@ -68,6 +70,7 @@ import com.geode.launcher.ui.theme.GeodeLauncherTheme
import com.geode.launcher.ui.theme.LocalTheme import com.geode.launcher.ui.theme.LocalTheme
import com.geode.launcher.ui.theme.Theme import com.geode.launcher.ui.theme.Theme
import com.geode.launcher.ui.theme.Typography import com.geode.launcher.ui.theme.Typography
import com.geode.launcher.ui.theme.robotoMonoFamily
import com.geode.launcher.utils.LaunchUtils import com.geode.launcher.utils.LaunchUtils
import com.geode.launcher.utils.PreferenceUtils import com.geode.launcher.utils.PreferenceUtils
import java.io.File import java.io.File
@@ -130,15 +133,25 @@ fun shareCrash(context: Context, filename: String) {
@OptIn(ExperimentalTime::class) @OptIn(ExperimentalTime::class)
@Composable @Composable
fun CrashCard(crashDump: CrashDump, crashViewModel: CrashViewModel, modifier: Modifier = Modifier) { fun CrashCard(crashDump: CrashDump, crashViewModel: CrashViewModel, modifier: Modifier = Modifier) {
Row(modifier = Modifier Row(verticalAlignment = Alignment.CenterVertically, modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.padding(vertical = 1.dp, horizontal = 8.dp) .padding(vertical = 1.dp, horizontal = 8.dp)
.height(64.dp)
.then(modifier) .then(modifier)
.background(MaterialTheme.colorScheme.surfaceContainerLow) .background(MaterialTheme.colorScheme.surfaceContainerLow)
.padding(vertical = 8.dp, horizontal = 8.dp) .padding(vertical = 8.dp, horizontal = 8.dp)
) { ) {
Column(verticalArrangement = Arrangement.spacedBy(4.dp), modifier = Modifier.offset(x = 4.dp)) { Column(
Text(crashDump.filename, fontFamily = FontFamily.Monospace) verticalArrangement = Arrangement.SpaceAround,
modifier = Modifier.fillMaxHeight().offset(x = 12.dp).weight(0.7f)
) {
Text(
crashDump.filename,
fontFamily = robotoMonoFamily,
style = MaterialTheme.typography.titleSmall,
overflow = TextOverflow.Ellipsis,
maxLines = 1
)
val formattedLastModified = remember { val formattedLastModified = remember {
DateFormat.getDateTimeInstance() DateFormat.getDateTimeInstance()
@@ -150,9 +163,7 @@ fun CrashCard(crashDump: CrashDump, crashViewModel: CrashViewModel, modifier: Mo
Text(formattedLastModified, style = MaterialTheme.typography.labelMedium) Text(formattedLastModified, style = MaterialTheme.typography.labelMedium)
} }
Spacer(Modifier.weight(1.0f)) Row(modifier = Modifier.weight(0.3f), horizontalArrangement = Arrangement.End) {
Row {
val context = LocalContext.current val context = LocalContext.current
IconButton(onClick = { IconButton(onClick = {
shareCrash(context, crashDump.filename) shareCrash(context, crashDump.filename)
@@ -0,0 +1,24 @@
package com.geode.launcher.ui.theme
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.sp
import com.geode.launcher.R
val robotoMonoFamily = FontFamily(
Font(R.font.robotomono_medium, FontWeight.Medium),
Font(R.font.robotomono_regular, FontWeight.Normal)
)
val quicksandFamily = FontFamily(
Font(R.font.quicksand_semibold, FontWeight.SemiBold)
)
val launcherTitleStyle = TextStyle(
fontFamily = quicksandFamily,
fontWeight = FontWeight.SemiBold,
fontSize = 32.sp,
letterSpacing = 0.sp
)
Binary file not shown.
Binary file not shown.
Binary file not shown.