Skip to content

Commit e2a1c83

Browse files
committed
fix: premission request, close #156
1 parent d60a663 commit e2a1c83

File tree

3 files changed

+27
-20
lines changed

3 files changed

+27
-20
lines changed

packages/client/internals/MenuButton.vue

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,14 @@ onClickOutside(el, () => {
2525
<button :class="{ disabled }" @click="value = !value">
2626
<slot name="button" :class="{ disabled }" />
2727
</button>
28-
<div
29-
v-show="value"
30-
class="rounded-md bg-main shadow absolute bottom-10 left-0 z-20"
31-
dark:border="~ gray-400 opacity-10"
32-
>
33-
<slot name="menu" />
34-
</div>
28+
<KeepAlive>
29+
<div
30+
v-if="value"
31+
class="rounded-md bg-main shadow absolute bottom-10 left-0 z-20"
32+
dark:border="~ gray-400 opacity-10"
33+
>
34+
<slot name="menu" />
35+
</div>
36+
</KeepAlive>
3537
</div>
3638
</template>

packages/client/internals/Modal.vue

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,21 @@ function onClick(e: MouseEvent) {
2222
</script>
2323

2424
<template>
25-
<div
26-
v-show="value"
27-
ref="container"
28-
class="fixed top-0 bottom-0 left-0 right-0 grid z-20"
29-
bg="black opacity-80"
30-
@click="onClick"
31-
>
25+
<KeepAlive>
3226
<div
33-
class="m-auto rounded-md bg-main shadow"
34-
dark:border="~ gray-400 opacity-10"
35-
:class="props.class"
27+
v-if="value"
28+
ref="container"
29+
class="fixed top-0 bottom-0 left-0 right-0 grid z-20"
30+
bg="black opacity-80"
31+
@click="onClick"
3632
>
37-
<slot />
33+
<div
34+
class="m-auto rounded-md bg-main shadow"
35+
dark:border="~ gray-400 opacity-10"
36+
:class="props.class"
37+
>
38+
<slot />
39+
</div>
3840
</div>
39-
</div>
41+
</KeepAlive>
4042
</template>

packages/client/logic/recording.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Ref, ref, shallowRef, watch } from 'vue'
1+
import { nextTick, Ref, ref, shallowRef, watch } from 'vue'
22
import { useEventListener, useDevicesList } from '@vueuse/core'
33
import { isTruthy } from '@antfu/utils'
44
import RecorderType from 'recordrtc'
@@ -76,6 +76,8 @@ export function useRecording() {
7676
}
7777

7878
async function startCameraStream() {
79+
await ensureDevicesListPermissions()
80+
await nextTick()
7981
if (!streamCamera.value) {
8082
if (currentCamera.value === 'none' && currentMic.value === 'none')
8183
return
@@ -111,6 +113,7 @@ export function useRecording() {
111113
})
112114

113115
async function startRecording() {
116+
await ensureDevicesListPermissions()
114117
const { default: Recorder } = await import('recordrtc')
115118
await startCameraStream()
116119

0 commit comments

Comments
 (0)