A cheap attempt at a native Bluesky client for Android
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

ProfileView: Open avatar and banner in zoomable image viewer on tap

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

geesawra 74eff5b5 63ef1951

+15
+15
app/src/main/java/industries/geesawra/monarch/ProfileView.kt
··· 328 328 profile: ProfileViewDetailed, 329 329 timelineViewModel: TimelineViewModel, 330 330 ) { 331 + var showImageViewer by remember { mutableStateOf<String?>(null) } 332 + 333 + if (showImageViewer != null) { 334 + GalleryViewer( 335 + imageUrls = listOf(Image(url = showImageViewer!!, fullSize = showImageViewer!!, alt = "")), 336 + onDismiss = { showImageViewer = null }, 337 + ) 338 + } 339 + 331 340 Column { 332 341 // Banner image 333 342 if (profile.banner != null) { ··· 343 352 .fillMaxWidth() 344 353 .height(150.dp) 345 354 .clip(MaterialTheme.shapes.medium) 355 + .clickable { showImageViewer = profile.banner?.uri } 346 356 ) 347 357 } else { 348 358 Spacer( ··· 372 382 modifier = Modifier 373 383 .size(80.dp) 374 384 .clip(CircleShape) 385 + .then( 386 + if (profile.avatar != null) 387 + Modifier.clickable { showImageViewer = profile.avatar?.uri } 388 + else Modifier 389 + ) 375 390 ) 376 391 377 392 if (timelineViewModel.isOwnProfile()) {