{"id":45469674,"url":"https://github.com/SimformSolutionsPvtLtd/SSStoryStatus","last_synced_at":"2026-03-07T12:01:02.072Z","repository":{"id":212028570,"uuid":"602890355","full_name":"SimformSolutionsPvtLtd/SSStoryStatus","owner":"SimformSolutionsPvtLtd","description":"SSStoryStatus: Elevate your SwiftUI projects with seamless user list integration and captivating story displays. Empowering developers with effortless integration and complete UI customization, this versatile library makes showcasing stories a breeze.","archived":false,"fork":false,"pushed_at":"2023-12-15T09:54:10.000Z","size":2180,"stargazers_count":34,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-02-07T10:08:31.276Z","etag":null,"topics":["control","custom-control","customization","ios","status","story","story-status","storytelling","swiftui","swiftui-learning"],"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/SimformSolutionsPvtLtd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-17T06:45:57.000Z","updated_at":"2025-03-07T14:16:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"5c136b0c-3cc1-42be-9fae-fba7b7ae6d4a","html_url":"https://github.com/SimformSolutionsPvtLtd/SSStoryStatus","commit_stats":null,"previous_names":["simformsolutionspvtltd/ssstorystatus"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/SimformSolutionsPvtLtd/SSStoryStatus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSStoryStatus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSStoryStatus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSStoryStatus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSStoryStatus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimformSolutionsPvtLtd","download_url":"https://codeload.github.com/SimformSolutionsPvtLtd/SSStoryStatus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSStoryStatus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30212485,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T09:02:10.694Z","status":"ssl_error","status_checked_at":"2026-03-07T09:02:08.429Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["control","custom-control","customization","ios","status","story","story-status","storytelling","swiftui","swiftui-learning"],"created_at":"2026-02-22T11:00:17.607Z","updated_at":"2026-03-07T12:01:02.063Z","avatar_url":"https://github.com/SimformSolutionsPvtLtd.png","language":"Swift","funding_links":[],"categories":["iOS"],"sub_categories":["SwiftUI"],"readme":"![SSStoryStatus][Banner]\n\n# SSStoryStatus\n\n\u003c!-- Badges --\u003e\n\n[![Swift Compatibility-badge]][Swift Package Index]\n[![Platform Compatibility-badge]][Swift Package Index]\n[![Release-badge]][Release]\n[![License Badge-badge]][license]\n[![Pod Version-badge]][CocoaPods]\n[![SPM Compatible-badge]][Swift Package Manager]\n\n\u003c!-- Description --\u003e\n\nSSStoryStatus is a versatile and intuitive SwiftUI library designed to effortlessly display user lists and seamlessly showcase their captivating stories. This library empowers developers to effortless integration of user listings with story viewing functionality. This library provides complete control over view components for UI customization.\n\n\u003c!-- Previews --\u003e\n\n|      Profile Listing       |      Story View       |      Message \u0026 Reaction     |\n|:--------------------------:|:---------------------:|:---------------------------:|\n| \u003cimg width=260px src=\"https://user-images.githubusercontent.com/147126103/290073480-42fed496-dd35-451e-a880-c45553dd0855.gif\" /\u003e | \u003cimg width=260px src=\"https://user-images.githubusercontent.com/147126103/290073494-43078c40-6afb-4da3-9a8f-cadecfcad442.gif\" /\u003e | \u003cimg width=260px src=\"https://user-images.githubusercontent.com/147126103/290073453-66dec87f-7eea-4e14-8c73-327cba246801.gif\" /\u003e |\n\n## Features\n\n- [x] Image \u0026 Video stories\n- [x] Customizable component with styles\n- [x] Built-in caching support\n- [x] Callback on story seen\n- [x] Reaction emojis and message\n- [x] Story caption support\n\n## Requirements\n\n- iOS 17+\n- XCode 15+\n- Swift 5.9+\n\n## Installation\n\n### Swift Package Manager\n\nYou can install `SSStoryStaus` using [Swift Package Manager] by:\n\n1. Go to `Xcode` -\u003e `File` -\u003e `Add Package Dependencies...`\n2. Add package URL [https://github.com/SimformSolutionsPvtLtd/SSStoryStatus][SSStoryStatus]\n\n### CocoaPods\n\n[CocoaPods][CocoaPods.org] is a dependency manager for Cocoa projects. You can install it with the following command:\n\n```bash\n$ gem install cocoapods\n```\n\nNavigate to project root folder to integrate pod.\n\n```bash\n$ pod init\n```\n\nIt will generate `Podfile` for your project. To integrate SSStoryStatus into your project specify it in your `Podfile`:\n\n```ruby\nplatform :ios, '17.0'\nuse_frameworks!\n\ntarget '\u003cYour Target Name\u003e' do\n    pod 'SSStoryStatus'\nend\n```\n\nThen, run the following command:\n\n```bash\n$ pod install\n```\n\nIt will generate `\u003cProject\u003e.xcworkspace` file. From now on you should open the project using this file.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch4\u003e Script Sandboxing Error\u003c/h4\u003e\u003c/summary\u003e\n\nIf you face build error `Command PhaseScriptExecution failed with a nonzero exit code` then follow this steps:\n\nGo to project `Build Settings` -. Search for `User Script Sandboxing` -\u003e Set to `No`.\n\nRefrence - [User Script Sandboxing]\n\u003c/details\u003e\n\n## Usage\n\nFirst import required package:\n\n```swift\nimport SSStoryStatus\n```\n\n`SSStoryStatus` accepts list of Users as `UserModel`.\n\n```swift\nlet users: [UserModel] = [\n    UserModel(\n        id: UUID().uuidString, // Unique identifier for user (optional, uses UUID by default)\n        name: \"Krunal\",        // Name of user\n        image: \"\",             // URL of profile image\n        stories: stories,      // List of story for this user\n    )\n]\n```\n\n`UserModel` accepts stories for each user as list of `StoryModel`.\n\n```swift\nlet stories: [StoryModel] = [\n    StoryModel(\n        id: UUID().uuidString,  // Unique identifier for story (optional, uses UUID by default)\n        mediaURL: \"\",           // Media url of image or video\n        date: .now,             // Story creation date\n        caption: \"\",            // Caption for the story (optional)\n        mediaType: .image,      // Media type: image or video\n        storyState: .seen       // Story is seen or unseen\n    )\n]\n```\n\nNow, you can pass this list of user to `SSStoryStatus`.\n\n```swift\nSSStoryStatus(\n    users: users,            // List of users\n    sorted: true,            // Whether the users should be sorted based on their seen status (default is false)\n    cacheExpire: expireDate  // Date indicating cache expiration time (default is 24 hours)\n)\n```\n\nYou can listen to callback when user see any story:\n\n```swift\nSSStoryStatus(users: users)\n    .onStorySeen { user, storyIndex in\n        print(\"Seen - \", user.stories[storyIndex].mediaURL) // You can retrieve story instance using user and storyIndex\n    }\n```\n\nWhen user press any emoji or reply to story you can observe it:\n\n```swift\nSSStoryStatus(users: users)\n    .emoji { emoji, user, storyIndex in\n        print(\"Selected \\(emoji) for story \\(user.stories[storyIndex].id)\") // Emoji pressed by user\n    }\n    .messageField { message, user, storyIndex in\n        print(\"Sent \\(message) to \\(user.name)\") // Message sent\n    }   \n```\n\n## Customization\n\nFor customizing SSStoryStatus please refer [Customization Guide].\n\n## Documentation\n\n__[Documentation]__ - Find the full API reference for more detailed documentation.\n\n## Find this samples useful? :heart:\n\nSupport it by joining [stargazers] :star: for this repository.\n\n## How to Contribute :handshake:\n\nWhether you're helping us fix bugs, improve the docs, or a feature request, we'd love to have you! :muscle: \\\nCheck out our __[Contributing Guide]__ for ideas on contributing.\n\n## Bugs and Feedback\n\nFor bugs, feature feature requests, and discussion use [GitHub Issues].\n\n## Other Mobile Libraries\n\nCheck out our other libraries [Awesome-Mobile-Libraries].\n\n## License\n\nDistributed under the MIT license. See [LICENSE] for details.\n\n\u003c!-- Reference links --\u003e\n\n[Banner]:                   https://user-images.githubusercontent.com/147126103/290074193-8d2ff159-0026-43bc-bcb0-3fa8c9f5d718.png\n\n[SSStoryStatus]:            https://github.com/SimformSolutionsPvtLtd/SSStoryStatus\n\n[Swift Package Manager]:    https://www.swift.org/package-manager\n\n[Swift Package Index]:      https://swiftpackageindex.com/SimformSolutionsPvtLtd/SSStoryStatus\n\n[Documentation]:            https://swiftpackageindex.com/SimformSolutionsPvtLtd/SSStoryStatus/documentation/ssstorystatus\n\n[CocoaPods]:                https://cocoapods.org/pods/SSStoryStatus\n\n[CocoaPods.org]:            https://cocoapods.org/\n\n[User Script Sandboxing]:   https://github.com/CocoaPods/CocoaPods/issues/11946#issuecomment-1587846325\n\n[Release]:                  https://github.com/SimformSolutionsPvtLtd/SSStoryStatus/releases/latest\n\n[Customization Guide]:      docs/Customization.md\n\n[stargazers]:               https://github.com/SimformSolutionsPvtLtd/SSStoryStatus/stargazers\n\n[Contributing Guide]:       CONTRIBUTING.md\n\n[Github Issues]:            https://github.com/SimformSolutionsPvtLtd/SSStoryStatus/issues\n\n[Awesome-Mobile-Libraries]: https://github.com/SimformSolutionsPvtLtd/Awesome-Mobile-Libraries\n\n[license]:                  LICENSE\n\n\u003c!-- Badges --\u003e\n\n[Platform Compatibility-badge]: https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FSimformSolutionsPvtLtd%2FSSStoryStatus%2Fbadge%3Ftype%3Dplatforms\n\n[Swift Compatibility-badge]:    https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FSimformSolutionsPvtLtd%2FSSStoryStatus%2Fbadge%3Ftype%3Dswift-versions\n\n[Release-badge]:                https://img.shields.io/github/v/release/SimformSolutionsPvtLtd/SSStoryStatus\n\n[License Badge-badge]:          https://img.shields.io/github/license/SimformSolutionsPvtLtd/SSStoryStatus\n\n[Pod Version-badge]:            https://img.shields.io/cocoapods/v/SSStoryStatus\n\n[SPM Compatible-badge]:         https://img.shields.io/badge/Swift_Package_Manager-compatible-coolgreen\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimformSolutionsPvtLtd%2FSSStoryStatus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSimformSolutionsPvtLtd%2FSSStoryStatus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimformSolutionsPvtLtd%2FSSStoryStatus/lists"}