Skip to content

Commit 8cf7830

Browse files
address review feedback
1 parent 17755dc commit 8cf7830

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

apps/desktop/src-tauri/src/deeplink_actions.rs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ use cap_recording::{
22
RecordingMode, feeds::camera::DeviceOrModelID, sources::screen_capture::ScreenCaptureTarget,
33
};
44
use serde::{Deserialize, Serialize};
5-
use std::path::{Path, PathBuf};
5+
use std::path::PathBuf;
66
use tauri::{AppHandle, Manager, Url};
77
use tracing::trace;
88

9-
use crate::{App, ArcLock, recording::StartRecordingInputs, windows::ShowCapWindow};
9+
use crate::{App, ArcLock, recording::StartRecordingInputs, windows::{CapWindowId, ShowCapWindow}};
1010

1111
#[derive(Debug, Serialize, Deserialize)]
1212
#[serde(rename_all = "snake_case")]
@@ -34,6 +34,15 @@ pub enum DeepLinkAction {
3434
},
3535
}
3636

37+
pub fn setup_deeplink_handler(app_handle: &AppHandle) {
38+
let app_handle = app_handle.clone();
39+
app_handle.clone().listen("deep-link://new-url", move |event| {
40+
if let Ok(urls) = serde_json::from_str::<Vec<Url>>(event.payload()) {
41+
handle(&app_handle, urls);
42+
}
43+
});
44+
}
45+
3746
pub fn handle(app_handle: &AppHandle, urls: Vec<Url>) {
3847
trace!("Handling deep actions for: {:?}", &urls);
3948

@@ -145,14 +154,16 @@ impl DeepLinkAction {
145154
.map(|_| ())
146155
}
147156
DeepLinkAction::StopRecording => {
148-
crate::recording::stop_recording(app.clone(), app.state()).await
157+
crate::recording::stop_recording(app.clone(), app.state())
158+
.await
159+
.map_err(|e| e.to_string())
149160
}
150161
DeepLinkAction::OpenEditor { project_path } => {
151-
crate::open_project_from_path(Path::new(&project_path), app.clone())
162+
ShowCapWindow::PrevRecordings.show(app).await.map_err(|e| e.to_string())
152163
}
153164
DeepLinkAction::OpenSettings { page } => {
154-
crate::show_window(app.clone(), ShowCapWindow::Settings { page }).await
165+
ShowCapWindow::Settings { page }.show(app).await.map_err(|e| e.to_string())
155166
}
156167
}
157168
}
158-
}
169+
}

0 commit comments

Comments
 (0)