brand(art): wire Connection Challenges header (A3 banner) + Quiet hours (A9)
ConnectionChallenges series-list gains the illustration_connection_challenges_header banner (16:9, BrandIllustration) under the title. Notification settings Quiet-hours section gains the illustration_quiet_hours scene centered above the toggle. Verified live: Quiet hours on dark (night-window scene reads beautifully); A3 banner + A1 (transparent, tile=false) + A2 confirmed in the debug gallery — all crisp + on-brand. 0 FATAL. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
fb4620559b
commit
86679752b0
|
|
@ -31,6 +31,9 @@ import androidx.compose.material3.ButtonDefaults
|
||||||
import androidx.compose.material3.TextButton
|
import androidx.compose.material3.TextButton
|
||||||
import androidx.compose.material3.Card
|
import androidx.compose.material3.Card
|
||||||
import androidx.compose.material3.CardDefaults
|
import androidx.compose.material3.CardDefaults
|
||||||
|
import app.closer.R
|
||||||
|
import androidx.compose.foundation.layout.aspectRatio
|
||||||
|
import app.closer.ui.components.BrandIllustration
|
||||||
import app.closer.ui.components.CloserHeartLoader
|
import app.closer.ui.components.CloserHeartLoader
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.IconButton
|
import androidx.compose.material3.IconButton
|
||||||
|
|
@ -377,6 +380,17 @@ private fun ChallengesPickScreen(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
item {
|
||||||
|
BrandIllustration(
|
||||||
|
res = R.drawable.illustration_connection_challenges_header,
|
||||||
|
contentDescription = null,
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.padding(top = 12.dp, bottom = 4.dp)
|
||||||
|
.aspectRatio(16f / 9f)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
items(ChallengesCatalog.all) { challenge ->
|
items(ChallengesCatalog.all) { challenge ->
|
||||||
ChallengePickCard(challenge = challenge, hasPremium = hasPremium, onPick = onPick, onPaywall = onPaywall)
|
ChallengePickCard(challenge = challenge, hasPremium = hasPremium, onPick = onPick, onPaywall = onPaywall)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,11 +17,14 @@ 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.Box
|
||||||
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
|
||||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.layout.size
|
||||||
|
import app.closer.ui.components.BrandIllustration
|
||||||
import androidx.compose.foundation.layout.safeDrawingPadding
|
import androidx.compose.foundation.layout.safeDrawingPadding
|
||||||
import androidx.compose.foundation.rememberScrollState
|
import androidx.compose.foundation.rememberScrollState
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
|
|
@ -199,6 +202,14 @@ fun NotificationSettingsScreen(
|
||||||
modifier = Modifier.padding(horizontal = 4.dp, vertical = 4.dp)
|
modifier = Modifier.padding(horizontal = 4.dp, vertical = 4.dp)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Box(modifier = Modifier.fillMaxWidth(), contentAlignment = Alignment.Center) {
|
||||||
|
BrandIllustration(
|
||||||
|
res = R.drawable.illustration_quiet_hours,
|
||||||
|
contentDescription = null,
|
||||||
|
modifier = Modifier.size(150.dp).padding(bottom = 8.dp)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
Card(
|
Card(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
shape = RoundedCornerShape(16.dp),
|
shape = RoundedCornerShape(16.dp),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue