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