Aggregating aggregation. Providing everyone with a premium experience when interacting with federated servers. Meanwhile, providing view libraries and solutions for others to implement their own interpretations in the Apple ecosystem.
My local environment: Xcode 14.2 or later // macOS (Intel) 12.6 or later // iOS 15.4 or later
- Due to the nature of possible state schemas being changed. Saved data such as account information or bookmarks may be removed in future release versions (or not at all).
- Keychain access warning. Keychain is only used for STORING your passwords and nothing else.
- Translated into 28 languages (MTL)
- Bookmarks are locally stored for offline viewing
- IPFS Content generation (Add your own config, gateway, etc)
- Login, Create Posts, Comments, Interact, update profiles as normal
Expanded Layout (iPad/macOS) | |
---|---|
Granite supports macOS. Same navigation API can direct window spawning or navigation stack pushing. | |
Spawn multiple windows of entire feed layouts with multiple communities to observe. Will be helpful in the case of moderating multiple communities for instance. |
Looms | |
---|---|
Create "Looms" of any group of communities from any instance. Merging their content into a singular feed. |
Explore | |
---|---|
Visit linked instances when connected to a lemmy server. View small snippets of each and their ping response time. |
Safety | |
---|---|
On-device CoreML models + keyword filtering to remove posts from the feed. NSFW Extended will remove posts that are detected as NSFW even if they are not flagged as so. |
Styling | |
---|---|
Intended to allow full user customization in the future. Currently supports a "social app feel" and a "reddit-like reader". |
MD helper | |
---|---|
Keyboard toolbar provides easy to access shortcuts on iPhone/iPad to help with Markdown formatting. |
Travelling Modals | |
---|---|
Writing modals can travel with your viewing context. Allowing you to browse content in any stack prior to publishing. |
Bookmark Syncing | |
---|---|
All your saved posts and comments can be switched between accounts in a dedicated component. |
Sharing | |
---|---|
Share posts or comments as images. With the intention of supporting QR codes and Engravings in the future. |
Search | |
---|---|
Either search all, a specific subcategory with sort support. View expanded contents within the view, interacting with content as normal. |
Embedded Webview | |
---|---|
Custom JS insertion supported, customizing how webpages are viewed via direct user input is a possibility. |
Light Mode | |
---|---|
Light mode and Dark mode supported. Refer to the color group in Assets to define your own preferences for each. |
Loom uses Granite as a backing for components and services. The Components folder in this repo serves as a good example for many future components that may be needed. Any suggestions on Granite or other component layouts as a whole is greatly appreciated. Always feel free to open a PR and/or Issue.
An interactive websites to generate boilerplate components using a GUI to define styling and needed state properties is in the works! This will allow you to simply download the generated component and drag into XCode for immediate use.
Mostly because of Relays and project organization. I'd say testing too, but once I get around towards writing the unit tests, I'd feel more confident in sharing the strengths then. These work like @Observables/@AppStorage, but are more flexible in initializations and caching data. The ability to simply declare relays in any View
or GraniteComponent
allows for a more effective iterative process and cleaner context passing throughout the application.
@Relay var configService: ConfigService
- Granite
- MarqueKit
- MarbleKit
- ModerationKit
- FederationKit
- IPFSKit
- NukeUI Thanks to @kean
- MarkdownView Thanks to @LiYanan2004
- KeyboardToolbar Thanks to @simonbs