QuizScreen
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun PageDetailsScreen(navController: NavController, pageId: String) {
val context = LocalContext.current
// Maan lijiye aapka repository html content fetch karta hai
var pageTitle by remember { mutableStateOf("Loading...") }
var pageContent by remember { mutableStateOf("") }
var isLoading by remember { mutableStateOf(true) }
// Simulating Data Fetch
LaunchedEffect(pageId) {
// Aap yahan repository.getPage(pageId) call karenge
kotlinx.coroutines.delay(1000)
pageTitle = if (pageId == "about") "About Kuklee Pro" else "Information"
pageContent = "Welcome to Kuklee GK Pro. This platform is designed to provide high-quality practice questions for competitive exams. \n\nStay tuned for daily updates!"
isLoading = false
}
Scaffold(
topBar = {
MediumTopAppBar(
title = { Text(pageTitle, fontWeight = FontWeight.Bold) },
navigationIcon = {
IconButton(onClick = { navController.popBackStack() }) {
Icon(Icons.Default.ArrowBack, contentDescription = "Back")
}
},
colors = TopAppBarDefaults.mediumTopAppBarColors(containerColor = Color.White)
)
},
bottomBar = { BannerAdView() } // Consistency ke liye app-wide banner
) { padding ->
if (isLoading) {
Box(Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
CircularProgressIndicator(color = Color(0xFF6750A4))
}
} else {
Column(
modifier = Modifier
.padding(padding)
.fillMaxSize()
.verticalScroll(rememberScrollState())
.padding(16.dp)
) {
// Feature Image ya Icon Placeholder
Box(
modifier = Modifier
.fillMaxWidth()
.height(200.dp)
.clip(RoundedCornerShape(24.dp))
.background(Color(0xFFF3F0FF)),
contentAlignment = Alignment.Center
) {
Text("📖", fontSize = 80.sp)
}
Spacer(modifier = Modifier.height(24.dp))
// Content Card
Card(
modifier = Modifier.fillMaxWidth(),
shape = RoundedCornerShape(16.dp),
colors = CardDefaults.cardColors(containerColor = Color(0xFFFAFAFA)),
elevation = CardDefaults.cardElevation(0.dp),
border = BorderStroke(1.dp, Color(0xFFEEEEEE))
) {
Column(modifier = Modifier.padding(20.dp)) {
Text(
text = pageContent,
style = MaterialTheme.typography.bodyLarge,
lineHeight = 28.sp,
color = Color.DarkGray
)
}
}
Spacer(modifier = Modifier.height(20.dp))
// Share Button
OutlinedButton(
onClick = { /* Share Logic */ },
modifier = Modifier.fillMaxWidth(),
shape = RoundedCornerShape(12.dp)
) {
Icon(Icons.Default.Share, contentDescription = null)
Spacer(Modifier.width(8.dp))
Text("Share with Friends")
}
}
}
}