mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-04-17 12:39:42 +00:00
Update session DeviceInfo with sanitize on clientDeviceInfo
This commit is contained in:
parent
fbe1d1eed6
commit
690a7e0da9
4 changed files with 46 additions and 34 deletions
|
|
@ -66,7 +66,11 @@
|
|||
<p class="text-xs">{{ getPlayMethodName(session.playMethod) }}</p>
|
||||
</td>
|
||||
<td class="hidden sm:table-cell max-w-32 min-w-32">
|
||||
<p class="text-xs truncate" v-html="getDeviceInfoString(session.deviceInfo)" />
|
||||
<p class="text-xs truncate">
|
||||
<template v-for="(line, index) in getDeviceInfoLines(session.deviceInfo)">
|
||||
<br v-if="index > 0" :key="'br-' + index" />{{ line }}
|
||||
</template>
|
||||
</p>
|
||||
</td>
|
||||
<td class="text-center w-24 min-w-24 sm:w-32 sm:min-w-32">
|
||||
<p class="text-xs font-mono">{{ $elapsedPrettyLocalized(session.timeListening) }}</p>
|
||||
|
|
@ -130,7 +134,11 @@
|
|||
<p class="text-xs">{{ getPlayMethodName(session.playMethod) }}</p>
|
||||
</td>
|
||||
<td class="hidden sm:table-cell max-w-32 min-w-32">
|
||||
<p class="text-xs truncate" v-html="getDeviceInfoString(session.deviceInfo)" />
|
||||
<p class="text-xs truncate">
|
||||
<template v-for="(line, index) in getDeviceInfoLines(session.deviceInfo)">
|
||||
<br v-if="index > 0" :key="'br-' + index" />{{ line }}
|
||||
</template>
|
||||
</p>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<p class="text-xs font-mono">{{ $elapsedPretty(session.timeListening) }}</p>
|
||||
|
|
@ -172,7 +180,11 @@
|
|||
<p class="text-xs">{{ getPlayMethodName(session.playMethod) }}</p>
|
||||
</td>
|
||||
<td class="hidden sm:table-cell max-w-32 min-w-32">
|
||||
<p class="text-xs truncate" v-html="getDeviceInfoString(session.deviceInfo)" />
|
||||
<p class="text-xs truncate">
|
||||
<template v-for="(line, index) in getDeviceInfoLines(session.deviceInfo)">
|
||||
<br v-if="index > 0" :key="'br-' + index" />{{ line }}
|
||||
</template>
|
||||
</p>
|
||||
</td>
|
||||
<td class="text-center hover:underline" @click.stop="clickCurrentTime(session)">
|
||||
<p class="text-xs font-mono">{{ $secondsToTimestamp(session.currentTime) }}</p>
|
||||
|
|
@ -433,16 +445,16 @@ export default {
|
|||
this.selectedSession = session
|
||||
this.showSessionModal = true
|
||||
},
|
||||
getDeviceInfoString(deviceInfo) {
|
||||
if (!deviceInfo) return ''
|
||||
var lines = []
|
||||
getDeviceInfoLines(deviceInfo) {
|
||||
if (!deviceInfo) return []
|
||||
const lines = []
|
||||
if (deviceInfo.clientName) lines.push(`${deviceInfo.clientName} ${deviceInfo.clientVersion || ''}`)
|
||||
if (deviceInfo.osName) lines.push(`${deviceInfo.osName} ${deviceInfo.osVersion}`)
|
||||
if (deviceInfo.browserName) lines.push(deviceInfo.browserName)
|
||||
|
||||
if (deviceInfo.manufacturer && deviceInfo.model) lines.push(`${deviceInfo.manufacturer} ${deviceInfo.model}`)
|
||||
if (deviceInfo.sdkVersion) lines.push(`SDK Version: ${deviceInfo.sdkVersion}`)
|
||||
return lines.join('<br>')
|
||||
return lines
|
||||
},
|
||||
getPlayMethodName(playMethod) {
|
||||
if (playMethod === this.$constants.PlayMethod.DIRECTPLAY) return 'Direct Play'
|
||||
|
|
|
|||
|
|
@ -38,8 +38,12 @@
|
|||
<p class="text-xs">{{ getPlayMethodName(session.playMethod) }}</p>
|
||||
</td>
|
||||
<td class="hidden sm:table-cell min-w-32 max-w-32">
|
||||
<p class="text-xs truncate" v-html="getDeviceInfoString(session.deviceInfo)" />
|
||||
</td>
|
||||
<p class="text-xs truncate">
|
||||
<template v-for="(line, index) in getDeviceInfoLines(session.deviceInfo)">
|
||||
<br v-if="index > 0" :key="'br-' + index" />{{ line }}
|
||||
</template>
|
||||
</p>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<p class="text-xs font-mono">{{ $elapsedPrettyLocalized(session.timeListening) }}</p>
|
||||
</td>
|
||||
|
|
@ -193,16 +197,16 @@ export default {
|
|||
this.selectedSession = session
|
||||
this.showSessionModal = true
|
||||
},
|
||||
getDeviceInfoString(deviceInfo) {
|
||||
if (!deviceInfo) return ''
|
||||
var lines = []
|
||||
getDeviceInfoLines(deviceInfo) {
|
||||
if (!deviceInfo) return []
|
||||
const lines = []
|
||||
if (deviceInfo.clientName) lines.push(`${deviceInfo.clientName} ${deviceInfo.clientVersion || ''}`)
|
||||
if (deviceInfo.osName) lines.push(`${deviceInfo.osName} ${deviceInfo.osVersion}`)
|
||||
if (deviceInfo.browserName) lines.push(deviceInfo.browserName)
|
||||
|
||||
if (deviceInfo.manufacturer && deviceInfo.model) lines.push(`${deviceInfo.manufacturer} ${deviceInfo.model}`)
|
||||
if (deviceInfo.sdkVersion) lines.push(`SDK Version: ${deviceInfo.sdkVersion}`)
|
||||
return lines.join('<br>')
|
||||
return lines
|
||||
},
|
||||
getPlayMethodName(playMethod) {
|
||||
if (playMethod === this.$constants.PlayMethod.DIRECTPLAY) return 'Direct Play'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue