Skip to content

Commit ff31d02

Browse files
committed
use dialog element
1 parent e209d2b commit ff31d02

File tree

9 files changed

+30
-22
lines changed

9 files changed

+30
-22
lines changed

apps/web/app/components/admin/AttendeeList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ const handleConfirm = (attendee?: Attendee) => {
9595
</td>
9696
</tr>
9797
</table>
98-
<VFDialog v-if="showDialog">
98+
<VFDialog v-if="showDialog" open>
9999
<AdminAttendeeItem :attendee="attendees.filter((s) => s.id === attendeeId)[0]" @close="handleDialog" />
100100
</VFDialog>
101101
</template>

apps/web/app/components/admin/JobList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ const handleDialog = (id?: string) => {
6262
</td>
6363
</tr>
6464
</table>
65-
<VFDialog v-if="showDialog">
65+
<VFDialog v-if="showDialog" open>
6666
<AdminJobItem
6767
:job="jobs.filter((s) => s.id === jobId)[0]"
6868
:sponsors

apps/web/app/components/admin/Page.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ const pageText = props.page.replace(/^[a-z]/g, function (val) {
115115
<AdminStaffList :staffs="staffs?.data" />
116116
<AdminAdminUserList :admin-users="adminUsers?.data" />
117117
</div>
118-
<VFDialog v-if="showDialog">
118+
<VFDialog v-if="showDialog" open>
119119
<AdminSpeakerItem v-if="page === 'speaker'" @close="handleDialog" />
120120
<AdminSponsorItem v-if="page === 'sponsor'" :speakers="speakers?.data" @close="handleDialog" />
121121
<AdminJobItem v-if="page === 'job'" :sponsors="sponsors?.data" @close="handleDialog" />

apps/web/app/components/admin/SpeakerList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ const handleDialog = (id?: string) => {
9595
</td>
9696
</tr>
9797
</table>
98-
<VFDialog v-if="showDialog">
98+
<VFDialog v-if="showDialog" open>
9999
<AdminSpeakerItem :speaker="speakers.filter((s) => s.id === speakerId)[0]" @close="handleDialog" />
100100
</VFDialog>
101101
</template>

apps/web/app/components/admin/SponsorList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ const handleDialog = (id?: string) => {
101101
</td>
102102
</tr>
103103
</table>
104-
<VFDialog v-if="showDialog">
104+
<VFDialog v-if="showDialog" open>
105105
<AdminSponsorItem
106106
:sponsor="sponsors.filter((s) => s.id === sponsorId)[0]"
107107
:speakers="speakers"

apps/web/app/components/admin/StaffList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ const handleDialog = (id?: string) => {
7474
</td>
7575
</tr>
7676
</table>
77-
<VFDialog v-if="showDialog">
77+
<VFDialog v-if="showDialog" open>
7878
<AdminStaffItem
7979
:staff="staffs.filter((s) => s.id === staffId)[0]"
8080
@close="handleDialog"

packages/ui/components/common/Dialog.stories.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export default {
66
component: Dialog,
77
args: {
88
default: '<strong>Go!</strong>',
9+
open: true,
910
},
1011
argTypes: {
1112
default: {

packages/ui/components/common/Dialog.vue

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,32 @@
11
<script setup lang="ts">
2+
import { ref } from 'vue'
3+
24
type Props = {
3-
arialabel?: string
4-
ariaModal?: boolean
5+
open: boolean
6+
}
7+
const props = defineProps<Props>()
8+
9+
const dialog = ref<HTMLDialogElement>()
10+
const visible = ref(props.open)
11+
12+
const showModal = () => {
13+
dialog.value?.showModal()
14+
visible.value = true
515
}
6-
withDefaults(defineProps<Props>(), {
7-
arialabel: '',
8-
ariaModal: false,
16+
17+
defineExpose({
18+
show: showModal,
19+
close: (returnVal?: string): void => dialog.value?.close(returnVal),
20+
visible,
921
})
1022
</script>
23+
1124
<template>
12-
<div class="mask" @click="$emit('on-close')">
13-
<div
14-
role="dialog"
15-
class="root"
16-
:aria-label="arialabel"
17-
:aria-modal="ariaModal"
18-
@click="(e) => e.stopPropagation()"
19-
>
25+
<dialog ref="dialog" :open class="mask">
26+
<form v-if="visible" method="dialog" class="root">
2027
<slot />
21-
</div>
22-
</div>
28+
</form>
29+
</dialog>
2330
</template>
2431

2532
<style scoped>

packages/ui/components/namecard/IntegrationDialog.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function handleLinkButton(provider: Extract<AuthProvider, 'github' | 'google'>)
1717
</script>
1818

1919
<template>
20-
<Dialog :aria-label="title" :aria-modal="true" @on-close="$emit('on-close')">
20+
<Dialog open>
2121
<div class="dialog-container">
2222
<h3 class="dialog-title">{{ title }}</h3>
2323
<slot />

0 commit comments

Comments
 (0)