git.lucas.co / cce-files
file manager
git clone https://git.lucas.co/cce-files.git

commit5a786ef64ac08f5c954fb5a57888c28b170dc3a2
parent32c681c86a
authorLucas Galante <[email protected]>
date2026-07-09 09:31
chore: StatusBar/PreviewState -> Adapted<W> (cce-ui Phase 5t migration)

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_016MjP3pGQEDLkJbV5WEmYBe

 src/main.rs          |  4 ++--
 src/pages/preview.rs | 28 ++++++++++++----------------
 2 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index e94ad88..59b137e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -296,7 +296,7 @@ struct FilesystemApp {
     current_page: Page,
     browse: pages::browse::BrowseState,
     network: pages::network::NetworkState,
-    preview: pages::preview::PreviewState,
+    preview: cce_ui::widget::Adapted<pages::preview::PreviewState>,
 
     // Command-line chooser options
     select_mode: bool,
@@ -873,7 +873,7 @@ impl Application for FilesystemApp {
             current_page: Page::Browse,
             browse,
             network: pages::network::NetworkState::default(),
-            preview: pages::preview::PreviewState::default(),
+            preview: Default::default(),
             select_mode,
             select_directory,
             save_mode,
diff --git a/src/pages/preview.rs b/src/pages/preview.rs
index 8298e1f..9d6d4b2 100644
--- a/src/pages/preview.rs
+++ b/src/pages/preview.rs
@@ -22,22 +22,18 @@ pub fn update(state: &mut PreviewState, msg: PreviewMessage) {
             // Deprecated direct SetPath, as we now load previews via the FsService.
         }
         PreviewMessage::PreviewLoaded { path, data } => {
-            let path_display = path.to_string_lossy().to_string();
-            *state = PreviewState {
-                path: Some(path),
-                path_display,
-                name: data.name,
-                is_dir: data.is_dir,
-                size: data.size,
-                permissions: data.permissions,
-                modified: data.modified,
-                file_type: data.file_type,
-                target: data.target,
-                content_preview: data.content_preview,
-                image_preview: data.image_preview,
-                scroll_line: 0,
-                ..PreviewState::default()
-            };
+            state.path_display = path.to_string_lossy().to_string();
+            state.path = Some(path);
+            state.name = data.name;
+            state.is_dir = data.is_dir;
+            state.size = data.size;
+            state.permissions = data.permissions;
+            state.modified = data.modified;
+            state.file_type = data.file_type;
+            state.target = data.target;
+            state.content_preview = data.content_preview;
+            state.image_preview = data.image_preview;
+            state.scroll_line = 0;
         }
     }
 }