With Mastodon’s popularity I think it’d be really cool to see someone pull off an all SwiftUI Mastodon client. A timeline with inline media, and a rich media viewer would be the standout things to me.

(This isn’t a snark tweet, I’d really love to see it! Seems like a core app type I haven’t seen yet in SwiftUI.)

To get an “A” from me it’d have inline media in the feed (pictures, auto-playing video), and tapping on the media would bring it to a media viewer UI similar to the iOS Photos app (full screen, swipe to close, zoomable, nice transition), and not rely on UIViewRepresentable for the hard parts 😛
@christianselig will trade Apollo ipad update for Christian’s Mastodon Client
@christianselig for political reasons that was a joke
@christianselig I'm trying to build an image viewer package using only SwiftUI. API wise I think it's pretty neat, just wrap the app with a modifier. It's still a WIP, you can see that when dismissing an image, the original image is shown as well, but it's coming along nicely. Hopefully I'll have time to finish it during Christmas break.
@tngranados that looks awesome! Pinch to zoom too?
@christianselig That's where I am right now, it sort of works but it interferes with the dismissing gesture. I think I know how to fix it though
@christianselig ... Noted. Perhaps this could be my first foray into Xcode and Swift. Haven't touched either yet!
@slade good luck! Could be a fun one
@christianselig if I have the chance, let it be known I will send a build your way ;)
@christianselig it’s very tricky, especially if you use SwiftUI views wrapped into UIKit containers.
I tried many times, but with no luck :/
@christianselig not sure if SwiftUI, but toot https://apps.apple.com/app/id1229021451 seems to cover most of your wishes.
@akafester I’m not saying there’s not iOS Mastodon apps, I’m using a good one already in fact, but looking for SwiftUI ones
@christianselig it seems to me (not a developer) that it is a SwiftUI app. Lots of quirky animations.
@akafester I don’t think so, looks like the app came out before SwiftUI was really a thing
@christianselig is there an amount of UIKit you'd accept? Most of my apps end up needing a little sprinkle here and there but majority SwiftUI...
@jknlsn oh yeah some is fine, “needed UIKit for the core foundation of X” not so much
@christianselig Maybe the one by Tapbot ?
@Bluewall I’d eat my hat if that isn’t UIKit
@christianselig I’ve been looking for a SwiftUI project to get me started and I just downloaded Toot! for iOS and had the same thought. Gonna give it a shot 💪🏽💪🏽
@MuseumShuffle @dimillian Ooo! That’s so exciting. Following! I’d be curious how well it handles inline media and transitioning to the media viewer. Hopefully a TestFlight? 😛
@christianselig This is crazy you mention that lol. For now I just show a sheet because I wanted to make something global in my routeur. But I'll revisit it to do something with a ZSTack + shared geometry effect and hopefully it should just works.
@dimillian Wow that looks great! How does tapping on an image look?
@christianselig Like in the video, just open a native sheet with the image full screen. Will later build pinch to zoom etc...
@dimillian ohhh that is an image it’s just a screenshot, doh, thought you were opening a new screen haha
Apple Developer Documentation

@alpennec @christianselig This is genius, I'll try it right away
@alpennec @christianselig It does not seems to actually work with remote URL. It just show me "DATA" even with a URL that have the correct extension.
@dimillian @christianselig yep only local I think. I write my Core Data blob to a temp file stored in the Cache directory and when ready, I present the sheet.
@alpennec @christianselig Just did that, basically downloading attachements if you tap on them and then displaying them using quicklook. Will have proper code up and video soon. This is so good!
@christianselig @MuseumShuffle And about Testflight, it's too early for now, plus I'm doing it for the open source mostly and for myself. Don't know if I'll ever release it proper. But the good thing is that you can clone it and build it yourself :D
@dimillian @christianselig Thomas really appreciate you doing that. Back when I was a beginner and had no idea what I was doing I kept referencing your open source animal crossing app to learn.
@MuseumShuffle One of the reason I'll keep doing it :D
@dimillian @MuseumShuffle Another appreciation post here. I was pretty early to SwiftUI, but found your movies app and it taught me a ton about navigation/structure of more complex apps. Thanks for building out in the open!
@MuseumShuffle @dimillian @christianselig let me jump in and say I too have learned a lot looking at your open source apps as well Thomas. Thank you!
@christianselig @dimillian is already working on one and it's also open source :) https://github.com/Dimillian/IceCubesApp
GitHub - Dimillian/IceCubesApp: A SwiftUI Mastodon client

A SwiftUI Mastodon client. Contribute to Dimillian/IceCubesApp development by creating an account on GitHub.

GitHub
@danielkrausz @dimillian Oooo! Will see if I’m smart enough to understand this later today haha
@christianselig I was hoping you would do it 😆
@kieranmch I’m too much of a SwiftUI noob

@christianselig this app is all SwiftUI!

I haven’t tried it yet though

https://github.com/Dimillian/IceCubesApp

GitHub - Dimillian/IceCubesApp: A SwiftUI Mastodon client

A SwiftUI Mastodon client. Contribute to Dimillian/IceCubesApp development by creating an account on GitHub.

GitHub

@christianselig

Tweet? You mean toot! 🐘🎺

@christianselig make one :P
@ramshandilya I'm not good enough at SwiftUI to try that haha
@christianselig absolutely zero promises
@christianselig oh great it would appear that mastodon mobile is horrible at uploading video