{ "output": "package com.servicebook.ui.components\n\nimport androidx.compose.foundation.background\nimport androidx.compose.foundation.layout.Row\nimport androidx.compose.foundation.layout.fillMaxWidth\nimport androidx.compose.foundation.layout.padding\nimport androidx.compose.foundation.layout.size\nimport androidx.compose.material.icons.Icons\nimport androidx.compose.material.icons.filled.Lock\nimport androidx.compose.material3.Icon\nimport androidx.compose.material3.MaterialTheme\nimport androidx.compose.material3.Text\nimport androidx.compose.material3.TextButton\nimport androidx.compose.runtime.Composable\nimport androidx.compose.ui.Alignment\nimport androidx.compose.ui.Modifier\nimport androidx.compose.ui.platform.testTag\nimport androidx.compose.ui.res.stringResource\nimport androidx.compose.ui.unit.dp\nimport com.servicebook.R\n\n@Composable\nfun ReadOnlyWarningBanner(\n onUpgradeClick: () -> Unit,\n modifier: Modifier = Modifier,\n) {\n Row(\n modifier =\n modifier\n .fillMaxWidth()\n .background(MaterialTheme.colorScheme.errorContainer)\n .padding(horizontal = 12.dp, vertical = 8.dp)\n .testTag(\"readonly-banner\"),\n verticalAlignment = Alignment.CenterVertically,\n ) {\n Icon(\n imageVector = Icons.Default.Lock,\n contentDescription = null,\n modifier = Modifier.size(20.dp),\n tint = MaterialTheme.colorScheme.onErrorContainer,\n )\n Text(\n text = stringResource(R.string.banner_text),\n modifier =\n Modifier\n .weight(1f)\n .padding(horizontal = 12.dp),\n style = MaterialTheme.typography.bodyMedium,\n color = MaterialTheme.colorScheme.onErrorContainer,\n )\n TextButton(onClick = onUpgradeClick) {\n Text(\n text = stringResource(R.string.banner_upgrade),\n color = MaterialTheme.colorScheme.error,\n )\n }\n }\n}\n" }