Add distance display to share items menu.

This commit is contained in:
Kasen IO 2020-05-26 00:50:26 -04:00
parent 623857c0de
commit 83bbbbb8b1
2 changed files with 23 additions and 12 deletions

View file

@ -183,10 +183,12 @@ function sendNearbyUsers() {
nearbyUsers.forEach(function(user, i) { nearbyUsers.forEach(function(user, i) {
var objectToWrite; var objectToWrite;
var aviName = AvatarList.getAvatar(user).displayName; var aviDetails = AvatarList.getAvatar(user)
var aviName = aviDetails.displayName;
var aviDistance = Vec3.distance(MyAvatar.position, aviDetails.position);
// Window.alert("aviName" + aviName + "user" + user + "MyAvatar.sessionUUID" + MyAvatar.sessionUUID); // Window.alert("aviName" + aviName + "user" + user + "MyAvatar.sessionUUID" + MyAvatar.sessionUUID);
if (user != MyAvatar.sessionUUID || Controller.getValue(Controller.Hardware.Keyboard.Shift)) { // Don't add ourselves to the list! if (user != MyAvatar.sessionUUID || Controller.getValue(Controller.Hardware.Keyboard.Shift)) { // Don't add ourselves to the list!
objectToWrite = { "name": aviName, "uuid": user }; objectToWrite = { "name": aviName, "distance": aviDistance, "uuid": user };
nearbyUsersToSend.push(objectToWrite); nearbyUsersToSend.push(objectToWrite);
} }
}); });

View file

@ -163,7 +163,7 @@
<v-list-item-content> <v-list-item-content>
<v-list-item-title>{{item.data.name}}</v-list-item-title> <v-list-item-title>{{item.data.name}}</v-list-item-title>
<v-list-item-subtitle>Sent by {{item.senderName}}</v-list-item-subtitle> <v-list-item-subtitle>Sent by {{item.senderName}}</v-list-item-subtitle>
<v-list-item-subtitle>{{item.senderDistance}}m</v-list-item-subtitle> <v-list-item-subtitle>Distance: {{item.senderDistance.toFixed(1)}}m</v-list-item-subtitle>
</v-list-item-content> </v-list-item-content>
<v-btn color="success" @click="acceptReceivingItem(item)"> <v-btn color="success" @click="acceptReceivingItem(item)">
<v-icon>mdi-plus</v-icon> <v-icon>mdi-plus</v-icon>
@ -635,12 +635,18 @@
<v-select <v-select
v-model="shareDialogStore.data.recipient" v-model="shareDialogStore.data.recipient"
:items="nearbyUsers" :items="nearbyUsers"
item-text="name"
item-value="uuid" item-value="uuid"
:rules="[v => !!v || 'A recipient is required']" :rules="[v => !!v || 'A recipient is required']"
label="Nearby Users" label="Nearby Users"
required required
></v-select> >
<template v-slot:item="data">
<i style="color: grey; margin-right: 5px;">{{data.item.distance.toFixed(1)}}m</i> {{data.item.name}}
</template>
<template v-slot:selection="data">
<i style="color: grey; margin-right: 5px;">{{data.item.distance.toFixed(1)}}m</i> {{data.item.name}}
</template>
</v-select>
<v-text-field <v-text-field
class="px-2" class="px-2"
@ -770,14 +776,17 @@ export default {
{ {
name: "Who", name: "Who",
uuid: "{4131531653652562}", uuid: "{4131531653652562}",
distance: 5,
}, },
{ {
name: "Is", name: "Is",
uuid: "{4131531653756756576543652562}", uuid: "{4131531653756756576543652562}",
distance: 3.23,
}, },
{ {
name: "This?", name: "This?",
uuid: "{4131531676575653652562}", uuid: "{4131531676575653652562}",
distance: 1,
}, },
], ],
sortBy: "alphabetical", sortBy: "alphabetical",