{"id":15055381,"url":"https://github.com/simonnickel/snap-matching-navigation","last_synced_at":"2026-02-14T11:07:21.847Z","repository":{"id":234598275,"uuid":"786792538","full_name":"simonnickel/snap-matching-navigation","owner":"simonnickel","description":"A SwiftUI Container that displays a TabView or SplitScene, based on the device.","archived":false,"fork":false,"pushed_at":"2024-11-28T22:53:59.000Z","size":365,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-18T21:42:29.924Z","etag":null,"topics":["navigation","swift","swift-ui","swiftui"],"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/simonnickel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2024-04-15T10:08:04.000Z","updated_at":"2025-09-03T19:59:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"6a2bcd16-0f20-408c-905c-32f4f0a2df98","html_url":"https://github.com/simonnickel/snap-matching-navigation","commit_stats":{"total_commits":33,"total_committers":2,"mean_commits":16.5,"dds":"0.21212121212121215","last_synced_commit":"84cecc1b825d8d4a058fe9eb3e40bf6ebee63ce5"},"previous_names":["simonnickel/snap-matching-navigation"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/simonnickel/snap-matching-navigation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-matching-navigation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-matching-navigation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-matching-navigation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-matching-navigation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonnickel","download_url":"https://codeload.github.com/simonnickel/snap-matching-navigation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-matching-navigation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29443447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T10:51:12.367Z","status":"ssl_error","status_checked_at":"2026-02-14T10:50:52.088Z","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":["navigation","swift","swift-ui","swiftui"],"created_at":"2024-09-24T21:41:41.968Z","updated_at":"2026-02-14T11:07:21.819Z","avatar_url":"https://github.com/simonnickel.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!CAUTION]\n\u003e This repository no longer active, it was replaced by [snap-navigation](https://github.com/simonnickel/snap-navigation).\n\n\u003c!-- Copy badges from SPI --\u003e\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fsimonnickel%2Fsnap-matching-navigation%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/simonnickel/snap-matching-navigation)\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fsimonnickel%2Fsnap-matching-navigation%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/simonnickel/snap-matching-navigation) \n\n\u003e This package is part of the [SNAP](https://github.com/simonnickel/snap) suite.\n\n\n// TODO: Replace with WWDC24 TabView\n\n\n# SnapMatchingNavigation\n\nMatching Navigation provides a SwiftUI container view that displays a TabView or SplitScene, based on the device. \n\n[![Documentation][documentation badge]][documentation] \n\n[documentation]: https://swiftpackageindex.com/simonnickel/snap-matching-navigation/main/documentation/snapmatchingnavigation\n[documentation badge]: https://img.shields.io/badge/Documentation-DocC-blue\n\n\n## Demo\n\nThe [demo project](/SnapMatchingNavigationDemo) shows an example on how to use the package.\n\n\u003cimg src=\"/screenshot-iphone.png\" height=\"400\"\u003e \u003cimg src=\"/screenshot-ipad.png\" height=\"400\"\u003e\n\n\n## How to use\n\n\n```\nMNavContainer(splitScene: {\n\tNavigationSplitView {\n\t\tText(\"Sidebar\")\n\t} content: {\n\t\tText(\"Content\")\n\t} detail: {\n\t\tText(\"Detail\")\n\t}\n}, tabScene: {\n\tMNavTabScene(tabs: tabs, selected: $tabSelected, tabScreen: { tab in\n\t\t\n\t\t\u003cView for the tab\u003e\n\t\t\n\t})\n})\n```\n\n### MNavContainer\n\nA container that either shows the `SplitScene` or the `TabScene` ViewBuilder based on device.\n\n\n### MNavTabScene\n\nA wrapper around TabView to expose the selected tab as a binding.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonnickel%2Fsnap-matching-navigation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonnickel%2Fsnap-matching-navigation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonnickel%2Fsnap-matching-navigation/lists"}