diff --git a/package-lock.json b/package-lock.json
index e3f773d..472c719 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "lindsvg-pwa",
- "version": "2.1.0",
+ "version": "2.2.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "lindsvg-pwa",
- "version": "2.1.0",
+ "version": "2.2.0",
"dependencies": {
"@vueuse/core": "^10.6.1",
"lindsvg": "^1.3.2",
diff --git a/package.json b/package.json
index b0f2e62..2950c72 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "lindsvg-pwa",
"private": true,
- "version": "2.1.0",
+ "version": "2.2.0",
"type": "module",
"scripts": {
"lint": "eslint \"src/**/*.{mjs,vue}\"",
diff --git a/src/components/PanelSharing.vue b/src/components/PanelSharing.vue
index 6f4b56a..75686c5 100644
--- a/src/components/PanelSharing.vue
+++ b/src/components/PanelSharing.vue
@@ -3,7 +3,7 @@ import {computed, useCssModule} from "vue";
import {useCollectionsStore, isUserDefined} from "../stores/collections.mjs";
import {useLSystemStore} from "../stores/lSystem.mjs";
import {useInterfaceStore} from "../stores/interface.mjs";
-import {useObjectUrl, useFileDialog} from "@vueuse/core";
+import {useObjectUrl, useFileDialog, useShare} from "@vueuse/core";
import interfaceStyles from "../styles/interface.module.css";
import panelStyles from "../styles/panel.module.css";
@@ -42,6 +42,15 @@ let lsvgBlob = computed(() => {
});
let lsvgURL = useObjectUrl(lsvgBlob);
+let {share, isSupported: isShareSupported} = useShare();
+function launchShare() {
+ share({
+ title: "L-system",
+ text: "Image of an L-system from the lindsvg app",
+ files: [new File([svgBlob.value], "l-system.svg", {type: svgBlob.value.type})],
+ });
+}
+
let permalink = computed(() => {
if (!collectionsStore.selectedCID || !collectionsStore.selectedLID || isUserDefined(collectionsStore.selectedCID)) {
return "";
@@ -95,6 +104,17 @@ async function copyPermalink({target}) {
>
SVG
+
+
+ Share fileā¦
+
+