[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9260":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},9260,"Fladder","DonutWare\u002FFladder","DonutWare","Fladder - A cross-platform Jellyfin Frontend built on top of Flutter.","https:\u002F\u002Fdonutware.github.io\u002FFladder\u002F",null,"Dart",2256,139,7,106,0,1,28,146,10,28.44,"GNU General Public License v3.0",false,"develop",true,[27,28,29,30,31,32,33],"cross-platform","flutter","jellyfin","jellyfin-client","mediaplayer","syncing","video-streaming","2026-06-12 02:02:05","\n\u003Ch1 align=\"center\">\n  \u003Cbr>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FDonutWare\u002FFladder\u002Frefs\u002Fheads\u002Fdevelop\u002Ficons\u002Fproduction\u002Ffladder_macos_icon.png\" alt=\"Fladder\" width=\"200\">\u003C\u002Fa>\n  \u003Cbr>\n  Fladder\n  \u003Cbr>\n\u003C\u002Fh1>\n\n\u003Ch4 align=\"center\">A cross-platform Jellyfin Frontend built on top of \u003Ca href=\"https:\u002F\u002Fflutter.dev\u002F\" target=\"_blank\">Flutter\u003C\u002Fa>.\u003C\u002Fh4>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#key-features\">Key Features\u003C\u002Fa> •\n  \u003Ca href=\"#screenshots\">Screenshots\u003C\u002Fa> •\n  \u003Ca href=\"#planned-features\">Planned Features\u003C\u002Fa> •\n  \u003Ca href=\"#download\">Download\u003C\u002Fa> •\n  \u003Ca href=\"#how-to-contribute\">Contributing\u003C\u002Fa> •\n  \u003Ca href=\"#credits\">Credits\u003C\u002Fa> •\n  \u003Ca href=\"#license\">License\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cdiv align=\"center\">\n  \n  [![Build](https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg?branch=develop)](https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Factions\u002Fworkflows\u002Fbuild.yml)\n  [![GitHub Downloads (all assets, all releases)](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002FDonutWare\u002Ffladder\u002Ftotal)](https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Freleases\u002Flatest)\n  [![GitHub Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FDonutWare\u002Ffladder?display_name=tag)](https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Freleases\u002Flatest)\n  [![Conventional Commits](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FConventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https:\u002F\u002Fconventionalcommits.org)\n  \n\u003C\u002Fdiv>\n\n\n\n## Key Features\n\n* Play media – Stream or sync content locally to your device\n* Manage your library – Refresh content and edit metadata\n* Multiple profiles – add multiple users or different servers easily switching between\n* Direct, Transcode and Offline playback\n* Media segments skipping (Intro\u002FCredits etc.)\n* Trickplay support (timeline scrubbing)\n* Dark\u002FLight mode and multiple color styles to pick\n* Simple comic book format reading support (.cbz, .cbr)\n* Sync items for all platforms\n* Download items and keep progress in sync\n* Keyboard shortcuts\n* Adaptive layout for all platforms\n* Next-up overview when watching a queue\n* Server management\n* Seerr\u002FJellyseerr integration\n* Platforms\n  - Android + TV\n  - Web + Docker\n  - macOS\n  - Windows \n  - iOS \n  - Linux \n \n## Screenshots\n\u003Cdetails close>\n  \u003Csummary>Mobile\u003C\u002Fsummary>\n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FDashboard.png?raw=true\" alt=\"Fladder\" width=\"200\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FDetails.png?raw=true\" alt=\"Fladder\" width=\"200\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FDetails_2.png?raw=true\" alt=\"Fladder\" width=\"200\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FFavourites.png?raw=true\" alt=\"Fladder\" width=\"200\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FLibrary.png?raw=true\" alt=\"Fladder\" width=\"200\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FLibrary_Search.png?raw=true\" alt=\"Fladder\" width=\"200\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FResume_Tab.png?raw=true\" alt=\"Fladder\" width=\"200\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FSync.png?raw=true\" alt=\"Fladder\" width=\"200\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FSettings.png?raw=true\" alt=\"Fladder\" width=\"200\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FMobile\u002FPlayer.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n\u003C\u002Fdetails>\n\n\u003Cdetails close>\n  \u003Csummary>Tablet\u003C\u002Fsummary>\n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FDashboard.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FDetails.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FDetails_2.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FFavourites.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FLibrary.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FLibrary_Search.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FResume_Tab.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FSync.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FSettings.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTablet\u002FPlayer.png?raw=true\" alt=\"Fladder\" width=\"1280\">   \n\u003C\u002Fdetails>\n\n\u003Cdetails close>\n  \u003Csummary>Television\u003C\u002Fsummary>\n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTelevision\u002FDashboard.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTelevision\u002FDetails.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTelevision\u002FFavourites.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTelevision\u002FLibrary.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTelevision\u002FLibrary_Search.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTelevision\u002FSync.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTelevision\u002FSettings.png?raw=true\" alt=\"Fladder\" width=\"1280\">  \n   \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002Fassets\u002Fmarketing\u002Fscreenshots\u002FTelevision\u002FPlayer.png?raw=true\" alt=\"Fladder\" width=\"1280\">   \n\u003C\u002Fdetails>\n\nWeb\u002FDesktop [try out the web build!](https:\u002F\u002FDonutWare.github.io\u002FFladder)\n> [!NOTE]\n> The GitHub hosted web build only allows `https` connections. This is a limitation on GitHub's end, for self-hosted versions `http` works fine.\n\n## Planned Features\n\n* Music playback\n* [And more???](https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fdiscussions\u002Fcategories\u002Fideas)\n\n## Download\n\nThe latest executables for Windows, macOS, Linux, iOS, Android and Web can be found on the [releases page](https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Freleases).\n\nYou can pull the Docker version using the following tags: ```ghcr.io\u002Fdonutware\u002Ffladder:latest```. or ```ghcr.io\u002Fdonutware\u002Ffladder-rootless:latest```\n\n*Platform-specific installation and usage instructions can be found [here](https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002FINSTALL.md).*\n\n\u003Ca href='https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=nl.jknaapen.fladder&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'>\u003Cimg alt='Get it on Google Play' src='https:\u002F\u002Fplay.google.com\u002Fintl\u002Fen_us\u002Fbadges\u002Fstatic\u002Fimages\u002Fbadges\u002Fen_badge_web_generic.png' width=250\u002F>\u003C\u002Fa>\n\n> [!WARNING]\n> (Windows) Some flutter applications are marked as false positives by windows defender for more info see [this issue](https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fissues\u002F197#issuecomment-2568906874).\n\n## How to Contribute\nInterested in contributing? Here are a couple of ways you can help:\n\n### 🐛 Reporting Bugs\n- Before reporting a bug, **please ensure** that the issue hasn't been reported already.\n- When submitting a bug report, provide detailed steps on how the bug can be reproduced. This will help us to understand and fix the issue faster.\n- Bug reports are appreciated and very helpful!\n\n### 🚀 Submitting Pull Requests\n- **Pull requests are always welcome!** \n- For new features or large changes, please open a discussion or issue first to ensure that no one else is already working on it.\n- **Keep pull requests short and focused**: try to avoid fixing multiple issues in a single pull request. This helps make the review process smoother and quicker.\n\n### 🌐 Translations \n\u003Ca href=\"https:\u002F\u002Fhosted.weblate.org\u002Fengage\u002Ffladder\u002F\">\n\u003Cimg src=\"https:\u002F\u002Fhosted.weblate.org\u002Fwidget\u002Ffladder\u002Ffladder\u002Fmulti-auto.svg\" alt=\"Translation status\" \u002F>\n\u003C\u002Fa>\n\nThank you for helping to make this project better! 🙌\n\n\n## Credits\n\nThis software uses the following open source packages:\n- [Flutter](https:\u002F\u002Fflutter.dev\u002F)\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0. More information about the license can be found in [this file](https:\u002F\u002Fgithub.com\u002FDonutWare\u002FFladder\u002Fblob\u002Fdevelop\u002FLICENSE).\n\n\n","Fladder 是一个基于 Flutter 构建的跨平台 Jellyfin 前端应用。它支持媒体播放、库管理、多用户配置文件等功能，能够直接或转码播放视频，并支持离线下载和同步。此外，Fladder 提供了多种主题模式和自适应布局，确保在不同平台上（如Android、iOS、macOS、Windows 和 Linux）都能获得一致的用户体验。该软件非常适合需要在多个设备上无缝访问和管理个人媒体库的用户。",2,"2026-06-11 03:21:55","top_language"]