feat: move example

This commit is contained in:
Lucas Nogueira
2023-05-06 13:21:14 -03:00
parent 490aee9634
commit db900f6650
108 changed files with 223 additions and 6512 deletions
+1
View File
@@ -11,6 +11,7 @@
"@tauri-apps/api": "2.0.0-alpha.3",
"@tauri-apps/cli": "2.0.0-alpha.8",
"@zerodevx/svelte-json-view": "0.2.1",
"tauri-plugin-camera-api": "0.0.0",
"tauri-plugin-cli-api": "0.0.0",
"tauri-plugin-clipboard-api": "0.0.0",
"tauri-plugin-dialog-api": "0.0.0",
+12
View File
@@ -149,6 +149,7 @@ dependencies = [
"serde_json",
"tauri",
"tauri-build",
"tauri-plugin-camera",
"tauri-plugin-cli",
"tauri-plugin-clipboard",
"tauri-plugin-dialog",
@@ -3574,6 +3575,17 @@ dependencies = [
"tauri-utils",
]
[[package]]
name = "tauri-plugin-camera"
version = "0.0.0"
dependencies = [
"serde",
"serde_json",
"tauri",
"tauri-build",
"thiserror",
]
[[package]]
name = "tauri-plugin-cli"
version = "0.0.0"
+3
View File
@@ -25,6 +25,9 @@ tauri-plugin-http = { path = "../../../plugins/http", features = [ "http-multipa
tauri-plugin-notification = { path = "../../../plugins/notification", features = [ "windows7-compat" ] }
tauri-plugin-shell = { path = "../../../plugins/shell" }
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
tauri-plugin-camera = { path = "../../../plugins/camera" }
[patch.crates-io]
tauri = { git = "https://github.com/tauri-apps/tauri", branch = "next" }
tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "next" }
+5
View File
@@ -46,6 +46,11 @@ pub fn run() {
.plugin(tauri_plugin_global_shortcut::Builder::new().build())?;
}
#[cfg(mobile)]
{
app.handle().plugin(tauri_plugin_camera::init())?;
}
let mut window_builder = WindowBuilder::new(app, "main", WindowUrl::default());
#[cfg(desktop)]
{
+7 -1
View File
@@ -17,6 +17,7 @@
import Updater from './views/Updater.svelte'
import Clipboard from './views/Clipboard.svelte'
import WebRTC from './views/WebRTC.svelte'
import Camera from './views/Camera.svelte'
import App from './views/App.svelte'
import { onMount } from 'svelte'
@@ -110,7 +111,12 @@
label: 'WebRTC',
component: WebRTC,
icon: 'i-ph-broadcast'
}
},
isMobile && {
label: 'Camera',
component: Camera,
icon: 'i-codicon-clippy'
},
]
let selected = views[0]
+54
View File
@@ -0,0 +1,54 @@
<script>
import { getPhoto, ResultType, Source } from "tauri-plugin-camera-api";
let source = Source.Camera;
let imageSrc = "";
const sources = [
{
value: Source.Camera,
label: "Camera",
},
{
value: Source.Photo,
label: "Photo",
},
{
value: Source.Prompt,
label: "Prompt",
},
];
async function get() {
try {
const image = await getPhoto({
resultType: ResultType.Base64,
source,
});
imageSrc = `data:image/png;base64, ${image.data}`;
} catch (e) {
console.error(e);
}
}
</script>
<div>
{#if imageSrc}
<img src={imageSrc} alt="Selected" />
{/if}
<div class="flex">
<select class="input" id="dir" bind:value={source}>
{#each sources as source}
<option value={source.value}>{source.label}</option>
{/each}
</select>
<button class="btn" on:click={get}> Get photo </button>
</div>
</div>
<style>
img {
max-width: 100vw;
max-height: 80vh;
}
</style>