@live-change/peer-connection-frontend 0.9.49 → 0.9.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -250,7 +250,7 @@
|
|
|
250
250
|
if(saved) {
|
|
251
251
|
const parsed = JSON.parse(saved)
|
|
252
252
|
const exists = devices.find(device => device.deviceId === parsed.deviceId)
|
|
253
|
-
|| devices
|
|
253
|
+
|| devices.find(device => device.label === parsed.label)
|
|
254
254
|
if(exists) {
|
|
255
255
|
model[deviceType] = exists
|
|
256
256
|
}
|
|
@@ -2,62 +2,77 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<OverlayPanel ref="mediaSettingsOverlay">
|
|
4
4
|
<div class="flex flex-col gap-2 pt-2 justify-around" style="min-width: 20rem; max-width: 90vw">
|
|
5
|
+
|
|
5
6
|
<div v-if="audioInputRequest !== 'none' && model.audioInputs?.length > 0"
|
|
6
7
|
class="flex flex-col items-stretch grow">
|
|
7
8
|
<div class="text-sm mb-1 pl-1">Microphone</div>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
|
|
10
|
+
<Select :modelValue="model.audioInput.deviceId"
|
|
11
|
+
@update:modelValue="value => updateAudioInput(value)"
|
|
12
|
+
:options="model.audioInputs"
|
|
13
|
+
optionLabel="label"
|
|
14
|
+
optionValue="deviceId"
|
|
15
|
+
placeholder="Select">
|
|
13
16
|
<template #value="slotProps">
|
|
14
17
|
<div class="flex flex-row items-center">
|
|
15
18
|
<i class="pi pi-microphone mr-2" />
|
|
16
19
|
|
|
17
20
|
<div class="absolute overflow-hidden text-ellipsis" style="left: 2em; right: 2em;">
|
|
18
|
-
{{ slotProps.value
|
|
21
|
+
{{ slotProps.value
|
|
22
|
+
? model.audioInputs.find(ai => ai.deviceId === slotProps.value)?.label
|
|
23
|
+
: slotProps.placeholder }}
|
|
19
24
|
</div>
|
|
20
25
|
</div>
|
|
21
26
|
</template>
|
|
22
|
-
</
|
|
27
|
+
</Select>
|
|
23
28
|
</div>
|
|
29
|
+
|
|
24
30
|
<div v-if="audioOutputRequest !== 'none' && model.audioOutputs?.length > 0"
|
|
25
31
|
class="flex flex-col items-stretch grow">
|
|
26
32
|
<div class="text-sm mb-1 pl-1">Audio output</div>
|
|
27
|
-
<
|
|
33
|
+
<Select :modelValue="model.audioOutput.deviceId"
|
|
28
34
|
@update:modelValue="value => updateAudioOutput(value)"
|
|
29
|
-
:options="model.audioOutputs"
|
|
35
|
+
:options="model.audioOutputs"
|
|
36
|
+
optionLabel="label"
|
|
37
|
+
optionValue="deviceId"
|
|
30
38
|
placeholder="Select">
|
|
31
39
|
<template #value="slotProps">
|
|
32
40
|
<div class="flex flex-row items-center">
|
|
33
41
|
<i class="pi pi-volume-up mr-2" />
|
|
34
42
|
|
|
35
43
|
<div class="absolute overflow-hidden text-ellipsis" style="left: 2em; right: 2em;">
|
|
36
|
-
|
|
44
|
+
{{ slotProps.value
|
|
45
|
+
? model.audioOutputs.find(ao => ao.deviceId === slotProps.value)?.label
|
|
46
|
+
: slotProps.placeholder }}
|
|
37
47
|
</div>
|
|
38
48
|
</div>
|
|
39
49
|
</template>
|
|
40
|
-
</
|
|
50
|
+
</Select>
|
|
41
51
|
</div>
|
|
42
52
|
|
|
43
53
|
<div v-if="videoInputRequest !== 'none' && model.videoInputs?.length > 0"
|
|
44
54
|
class="flex flex-col items-stretch grow">
|
|
45
55
|
<div class="text-sm mb-1 pl-1">Camera</div>
|
|
46
|
-
<
|
|
56
|
+
<Select :modelValue="model.videoInput.deviceId"
|
|
47
57
|
@update:modelValue="value => updateVideoInput(value)"
|
|
48
|
-
:options="model.videoInputs"
|
|
58
|
+
:options="model.videoInputs"
|
|
59
|
+
optionLabel="label"
|
|
60
|
+
optionValue="deviceId"
|
|
49
61
|
placeholder="Select">
|
|
50
62
|
<template #value="slotProps">
|
|
51
63
|
<div class="flex flex-row items-center">
|
|
52
64
|
<i class="pi pi-camera mr-2" />
|
|
53
65
|
|
|
54
66
|
<div class="absolute overflow-hidden text-ellipsis" style="left: 2em; right: 2em;">
|
|
55
|
-
{{ slotProps.value
|
|
67
|
+
{{ slotProps.value
|
|
68
|
+
? model.videoInputs.find(vi => vi.deviceId === slotProps.value)?.label
|
|
69
|
+
: slotProps.placeholder }}
|
|
56
70
|
</div>
|
|
57
71
|
</div>
|
|
58
72
|
</template>
|
|
59
|
-
</
|
|
73
|
+
</Select>
|
|
60
74
|
</div>
|
|
75
|
+
|
|
61
76
|
</div>
|
|
62
77
|
</OverlayPanel>
|
|
63
78
|
|
|
@@ -69,11 +84,10 @@
|
|
|
69
84
|
<script setup>
|
|
70
85
|
import Button from 'primevue/button'
|
|
71
86
|
import OverlayPanel from 'primevue/overlaypanel'
|
|
72
|
-
import
|
|
87
|
+
import Select from 'primevue/select'
|
|
73
88
|
|
|
74
89
|
|
|
75
90
|
import { defineModel, defineProps, defineEmits, computed, ref, toRefs, onMounted } from 'vue'
|
|
76
|
-
import { useEventListener } from '@vueuse/core'
|
|
77
91
|
|
|
78
92
|
const props = defineProps({
|
|
79
93
|
audioInputRequest: {
|
|
@@ -130,19 +144,19 @@
|
|
|
130
144
|
function updateAudioInput(value) {
|
|
131
145
|
model.value = {
|
|
132
146
|
...model.value,
|
|
133
|
-
audioInput: value
|
|
147
|
+
audioInput: model.value.audioInputs.find(ai => ai.deviceId === value)
|
|
134
148
|
}
|
|
135
149
|
}
|
|
136
150
|
function updateAudioOutput(value) {
|
|
137
151
|
model.value = {
|
|
138
152
|
...model.value,
|
|
139
|
-
audioOutput: value
|
|
153
|
+
audioOutput: model.value.audioOutputs.find(ao => ao.deviceId === value)
|
|
140
154
|
}
|
|
141
155
|
}
|
|
142
156
|
function updateVideoInput(value) {
|
|
143
157
|
model.value = {
|
|
144
158
|
...model.value,
|
|
145
|
-
videoInput: value
|
|
159
|
+
videoInput: model.value.videoInputs.find(vi => vi.deviceId === value)
|
|
146
160
|
}
|
|
147
161
|
}
|
|
148
162
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@live-change/peer-connection-frontend",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.51",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"memDev": "dotenvx run -- node server/start.js memDev --enableSessions --initScript ./init.js --dbAccess",
|
|
6
6
|
"localDevInit": "rm tmp.db; dotenvx run -- node server/start.js localDev --enableSessions --initScript ./init.js",
|
|
@@ -22,19 +22,19 @@
|
|
|
22
22
|
},
|
|
23
23
|
"type": "module",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@live-change/cli": "^0.9.
|
|
26
|
-
"@live-change/dao": "^0.9.
|
|
27
|
-
"@live-change/dao-vue3": "^0.9.
|
|
28
|
-
"@live-change/dao-websocket": "^0.9.
|
|
29
|
-
"@live-change/framework": "^0.9.
|
|
30
|
-
"@live-change/password-authentication-service": "^0.9.
|
|
31
|
-
"@live-change/secret-code-service": "^0.9.
|
|
32
|
-
"@live-change/secret-link-service": "^0.9.
|
|
33
|
-
"@live-change/session-service": "^0.9.
|
|
34
|
-
"@live-change/user-frontend": "^0.9.
|
|
35
|
-
"@live-change/user-service": "^0.9.
|
|
36
|
-
"@live-change/vue3-components": "^0.9.
|
|
37
|
-
"@live-change/vue3-ssr": "^0.9.
|
|
25
|
+
"@live-change/cli": "^0.9.51",
|
|
26
|
+
"@live-change/dao": "^0.9.51",
|
|
27
|
+
"@live-change/dao-vue3": "^0.9.51",
|
|
28
|
+
"@live-change/dao-websocket": "^0.9.51",
|
|
29
|
+
"@live-change/framework": "^0.9.51",
|
|
30
|
+
"@live-change/password-authentication-service": "^0.9.51",
|
|
31
|
+
"@live-change/secret-code-service": "^0.9.51",
|
|
32
|
+
"@live-change/secret-link-service": "^0.9.51",
|
|
33
|
+
"@live-change/session-service": "^0.9.51",
|
|
34
|
+
"@live-change/user-frontend": "^0.9.51",
|
|
35
|
+
"@live-change/user-service": "^0.9.51",
|
|
36
|
+
"@live-change/vue3-components": "^0.9.51",
|
|
37
|
+
"@live-change/vue3-ssr": "^0.9.51",
|
|
38
38
|
"@vueuse/core": "^12.3.0",
|
|
39
39
|
"boxicons": "^2.1.4",
|
|
40
40
|
"codeceptjs-assert": "^0.0.5",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"get-port-sync": "1.0.1",
|
|
45
45
|
"primeflex": "^3.3.1",
|
|
46
46
|
"primeicons": "^7.0.0",
|
|
47
|
-
"primevue": "^4.
|
|
47
|
+
"primevue": "^4.3.3",
|
|
48
48
|
"rollup-plugin-node-builtins": "^2.1.2",
|
|
49
49
|
"rollup-plugin-visualizer": "5.14.0",
|
|
50
50
|
"serialize-javascript": "^6.0.2",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"vue3-scroll-border": "0.1.6"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@live-change/codeceptjs-helper": "^0.9.
|
|
57
|
+
"@live-change/codeceptjs-helper": "^0.9.51",
|
|
58
58
|
"codeceptjs": "^3.6.10",
|
|
59
59
|
"generate-password": "1.7.1",
|
|
60
60
|
"playwright": "1.49.1",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"author": "Michał Łaszczewski <michal@laszczewski.pl>",
|
|
66
66
|
"license": "BSD-3-Clause",
|
|
67
67
|
"description": "",
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "06b0f5c55868d01970e288c5a47745007e58c8a5"
|
|
69
69
|
}
|