package
com.example.newcanaryproject
import
android.content.Context
import
android.content.Intent
import
android.os.Bundle
import
android.widget.Toast
import
androidx.activity.ComponentActivity
import
androidx.activity.compose.setContent
import
androidx.compose.foundation.layout.*
import
androidx.compose.foundation.lazy.LazyColumn
import
androidx.compose.foundation.lazy.itemsIndexed
import
androidx.compose.material.*
import
androidx.compose.runtime.Composable
import
androidx.compose.ui.Alignment
import
androidx.compose.ui.Modifier
import
androidx.compose.ui.graphics.Color
import
androidx.compose.ui.platform.LocalContext
import
androidx.compose.ui.text.style.TextAlign
import
androidx.compose.ui.tooling.preview.Preview
import
androidx.compose.ui.unit.dp
import
com.example.newcanaryproject.ui.theme.NewCanaryProjectTheme
import
com.example.newcanaryproject.ui.theme.greenColor
class
ViewCourses : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContent {
NewCanaryProjectTheme {
Surface(
modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background
) {
Scaffold(
topBar = {
TopAppBar(backgroundColor = greenColor,
title = {
Text(
text =
"GFG"
,
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center,
color = Color.White
)
})
}) {
readDataFromDatabase(LocalContext.current)
}
}
}
}
}
}
@OptIn
(ExperimentalMaterialApi::
class
)
@Composable
fun readDataFromDatabase(context: Context) {
lateinit var courseList: List<CourseModal>
courseList = ArrayList<CourseModal>()
val dbHandler: DBHandler = DBHandler(context);
courseList = dbHandler.readCourses()!!
LazyColumn {
itemsIndexed(courseList) { index, item ->
Card(
onClick = {
val i = Intent(context, UpdateCourse::
class
.java)
i.putExtra(
"courseName"
, courseList[index].courseName)
i.putExtra(
"courseDuration"
, courseList[index].courseDuration)
i.putExtra(
"courseTracks"
, courseList[index].courseTracks)
i.putExtra(
"courseDescription"
, courseList[index].courseDescription)
context.startActivity(i)
},
modifier = Modifier.padding(
8
.dp),
elevation =
6
.dp
)
{
Column(
modifier = Modifier
.padding(
8
.dp)
.fillMaxWidth(),
horizontalAlignment = Alignment.Start,
verticalArrangement = Arrangement.Center
) {
Text(
text = courseList[index].courseName,
modifier = Modifier.padding(
4
.dp),
color = Color.Black, textAlign = TextAlign.Center
)
Spacer(modifier = Modifier.width(
5
.dp))
Text(
text =
"Course Tracks : "
+ courseList[index].courseTracks,
modifier = Modifier.padding(
4
.dp),
color = Color.Black, textAlign = TextAlign.Center
)
Spacer(modifier = Modifier.width(
5
.dp))
Text(
text =
"Course Duration : "
+ courseList[index].courseDuration,
modifier = Modifier.padding(
4
.dp),
color = Color.Black, textAlign = TextAlign.Center
)
Spacer(modifier = Modifier.width(
5
.dp))
Text(
text =
"Description : "
+ courseList[index].courseDescription,
modifier = Modifier.padding(
4
.dp),
color = Color.Black, textAlign = TextAlign.Center
)
}
}
}
}
}