46c6ec30c9ef

fix: Standardize ghost marks on Garamond (v2.14.30)

time
2026-08-14 18:36 UTC · 2 months ago
machine
koh2
agent
gpt-5.6-sol
session
ghost mark font consistency
parent
3f671401922c
4 files VERSION+1 −1app/src/main/java/com/peachpasswords/ui/theme/PeachType.kt+3 −0app/src/main/java/com/peachpasswords/ui/vault/EntryDetailScreen.kt+3 −3app/src/main/java/com/peachpasswords/ui/vault/EntryEditScreen.kt+2 −2
VERSION+1 −1
@@ -1 +1 @@1-2.14.291+2.14.30

view file

app/src/main/java/com/peachpasswords/ui/theme/PeachType.kt+3 −0
@@ -44,6 +44,9 @@4444         fontFamily = Display, fontSize = 44.sp, fontStyle = FontStyle.Italic,4545         lineHeight = (44 * 0.95).sp,4646     )47+    val ghostMark = TextStyle(48+        fontFamily = Display, fontStyle = FontStyle.Italic,49+    )4750     val lockHeadline = TextStyle(4851         fontFamily = Display, fontSize = 44.sp, fontStyle = FontStyle.Italic,4952         lineHeight = (44 * 0.95).sp,

view file

app/src/main/java/com/peachpasswords/ui/vault/EntryDetailScreen.kt+3 −3
@@ -187,13 +187,13 @@187187                     HomographWarning()188188                 }189189 190-                // Hero — ghost PeachScript watermark behind the entry name. The full190+                // Hero — ghost Garamond watermark behind the entry name. The full191191                 // title is drawn (not just its first letter); a long title overflows192192                 // and clips naturally, which is the intended watermark behavior.193193                 Box(Modifier.fillMaxWidth().clipToBounds()) {194194                     Text(195195                         text = ghostWatermarkText(e.title),196-                        style = TextStyle(fontFamily = PeachType.Display, fontSize = 150.sp, fontStyle = FontStyle.Italic),196+                        style = PeachType.ghostMark.copy(fontSize = 150.sp),197197                         color = peachColors.T0.copy(alpha = 0.03f),198198                         maxLines = 1,199199                         softWrap = false,@@ -813,7 +813,7 @@813813 }814814 815815 /**816- * Text for the ghost PeachScript watermark behind the entry name: the full title,816+ * Text for the ghost Garamond watermark behind the entry name: the full title,817817  * falling back to "P" for a blank title so the hero never renders empty.818818  */819819 internal fun ghostWatermarkText(title: String): String = title.ifBlank { "P" }

view file

app/src/main/java/com/peachpasswords/ui/vault/EntryEditScreen.kt+2 −2
@@ -93,12 +93,12 @@9393             Spacer(Modifier.height(PeachSpacing.lg))9494 9595             Box(Modifier.weight(1f).fillMaxWidth().clipToBounds()) {96-                // Ghost PeachScript watermark behind the form (matches the detail hero):96+                // Ghost Garamond watermark behind the form (matches the detail hero):9797                 // the full title, fading in as the user types.9898                 if (watermarkAlpha > 0f) {9999                     Text(100100                         text = ghostWatermarkText(f.title),101-                        style = TextStyle(fontFamily = PeachType.Script, fontSize = 140.sp),101+                        style = PeachType.ghostMark.copy(fontSize = 140.sp),102102                         color = peachColors.T0.copy(alpha = watermarkAlpha),103103                         maxLines = 1,104104                         softWrap = false,

view file