aboutsummaryrefslogtreecommitdiffstats
path: root/core/src/components/PublicPageMenu/PublicPageMenuExternalEntry.vue
blob: a4451a38bbe497b94a7e1fa96502f09402108bbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!--
 - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
 - SPDX-License-Identifier: AGPL-3.0-or-later
 -->
<template>
	<PublicPageMenuEntry :id="id"
		:icon="icon"
		href="#"
		:label="label"
		@click="openDialog" />
</template>

<script setup lang="ts">
import { spawnDialog } from '@nextcloud/dialogs'
import PublicPageMenuEntry from './PublicPageMenuEntry.vue'
import PublicPageMenuExternalDialog from './PublicPageMenuExternalDialog.vue'

const props = defineProps<{
	id: string
	label: string
	icon: string
	href: string
}>()

const emit = defineEmits<{
	(e: 'click'): void
}>()

/**
 * Open the "create federated share" dialog
 */
function openDialog() {
	spawnDialog(PublicPageMenuExternalDialog, { label: props.label })
	emit('click')
}
</script>