This commit is contained in:
Андрей Дувакин 2025-01-27 20:10:03 +05:00
parent dcef23b404
commit 7eda0718a8

View File

@ -1,7 +1,9 @@
package com.example.russionroadsapp
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.provider.CalendarContract
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
@ -99,7 +101,7 @@ class MainActivity : ComponentActivity() {
}
@Composable
fun EventCard(event: Map<String, String>) {
fun EventCard(event: Map<String, String>, context: Context) {
Column(
Modifier
.clip(RoundedCornerShape(10.dp))
@ -118,7 +120,10 @@ fun EventCard(event: Map<String, String>) {
event["title"]?.let { Text(it) }
event["description"]?.let { Text(it) }
}
Icon(Icons.Default.Star, contentDescription = "")
Icon(Icons.Default.Star, contentDescription = "Добавить в календарь",
modifier = Modifier.clickable {
addEventToCalendar(context, event)
})
}
Row(
Modifier.fillMaxWidth(),
@ -130,6 +135,19 @@ fun EventCard(event: Map<String, String>) {
}
}
fun addEventToCalendar(context: Context, event: Map<String, String>) {
val intent = Intent(Intent.ACTION_INSERT).apply {
data = CalendarContract.Events.CONTENT_URI
putExtra(CalendarContract.Events.TITLE, event["title"])
putExtra(CalendarContract.Events.DESCRIPTION, event["description"])
putExtra(
CalendarContract.EXTRA_EVENT_BEGIN_TIME,
System.currentTimeMillis()
) // Можно заменить на конкретную дату
}
context.startActivity(intent)
}
@Composable
fun EventsPage(localContext: Context, setPageNews: () -> Unit, setPageEvents: () -> Unit) {
@ -267,7 +285,7 @@ fun EventsPage(localContext: Context, setPageNews: () -> Unit, setPageEvents: ()
verticalArrangement = Arrangement.spacedBy(20.dp)
) {
items(eventsList.size) { index ->
EventCard(eventsList[index])
EventCard(eventsList[index], localContext)
}
}