diff --git a/src/App.vue b/src/App.vue
index 4422e7cf..4e64aab9 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -46,7 +46,8 @@
-
+
+
@@ -68,7 +69,8 @@ import Settings from "./components/Settings.vue";
import FirstStart from "./components/FirstStart.vue";
import Metadata from "./components/Metadata.vue";
import Sidebar from "./components/Sidebar.vue";
-import EditMetadata from "./components/modal/EditMetadataModal.vue";
+import EditMetadataModal from "./components/modal/EditMetadataModal.vue";
+import NodeShareModal from "./components/modal/NodeShareModal.vue";
import ImageMultiple from "vue-material-design-icons/ImageMultiple.vue";
import FolderIcon from "vue-material-design-icons/Folder.vue";
@@ -95,7 +97,8 @@ export default defineComponent({
Settings,
FirstStart,
Sidebar,
- EditMetadata,
+ EditMetadataModal,
+ NodeShareModal,
ImageMultiple,
FolderIcon,
diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue
index 8e191b00..1b6e9c8a 100644
--- a/src/components/Sidebar.vue
+++ b/src/components/Sidebar.vue
@@ -150,6 +150,7 @@ aside.app-sidebar {
// Prevent sidebar from becoming too big
aside.app-sidebar {
max-width: 360px !important;
+ position: fixed !important;
@media (max-width: 512px) {
max-width: unset !important;
diff --git a/src/components/modal/NodeShareModal.vue b/src/components/modal/NodeShareModal.vue
index 1288e3f4..fb17bec5 100644
--- a/src/components/modal/NodeShareModal.vue
+++ b/src/components/modal/NodeShareModal.vue
@@ -91,7 +91,6 @@ import { API } from "../../services/API";
import CloseIcon from "vue-material-design-icons/Close.vue";
import LinkIcon from "vue-material-design-icons/LinkVariant.vue";
-import { IPhoto } from "../../types";
type IShare = {
id: string;
@@ -132,24 +131,13 @@ export default defineComponent({
},
created() {
- subscribe("update:share", this.refreshUrls);
- },
-
- beforeDestroy() {
- unsubscribe("update:share", this.refreshUrls);
+ globalThis.shareNodeLink = (path: string) => {
+ this.filename = path;
+ this.open();
+ };
},
methods: {
- openFolder() {
- this.filename = utils.getFolderRoutePath(this.config_foldersPath);
- this.open();
- },
-
- openPhoto(photo: IPhoto) {
- this.filename = photo.filename;
- this.open();
- },
-
open() {
this.show = true;
globalThis.mSidebar.setTab("sharing");
diff --git a/src/components/top-matter/FolderTopMatter.vue b/src/components/top-matter/FolderTopMatter.vue
index 5eef2a08..736b92db 100644
--- a/src/components/top-matter/FolderTopMatter.vue
+++ b/src/components/top-matter/FolderTopMatter.vue
@@ -32,7 +32,7 @@
{{ t("memories", "Share folder") }}
@@ -40,8 +40,6 @@
-
-
@@ -49,6 +47,7 @@
import { defineComponent } from "vue";
import { TopMatterFolder, TopMatterType } from "../../types";
+import UserConfig from "../../mixins/UserConfig";
const NcBreadcrumbs = () =>
import("@nextcloud/vue/dist/Components/NcBreadcrumbs");
const NcBreadcrumb = () =>
@@ -57,7 +56,7 @@ import NcActions from "@nextcloud/vue/dist/Components/NcActions";
import NcActionButton from "@nextcloud/vue/dist/Components/NcActionButton";
import NcActionRouter from "@nextcloud/vue/dist/Components/NcActionRouter";
-import NodeShareModal from "../modal/NodeShareModal.vue";
+import * as utils from "../../services/Utils";
import HomeIcon from "vue-material-design-icons/Home.vue";
import ShareIcon from "vue-material-design-icons/ShareVariant.vue";
@@ -72,13 +71,14 @@ export default defineComponent({
NcActions,
NcActionButton,
NcActionRouter,
- NodeShareModal,
HomeIcon,
ShareIcon,
TimelineIcon,
FoldersIcon,
},
+ mixins: [UserConfig],
+
data: () => ({
topMatter: null as TopMatterFolder | null,
recursive: false,
@@ -119,6 +119,12 @@ export default defineComponent({
this.recursive = false;
}
},
+
+ share() {
+ globalThis.shareNodeLink(
+ utils.getFolderRoutePath(this.config_foldersPath)
+ );
+ },
},
});
diff --git a/src/main.ts b/src/main.ts
index 40d6baa8..6bf34e6c 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -23,6 +23,7 @@ declare global {
var OCP: Nextcloud.v24.OCP;
var editMetadata: (photos: IPhoto[], sections?: number[]) => void;
+ var shareNodeLink: (path: string) => void;
var mSidebar: {
open: (filename: IFileInfo) => void;