ayushyaandClaude Opus 5.5 c2540ec2ce Fix media viewer chrome to match the approved Noo design
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>
2026-09-27 12:34:06 -04:00
2026-09-21 19:22:32 -04:00
2026-09-26 01:51:58 -04:00
2026-09-26 01:51:58 -04:00
2026-09-26 01:51:58 -04:00
2026-09-15 11:54:26 -04:00

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.

S
Description
No description provided
Readme
4.5 MiB
RC-iOS-1
Latest
2026-10-05 23:01:44 -04:00
Languages
Dart 77.1%
Kotlin 8.1%
HTML 7.5%
JavaScript 4.8%
C++ 1.5%
Other 0.9%