diff --git a/app-ios-shared/src/commonMain/kotlin/io/github/droidkaigi/confsched/shared/IosComposeKaigiApp.kt b/app-ios-shared/src/commonMain/kotlin/io/github/droidkaigi/confsched/shared/IosComposeKaigiApp.kt index 16d72196f..5105d0bee 100644 --- a/app-ios-shared/src/commonMain/kotlin/io/github/droidkaigi/confsched/shared/IosComposeKaigiApp.kt +++ b/app-ios-shared/src/commonMain/kotlin/io/github/droidkaigi/confsched/shared/IosComposeKaigiApp.kt @@ -58,6 +58,7 @@ import io.github.droidkaigi.confsched.staff.staffScreens import io.github.droidkaigi.confsched.droidkaigiui.NavHostWithSharedAxisX import io.github.droidkaigi.confsched.eventmap.eventMapScreenRoute import io.github.droidkaigi.confsched.favorites.favoritesScreenRoute +import io.github.droidkaigi.confsched.model.TimetableItem import io.github.droidkaigi.confsched.profilecard.profileCardScreenRoute import platform.Foundation.NSURL import platform.UIKit.UIApplication @@ -114,11 +115,7 @@ private fun KaigiNavHost( onNavigationIconClick = navController::popBackStack, onLinkClick = externalNavController::navigate, onCalendarRegistrationClick = {},//externalNavController::navigateToCalendarRegistration, - // For debug -// onShareClick = externalNavController::onShareClick, - onShareClick = { - navController.navigate(contributorsScreenRoute) - }, + onShareClick = externalNavController::onShareClick, onFavoriteListClick = {} // { navController.navigate(favoritesScreenRoute) } ) @@ -271,6 +268,14 @@ private class ExternalNavController( UIApplication.sharedApplication.openURL(nsUrl) } + fun onShareClick(timetableItem: TimetableItem) { + shareNavigator.share( + "[${timetableItem.room.name.currentLangTitle}] ${timetableItem.startsTimeString} - ${timetableItem.endsTimeString}\n" + + "${timetableItem.title.currentLangTitle}\n" + + timetableItem.url, + ) + } + fun onShareProfileCardClick( text: String, imageBitmap: ImageBitmap, diff --git a/app-ios-shared/src/commonMain/kotlin/io/github/droidkaigi/confsched/shared/share/ShareNavigator.kt b/app-ios-shared/src/commonMain/kotlin/io/github/droidkaigi/confsched/shared/share/ShareNavigator.kt index ea8dd6ee7..69aa2ba32 100644 --- a/app-ios-shared/src/commonMain/kotlin/io/github/droidkaigi/confsched/shared/share/ShareNavigator.kt +++ b/app-ios-shared/src/commonMain/kotlin/io/github/droidkaigi/confsched/shared/share/ShareNavigator.kt @@ -5,6 +5,20 @@ import platform.UIKit.UIActivityViewController import platform.UIKit.UIApplication class ShareNavigator { + fun share(text: String) { + val items = mutableListOf(text) + + val activityViewController = UIActivityViewController(items, null) + val keyWindow = UIApplication.sharedApplication.keyWindow + val rootViewController = keyWindow?.rootViewController + + rootViewController?.presentViewController( + viewControllerToPresent = activityViewController, + animated = true, + completion = null, + ) + } + fun shareTextWithImage(text: String, image: ImageBitmap) { val items = mutableListOf(text) image.toUiImage()?.let {