A SwiftUI Mastodon client
Find a file
2023-01-03 18:22:08 +01:00
.github Create FUNDING.yml 2023-01-02 17:53:38 +01:00
IceCubesApp Removed picker and replaced with themepreview view for selecting theme (#24) 2023-01-03 14:42:09 +01:00
IceCubesApp.xcodeproj Bump build 2023-01-03 13:53:00 +01:00
Images Update readme images with new themes 2022-12-29 11:35:48 +01:00
Packages Display pinned statuses on profile 2023-01-03 18:22:08 +01:00
.gitignore Basic mastodon.social timeline as a PoC 2022-11-20 16:39:06 +01:00
LICENSE Initial commit 2022-11-20 15:10:58 +01:00
PRIVACY.MD Add privacy.md 2022-12-30 08:37:51 +01:00
README.md Support filters in statuses 2023-01-03 12:24:15 +01:00

IceCubesApp

Public TestFlight beta (A proper App Store release will come eventually)

For contributors and myself, here is a todo list of features that could be added (while giving you a good idea of what's already done if not in this list, the app is quite complete already!)

  • DM / Conversations
  • Lists support
  • Display images alt
  • [ ] Editor: Post image alts
  • [ ] Editor: Add / Edit polls
  • [ ] Editor: Support video types
  • [ ] Editor: Add photos from camera
  • [ ] Editor: Support custom emojis
  • Editor: Autocomplete for mentions / hashtags
  • [ ] Better settings tab
  • [ ] Edit profile
  • Handle emoji in status
  • Light theme
  • More themes
  • [ ] Display & Edit server side features (filter, default visibility, etc...)
  • Honor filters for statuses.
  • [ ] Edit filters.
  • Open remote status locally
  • More context menu everywhere
  • Support pinned posts
  • Support IceCubesApp://any mastodon links
  • [ ] Add a share sheet
  • Translate button
  • Proper iPad support
  • [ ] macOS support

IceCubesApp is an open source application for accessing the decentralized social network Mastodon! It's built entirely in SwiftUI, making it fast, lightweight, and easy to use.

You can connect to any Mastodon instance and browse your timeline, interact with other users, and post updates and media.

The project is split into different Swift Packages to make it easier to manage and maintain the codebase. Each package is focused on a specific aspect of the application, such as the UI, network communication, or data models. This modular approach allows for easier collaboration and ensures that the code is organized and easy to understand.

It's a great starting point for learning SwiftUI. The app covers many of the basic concepts of SwiftUI, such as building layouts, working with data, and handling user interaction. By exploring the code, you can gain a solid understanding of how to use SwiftUI in your daily life. Plus, the open source nature of IceCubesApp means that you can see how real-world applications are built and get a sense of best practices for using SwiftUI.

The architecture is straighforward MVVM for most parts, no redux on this one ;)

Please note that IceCubesApp is currently in an early stage of development and as such, there are many features that are still missing. While the app is functional and can be used to browse and interact with Mastodon, there are still many features that are planned for the future.

Thanks!

Icon