{"id":13536938,"url":"https://github.com/carson-katri/reddit-swiftui","last_synced_at":"2025-05-16T11:03:50.381Z","repository":{"id":38206588,"uuid":"199358885","full_name":"carson-katri/reddit-swiftui","owner":"carson-katri","description":"A cross-platform Reddit client built in SwiftUI","archived":false,"fork":false,"pushed_at":"2022-09-19T05:26:54.000Z","size":933,"stargazers_count":1276,"open_issues_count":7,"forks_count":89,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-09T06:06:55.058Z","etag":null,"topics":["ios","macos","reddit","swiftui","swiftui-example","watchos"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carson-katri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"carson-katri"}},"created_at":"2019-07-29T01:48:20.000Z","updated_at":"2025-04-08T08:37:02.000Z","dependencies_parsed_at":"2023-01-17T17:49:22.024Z","dependency_job_id":null,"html_url":"https://github.com/carson-katri/reddit-swiftui","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carson-katri%2Freddit-swiftui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carson-katri%2Freddit-swiftui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carson-katri%2Freddit-swiftui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carson-katri%2Freddit-swiftui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carson-katri","download_url":"https://codeload.github.com/carson-katri/reddit-swiftui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254518384,"owners_count":22084374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","macos","reddit","swiftui","swiftui-example","watchos"],"created_at":"2024-08-01T09:00:52.207Z","updated_at":"2025-05-16T11:03:50.362Z","avatar_url":"https://github.com/carson-katri.png","language":"Swift","funding_links":["https://github.com/sponsors/carson-katri"],"categories":["Samples","Swift","Sample Apps","HarmonyOS","Misc","News"],"sub_categories":["Blog","Windows Manager","SwiftUI","Video"],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"Resources/banner.jpeg\" /\u003e\u003c/p\u003e\n\u003ch2 align=\"center\"\u003eA cross-platform Reddit client created in SwiftUI.\u003c/h2\u003e\n\u003cp align=\"center\"\u003e\u003ca href=\"https://testflight.apple.com/join/oiQDuLT7\"\u003eGet the Public Beta\u003c/a\u003e\u003c/p\u003e\n\n\u003e *Note:* This project is far from complete. It still lacks many features of your typical Reddit client and has bugs (partly due to SwiftUI, but I'll take credit for some of them)\n\nTo show off SwiftUI's strength in cross-platform development, I did **not** use Mac Catalyst for this project. Instead, common UI code is shared between iOS, macOS, and watchOS.\n\n\n## Project Structure\n* `Shared` - Models, helpers, API, and any shared Views.\n* `Reddit-[PLATFORM]` - Each target folder contains a `Views` and `Representable` folder. `Views` holds platform-specific views, and `Representable` contains `UIViewRepresentables` or `NSViewRepresentables`.\n\n## macOS Specific Features\nI've added several things to make the macOS app stand out:\n1. Double click - You can double click on a post to open a new window for the detail view.\n2. `NSToolbar` - This is implemented entirely in the `AppDelegate`, and uses standard Cocoa code which interfaces with the SwiftUI views.\n3. `TouchBar` - TODO\n\n## SF Symbols\nBecause macOS doesn't support SF Symbols, I have created the following extension to make sure shared code works. I would like to replace this with custom icons for macOS that it loads from `XCAssets` eventually:\n```swift\n/// `SwiftUI` compatibility\n#if os(macOS)\nextension Image {\n    init(systemName: String) {\n        self.init(nsImage: NSImage())\n    }\n}\n#endif\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarson-katri%2Freddit-swiftui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarson-katri%2Freddit-swiftui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarson-katri%2Freddit-swiftui/lists"}