Compare commits
No commits in common. "2ac039384738750d31e200ecaab902719e4393f4" and "30298ac46eb71830a59cba5ae494fb12e3c2121d" have entirely different histories.
2ac0393847
...
30298ac46e
@ -40,6 +40,10 @@ 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(
|
||||||
@ -64,12 +68,21 @@ 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 = { selectedNotebookId = -1 }
|
onBack = {
|
||||||
|
println("⬅️ Kembali dari detail screen")
|
||||||
|
selectedNotebookId = -1
|
||||||
|
}
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -149,7 +162,13 @@ fun NotebookApp(viewModel: NotebookViewModel) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
when (selectedTabIndex) {
|
when (selectedTabIndex) {
|
||||||
0 -> StudioScreen(viewModel)
|
0 -> StudioScreen(
|
||||||
|
viewModel = viewModel,
|
||||||
|
onNotebookClick = { notebookId ->
|
||||||
|
println("📱 Navigasi ke notebook ID: $notebookId")
|
||||||
|
selectedNotebookId = notebookId
|
||||||
|
}
|
||||||
|
)
|
||||||
1 -> ChatScreen(viewModel)
|
1 -> ChatScreen(viewModel)
|
||||||
2 -> SourcesScreen(viewModel)
|
2 -> SourcesScreen(viewModel)
|
||||||
}
|
}
|
||||||
@ -159,7 +178,7 @@ fun NotebookApp(viewModel: NotebookViewModel) {
|
|||||||
|
|
||||||
// === STUDIO SCREEN (UPDATED) ===
|
// === STUDIO SCREEN (UPDATED) ===
|
||||||
@Composable
|
@Composable
|
||||||
fun StudioScreen(viewModel: NotebookViewModel) {
|
fun StudioScreen(viewModel: NotebookViewModel, onNotebookClick: (Int) -> Unit) {
|
||||||
val notebooks by viewModel.notebooks.collectAsState()
|
val notebooks by viewModel.notebooks.collectAsState()
|
||||||
var showCreateDialog by remember { mutableStateOf(false) }
|
var showCreateDialog by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
@ -199,8 +218,14 @@ fun StudioScreen(viewModel: NotebookViewModel) {
|
|||||||
items(notebooks) { notebook ->
|
items(notebooks) { notebook ->
|
||||||
NotebookCard(
|
NotebookCard(
|
||||||
notebook = notebook,
|
notebook = notebook,
|
||||||
onClick = { /* TODO: Buka notebook */ },
|
onClick = {
|
||||||
onDelete = { viewModel.deleteNotebook(notebook) }
|
println("🟢 onClick triggered untuk notebook ID: ${notebook.id}")
|
||||||
|
onNotebookClick(notebook.id)
|
||||||
|
},
|
||||||
|
onDelete = {
|
||||||
|
println("🔴 Delete triggered untuk notebook ID: ${notebook.id}")
|
||||||
|
viewModel.deleteNotebook(notebook)
|
||||||
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -246,11 +271,13 @@ 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
|
modifier = Modifier.fillMaxWidth(),
|
||||||
.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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user