The viewer's top/bottom bars still used the pre-rework FrostedGlassContainer verbatim: a floating inset pill with a Material colorScheme tint, an outline border and a drop shadow (violating the design system's no-shadow rule), and theme-derived icon colors that went near-invisible against the new dark panel in light mode. The video transport controls were a second, separate floating pill above the action bar instead of one continuous panel. - FrostedGlassContainer: drop the shadow/border/ColorScheme tint for a fixed dark translucent fill matching the approved design canvas: no shadow anywhere in this screen now. - file_viewer_screen.dart: top/bottom bars sit flush edge-to-edge (no floating-pill inset) with a gradient scrim behind each, and use fixed white (not theme-derived) text/icon color, since this chrome always sits over a black media stage regardless of app theme. - ViewerIconButton: same fix - fixed white by default instead of colors.fg1. - MediaActionBar: takes an optional transportControls slot so video's transport row renders inside the same panel as the action row, above a thin divider, instead of as a separate floating pill. - MediaVideoPreview: renders only the video surface now; reports its controller up via onController (only when active, so a neighboring PageView page can't steal the transport row) instead of owning a floating panel. VideoTransportControls is the extracted, chrome-less transport row content, rendered by the parent via MediaActionBar's new slot. Verified live on device: photo and video viewing, favorite/delete coloring, and the merged transport+action panel all match the approved canvas (https://claude.ai/artifact/3AGPqqMdkLSC2ypCh2CQs4). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Noo
A fast, native Nextcloud client built with Flutter and Material You.
Noo gives you a clean, modern way to browse and manage the files on your own Nextcloud server — files, photos, shares, activity, and trash, all in one app, themed to match your device.
Features
- Files — browse, upload, move, rename, delete, and favorite files and folders; sort and filter per folder
- Photos — a dedicated media gallery with a full-screen viewer for images and video
- Activity — a feed of what's changed on your server
- Shares — see and manage what you've shared and what's shared with you
- Trash — restore or permanently delete recently removed items
- Material You theming — dynamic color on supported devices, five built-in accent colors, light/dark/AMOLED
- Secure sign-in — authenticates via Nextcloud's Login Flow v2: you sign in through your browser, and Noo never sees or stores your password, only a scoped app token
Screenshots
Coming soon.
Getting started
Prerequisites:
- Flutter (SDK
^3.12.2) - A Nextcloud server with Login Flow v2 enabled (on by default since Nextcloud 15)
flutter pub get
flutter run
On first launch, enter your server's address — Noo opens your browser to finish signing in.
Supported platforms
Android, iOS, and Windows.
Building
flutter build apk # Android
flutter build ios # iOS
flutter build windows # Windows
Tech stack
Flutter with Material 3, provider for
state management, and http/dio talking directly to Nextcloud's WebDAV
and OCS APIs — no bundled Nextcloud SDK.
Contributing
Project context for contributors (human or AI) lives in
CLAUDE.md and .claude/context/ — architecture, the server
integration, styling conventions, and code standards.
flutter test # run tests
flutter analyze # static analysis / lints
License
Not yet licensed for redistribution — license TBD.