@@ -3,6 +3,7 @@ package ai.openclaw.app.ui
33import ai.openclaw.app.GatewayConnectionProblem
44import ai.openclaw.app.LocationMode
55import ai.openclaw.app.MainViewModel
6+ import ai.openclaw.app.R
67import ai.openclaw.app.SensitiveFeatureConfig
78import ai.openclaw.app.node.DeviceNotificationListenerService
89import ai.openclaw.app.ui.design.ClawDesignTheme
@@ -31,20 +32,25 @@ import androidx.activity.compose.rememberLauncherForActivityResult
3132import androidx.activity.result.contract.ActivityResultContracts
3233import androidx.compose.foundation.BorderStroke
3334import androidx.compose.foundation.Canvas
35+ import androidx.compose.foundation.Image
36+ import androidx.compose.foundation.background
3437import androidx.compose.foundation.layout.Arrangement
3538import androidx.compose.foundation.layout.Box
3639import androidx.compose.foundation.layout.Column
3740import androidx.compose.foundation.layout.PaddingValues
3841import androidx.compose.foundation.layout.Row
3942import androidx.compose.foundation.layout.Spacer
43+ import androidx.compose.foundation.layout.WindowInsets
4044import androidx.compose.foundation.layout.fillMaxSize
4145import androidx.compose.foundation.layout.fillMaxWidth
4246import androidx.compose.foundation.layout.height
4347import androidx.compose.foundation.layout.heightIn
4448import androidx.compose.foundation.layout.imePadding
4549import androidx.compose.foundation.layout.padding
50+ import androidx.compose.foundation.layout.safeDrawing
4651import androidx.compose.foundation.layout.size
4752import androidx.compose.foundation.layout.width
53+ import androidx.compose.foundation.layout.windowInsetsPadding
4854import androidx.compose.foundation.lazy.LazyColumn
4955import androidx.compose.foundation.lazy.items
5056import androidx.compose.foundation.shape.CircleShape
@@ -89,10 +95,12 @@ import androidx.compose.runtime.saveable.rememberSaveable
8995import androidx.compose.runtime.setValue
9096import androidx.compose.ui.Alignment
9197import androidx.compose.ui.Modifier
98+ import androidx.compose.ui.graphics.Brush
9299import androidx.compose.ui.graphics.Color
93100import androidx.compose.ui.graphics.drawscope.Stroke
94101import androidx.compose.ui.graphics.vector.ImageVector
95102import androidx.compose.ui.platform.LocalContext
103+ import androidx.compose.ui.res.painterResource
96104import androidx.compose.ui.text.font.FontFamily
97105import androidx.compose.ui.text.font.FontWeight
98106import androidx.compose.ui.text.style.TextAlign
@@ -359,20 +367,39 @@ private fun WelcomeScreen(
359367 onConnect : () -> Unit ,
360368 modifier : Modifier = Modifier ,
361369) {
362- ClawScaffold (modifier = modifier, contentPadding = PaddingValues (horizontal = 24 .dp, vertical = 18 .dp)) {
370+ val welcomeBackground =
371+ Brush .verticalGradient(
372+ colors =
373+ listOf (
374+ Color (0xFFFF4D4D ),
375+ Color (0xFFD73332 ),
376+ Color (0xFF991B1B ),
377+ Color (0xFF260707 ),
378+ ),
379+ )
380+
381+ Box (
382+ modifier =
383+ modifier
384+ .fillMaxSize()
385+ .background(welcomeBackground)
386+ .windowInsetsPadding(WindowInsets .safeDrawing)
387+ .padding(horizontal = 24 .dp, vertical = 18 .dp),
388+ ) {
363389 Column (
364390 modifier = Modifier .fillMaxSize(),
365391 horizontalAlignment = Alignment .CenterHorizontally ,
366392 ) {
367393 Spacer (modifier = Modifier .height(96 .dp))
368394 Column (horizontalAlignment = Alignment .CenterHorizontally , verticalArrangement = Arrangement .spacedBy(18 .dp)) {
395+ WelcomeLogo ()
369396 Text (
370397 text = " OPENCLAW" ,
371398 style = ClawTheme .type.display.copy(fontSize = 34 .sp, lineHeight = 38 .sp, fontWeight = FontWeight .Black ),
372399 color = ClawTheme .colors.text,
373400 )
374401 Text (
375- text = " Your AI command center. \n Private. Local. Under your control. " ,
402+ text = " Your personal AI assistant. \n Exfoliate! Exfoliate! " ,
376403 style = ClawTheme .type.section,
377404 color = ClawTheme .colors.text,
378405 textAlign = TextAlign .Center ,
@@ -389,6 +416,20 @@ private fun WelcomeScreen(
389416 }
390417}
391418
419+ @Composable
420+ private fun WelcomeLogo () {
421+ Surface (
422+ modifier = Modifier .size(82 .dp),
423+ shape = CircleShape ,
424+ color = Color .White .copy(alpha = 0.92f ),
425+ contentColor = Color .Unspecified ,
426+ ) {
427+ Box (modifier = Modifier .fillMaxSize().padding(12 .dp), contentAlignment = Alignment .Center ) {
428+ Image (painter = painterResource(id = R .drawable.openclaw_logo), contentDescription = " OpenClaw logo" , modifier = Modifier .fillMaxSize())
429+ }
430+ }
431+ }
432+
392433@Composable
393434private fun WelcomeHorizon () {
394435 Canvas (modifier = Modifier .fillMaxWidth().height(120 .dp)) {
0 commit comments