Compare commits

..

2 Commits

Author SHA1 Message Date
Awang
2ac0393847 Merge remote-tracking branch 'origin/cobaDatabase' into cobaDatabase
# Conflicts:
#	app/src/main/java/com/example/notebook/MainActivity.kt
2025-11-14 21:56:08 +07:00
Awang
a3337622c5 Goldenboy update 2025-11-14 21:51:25 +07:00

View File

@ -40,10 +40,6 @@ class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Initialize PDFBox
com.example.notebook.utils.PdfHelper.initialize(this)
setContent {
NotebookTheme {
Surface(
@ -68,21 +64,12 @@ fun NotebookApp(viewModel: NotebookViewModel) {
var chatInput by remember { mutableStateOf("") }
var selectedNotebookId by remember { mutableIntStateOf(-1) }
// Log setiap kali selectedNotebookId berubah
LaunchedEffect(selectedNotebookId) {
println("🎯 selectedNotebookId berubah menjadi: $selectedNotebookId")
}
// Kalau ada notebook yang dipilih, tampilkan detail screen
if (selectedNotebookId != -1) {
println("✨ Menampilkan NotebookDetailScreen untuk ID: $selectedNotebookId")
com.example.notebook.ui.screens.NotebookDetailScreen(
viewModel = viewModel,
notebookId = selectedNotebookId,
onBack = {
println("⬅️ Kembali dari detail screen")
selectedNotebookId = -1
}
onBack = { selectedNotebookId = -1 }
)
return
}
@ -162,13 +149,7 @@ fun NotebookApp(viewModel: NotebookViewModel) {
}
}
when (selectedTabIndex) {
0 -> StudioScreen(
viewModel = viewModel,
onNotebookClick = { notebookId ->
println("📱 Navigasi ke notebook ID: $notebookId")
selectedNotebookId = notebookId
}
)
0 -> StudioScreen(viewModel)
1 -> ChatScreen(viewModel)
2 -> SourcesScreen(viewModel)
}
@ -178,7 +159,7 @@ fun NotebookApp(viewModel: NotebookViewModel) {
// === STUDIO SCREEN (UPDATED) ===
@Composable
fun StudioScreen(viewModel: NotebookViewModel, onNotebookClick: (Int) -> Unit) {
fun StudioScreen(viewModel: NotebookViewModel) {
val notebooks by viewModel.notebooks.collectAsState()
var showCreateDialog by remember { mutableStateOf(false) }
@ -218,14 +199,8 @@ fun StudioScreen(viewModel: NotebookViewModel, onNotebookClick: (Int) -> Unit) {
items(notebooks) { notebook ->
NotebookCard(
notebook = notebook,
onClick = {
println("🟢 onClick triggered untuk notebook ID: ${notebook.id}")
onNotebookClick(notebook.id)
},
onDelete = {
println("🔴 Delete triggered untuk notebook ID: ${notebook.id}")
viewModel.deleteNotebook(notebook)
}
onClick = { /* TODO: Buka notebook */ },
onDelete = { viewModel.deleteNotebook(notebook) }
)
}
}
@ -271,13 +246,11 @@ fun NotebookCard(
val dateFormat = SimpleDateFormat("dd MMM yyyy, HH:mm", Locale.getDefault())
Card(
modifier = Modifier.fillMaxWidth(),
modifier = Modifier
.fillMaxWidth()
.clickable(onClick = onClick),
shape = RoundedCornerShape(12.dp),
colors = CardDefaults.cardColors(containerColor = Color(0xFFF8F9FA)),
onClick = {
println("🔵 Card onClick: ID=${notebook.id}, Title=${notebook.title}")
onClick()
}
colors = CardDefaults.cardColors(containerColor = Color(0xFFF8F9FA))
) {
Row(
modifier = Modifier