diff --git a/src/assets/avatars/av_baboon.png b/src/assets/avatars/av_baboon.png new file mode 100644 index 0000000..072250d Binary files /dev/null and b/src/assets/avatars/av_baboon.png differ diff --git a/src/assets/avatars/av_badger.png b/src/assets/avatars/av_badger.png new file mode 100644 index 0000000..a1e8614 Binary files /dev/null and b/src/assets/avatars/av_badger.png differ diff --git a/src/assets/avatars/av_bear.png b/src/assets/avatars/av_bear.png new file mode 100644 index 0000000..58c33c5 Binary files /dev/null and b/src/assets/avatars/av_bear.png differ diff --git a/src/assets/avatars/av_bee.png b/src/assets/avatars/av_bee.png new file mode 100644 index 0000000..1ea7a18 Binary files /dev/null and b/src/assets/avatars/av_bee.png differ diff --git a/src/assets/avatars/av_beta.png b/src/assets/avatars/av_beta.png new file mode 100644 index 0000000..056d12d Binary files /dev/null and b/src/assets/avatars/av_beta.png differ diff --git a/src/assets/avatars/av_bunny.png b/src/assets/avatars/av_bunny.png new file mode 100644 index 0000000..34715e0 Binary files /dev/null and b/src/assets/avatars/av_bunny.png differ diff --git a/src/assets/avatars/av_butterfly.png b/src/assets/avatars/av_butterfly.png new file mode 100644 index 0000000..46822ab Binary files /dev/null and b/src/assets/avatars/av_butterfly.png differ diff --git a/src/assets/avatars/av_cardinal.png b/src/assets/avatars/av_cardinal.png new file mode 100644 index 0000000..18ece8e Binary files /dev/null and b/src/assets/avatars/av_cardinal.png differ diff --git a/src/assets/avatars/av_cat.png b/src/assets/avatars/av_cat.png new file mode 100644 index 0000000..2239d1b Binary files /dev/null and b/src/assets/avatars/av_cat.png differ diff --git a/src/assets/avatars/av_cockatoo.png b/src/assets/avatars/av_cockatoo.png new file mode 100644 index 0000000..100ae0a Binary files /dev/null and b/src/assets/avatars/av_cockatoo.png differ diff --git a/src/assets/avatars/av_crab_2.png b/src/assets/avatars/av_crab_2.png new file mode 100644 index 0000000..13a8c6e Binary files /dev/null and b/src/assets/avatars/av_crab_2.png differ diff --git a/src/assets/avatars/av_crane.png b/src/assets/avatars/av_crane.png new file mode 100644 index 0000000..d395d46 Binary files /dev/null and b/src/assets/avatars/av_crane.png differ diff --git a/src/assets/avatars/av_dragonfly.png b/src/assets/avatars/av_dragonfly.png new file mode 100644 index 0000000..380f550 Binary files /dev/null and b/src/assets/avatars/av_dragonfly.png differ diff --git a/src/assets/avatars/av_eagle.png b/src/assets/avatars/av_eagle.png new file mode 100644 index 0000000..55c0af8 Binary files /dev/null and b/src/assets/avatars/av_eagle.png differ diff --git a/src/assets/avatars/av_egret.png b/src/assets/avatars/av_egret.png new file mode 100644 index 0000000..1068662 Binary files /dev/null and b/src/assets/avatars/av_egret.png differ diff --git a/src/assets/avatars/av_elephant.png b/src/assets/avatars/av_elephant.png new file mode 100644 index 0000000..7753d4f Binary files /dev/null and b/src/assets/avatars/av_elephant.png differ diff --git a/src/assets/avatars/av_flamingo.png b/src/assets/avatars/av_flamingo.png new file mode 100644 index 0000000..f1527ad Binary files /dev/null and b/src/assets/avatars/av_flamingo.png differ diff --git a/src/assets/avatars/av_fox.png b/src/assets/avatars/av_fox.png new file mode 100644 index 0000000..e30a130 Binary files /dev/null and b/src/assets/avatars/av_fox.png differ diff --git a/src/assets/avatars/av_gazelle.png b/src/assets/avatars/av_gazelle.png new file mode 100644 index 0000000..a19696c Binary files /dev/null and b/src/assets/avatars/av_gazelle.png differ diff --git a/src/assets/avatars/av_giraffe.png b/src/assets/avatars/av_giraffe.png new file mode 100644 index 0000000..2191fec Binary files /dev/null and b/src/assets/avatars/av_giraffe.png differ diff --git a/src/assets/avatars/av_gorilla.png b/src/assets/avatars/av_gorilla.png new file mode 100644 index 0000000..51f19f4 Binary files /dev/null and b/src/assets/avatars/av_gorilla.png differ diff --git a/src/assets/avatars/av_hedgehog.png b/src/assets/avatars/av_hedgehog.png new file mode 100644 index 0000000..2369431 Binary files /dev/null and b/src/assets/avatars/av_hedgehog.png differ diff --git a/src/assets/avatars/av_hippo.png b/src/assets/avatars/av_hippo.png new file mode 100644 index 0000000..466121b Binary files /dev/null and b/src/assets/avatars/av_hippo.png differ diff --git a/src/assets/avatars/av_horse.png b/src/assets/avatars/av_horse.png new file mode 100644 index 0000000..478a6e4 Binary files /dev/null and b/src/assets/avatars/av_horse.png differ diff --git a/src/assets/avatars/av_hummingbird.png b/src/assets/avatars/av_hummingbird.png new file mode 100644 index 0000000..dcd2176 Binary files /dev/null and b/src/assets/avatars/av_hummingbird.png differ diff --git a/src/assets/avatars/av_iguna.png b/src/assets/avatars/av_iguna.png new file mode 100644 index 0000000..5191573 Binary files /dev/null and b/src/assets/avatars/av_iguna.png differ diff --git a/src/assets/avatars/av_jellyfish.png b/src/assets/avatars/av_jellyfish.png new file mode 100644 index 0000000..a2bdc55 Binary files /dev/null and b/src/assets/avatars/av_jellyfish.png differ diff --git a/src/assets/avatars/av_leopard.png b/src/assets/avatars/av_leopard.png new file mode 100644 index 0000000..3f39562 Binary files /dev/null and b/src/assets/avatars/av_leopard.png differ diff --git a/src/assets/avatars/av_lion.png b/src/assets/avatars/av_lion.png new file mode 100644 index 0000000..432d08f Binary files /dev/null and b/src/assets/avatars/av_lion.png differ diff --git a/src/assets/avatars/av_lionfish.png b/src/assets/avatars/av_lionfish.png new file mode 100644 index 0000000..c434ec1 Binary files /dev/null and b/src/assets/avatars/av_lionfish.png differ diff --git a/src/assets/avatars/av_lizard.png b/src/assets/avatars/av_lizard.png new file mode 100644 index 0000000..632c7d8 Binary files /dev/null and b/src/assets/avatars/av_lizard.png differ diff --git a/src/assets/avatars/av_macaw.png b/src/assets/avatars/av_macaw.png new file mode 100644 index 0000000..4c54352 Binary files /dev/null and b/src/assets/avatars/av_macaw.png differ diff --git a/src/assets/avatars/av_mantis.png b/src/assets/avatars/av_mantis.png new file mode 100644 index 0000000..d801e86 Binary files /dev/null and b/src/assets/avatars/av_mantis.png differ diff --git a/src/assets/avatars/av_octopus.png b/src/assets/avatars/av_octopus.png new file mode 100644 index 0000000..05f6ac9 Binary files /dev/null and b/src/assets/avatars/av_octopus.png differ diff --git a/src/assets/avatars/av_orangutan.png b/src/assets/avatars/av_orangutan.png new file mode 100644 index 0000000..20eda23 Binary files /dev/null and b/src/assets/avatars/av_orangutan.png differ diff --git a/src/assets/avatars/av_osprey.png b/src/assets/avatars/av_osprey.png new file mode 100644 index 0000000..cd19052 Binary files /dev/null and b/src/assets/avatars/av_osprey.png differ diff --git a/src/assets/avatars/av_otter.png b/src/assets/avatars/av_otter.png new file mode 100644 index 0000000..1e9c961 Binary files /dev/null and b/src/assets/avatars/av_otter.png differ diff --git a/src/assets/avatars/av_owl.png b/src/assets/avatars/av_owl.png new file mode 100644 index 0000000..8dcd49d Binary files /dev/null and b/src/assets/avatars/av_owl.png differ diff --git a/src/assets/avatars/av_panda.png b/src/assets/avatars/av_panda.png new file mode 100644 index 0000000..a4d60c2 Binary files /dev/null and b/src/assets/avatars/av_panda.png differ diff --git a/src/assets/avatars/av_pangolin.png b/src/assets/avatars/av_pangolin.png new file mode 100644 index 0000000..b7cbb02 Binary files /dev/null and b/src/assets/avatars/av_pangolin.png differ diff --git a/src/assets/avatars/av_panther.png b/src/assets/avatars/av_panther.png new file mode 100644 index 0000000..001ad3d Binary files /dev/null and b/src/assets/avatars/av_panther.png differ diff --git a/src/assets/avatars/av_peacock.png b/src/assets/avatars/av_peacock.png new file mode 100644 index 0000000..a3ce957 Binary files /dev/null and b/src/assets/avatars/av_peacock.png differ diff --git a/src/assets/avatars/av_penguin.png b/src/assets/avatars/av_penguin.png new file mode 100644 index 0000000..a275c65 Binary files /dev/null and b/src/assets/avatars/av_penguin.png differ diff --git a/src/assets/avatars/av_polar bear.png b/src/assets/avatars/av_polar bear.png new file mode 100644 index 0000000..dc23e77 Binary files /dev/null and b/src/assets/avatars/av_polar bear.png differ diff --git a/src/assets/avatars/av_puffin.png b/src/assets/avatars/av_puffin.png new file mode 100644 index 0000000..4c715f0 Binary files /dev/null and b/src/assets/avatars/av_puffin.png differ diff --git a/src/assets/avatars/av_puppy.png b/src/assets/avatars/av_puppy.png new file mode 100644 index 0000000..520f980 Binary files /dev/null and b/src/assets/avatars/av_puppy.png differ diff --git a/src/assets/avatars/av_rhino.png b/src/assets/avatars/av_rhino.png new file mode 100644 index 0000000..bc908ad Binary files /dev/null and b/src/assets/avatars/av_rhino.png differ diff --git a/src/assets/avatars/av_rooster.png b/src/assets/avatars/av_rooster.png new file mode 100644 index 0000000..09d8619 Binary files /dev/null and b/src/assets/avatars/av_rooster.png differ diff --git a/src/assets/avatars/av_shark.png b/src/assets/avatars/av_shark.png new file mode 100644 index 0000000..808345a Binary files /dev/null and b/src/assets/avatars/av_shark.png differ diff --git a/src/assets/avatars/av_sloth.png b/src/assets/avatars/av_sloth.png new file mode 100644 index 0000000..39a58d9 Binary files /dev/null and b/src/assets/avatars/av_sloth.png differ diff --git a/src/assets/avatars/av_snake.png b/src/assets/avatars/av_snake.png new file mode 100644 index 0000000..9cbbf2b Binary files /dev/null and b/src/assets/avatars/av_snake.png differ diff --git a/src/assets/avatars/av_squirrel.png b/src/assets/avatars/av_squirrel.png new file mode 100644 index 0000000..5bc6705 Binary files /dev/null and b/src/assets/avatars/av_squirrel.png differ diff --git a/src/assets/avatars/av_starfish.png b/src/assets/avatars/av_starfish.png new file mode 100644 index 0000000..aaf1f2b Binary files /dev/null and b/src/assets/avatars/av_starfish.png differ diff --git a/src/assets/avatars/av_stingray.png b/src/assets/avatars/av_stingray.png new file mode 100644 index 0000000..7f0216f Binary files /dev/null and b/src/assets/avatars/av_stingray.png differ diff --git a/src/assets/avatars/av_tiger.png b/src/assets/avatars/av_tiger.png new file mode 100644 index 0000000..64cb353 Binary files /dev/null and b/src/assets/avatars/av_tiger.png differ diff --git a/src/assets/avatars/av_tucan.png b/src/assets/avatars/av_tucan.png new file mode 100644 index 0000000..a4698aa Binary files /dev/null and b/src/assets/avatars/av_tucan.png differ diff --git a/src/assets/avatars/av_turtle.png b/src/assets/avatars/av_turtle.png new file mode 100644 index 0000000..a189469 Binary files /dev/null and b/src/assets/avatars/av_turtle.png differ diff --git a/src/assets/avatars/av_walrus.png b/src/assets/avatars/av_walrus.png new file mode 100644 index 0000000..7a16dd1 Binary files /dev/null and b/src/assets/avatars/av_walrus.png differ diff --git a/src/assets/avatars/av_whaleshark.png b/src/assets/avatars/av_whaleshark.png new file mode 100644 index 0000000..ed6c3f9 Binary files /dev/null and b/src/assets/avatars/av_whaleshark.png differ diff --git a/src/assets/avatars/av_yak.png b/src/assets/avatars/av_yak.png new file mode 100644 index 0000000..8435ea2 Binary files /dev/null and b/src/assets/avatars/av_yak.png differ diff --git a/src/assets/avatars/av_zebra.png b/src/assets/avatars/av_zebra.png new file mode 100644 index 0000000..dbc7002 Binary files /dev/null and b/src/assets/avatars/av_zebra.png differ diff --git a/src/assets/avatars/avatar-0.png b/src/assets/avatars/avatar-0.png deleted file mode 100644 index 20aa5de..0000000 Binary files a/src/assets/avatars/avatar-0.png and /dev/null differ diff --git a/src/assets/avatars/avatar-1.png b/src/assets/avatars/avatar-1.png deleted file mode 100644 index dc81ee7..0000000 Binary files a/src/assets/avatars/avatar-1.png and /dev/null differ diff --git a/src/assets/avatars/avatar-10.png b/src/assets/avatars/avatar-10.png deleted file mode 100644 index 91bd3ef..0000000 Binary files a/src/assets/avatars/avatar-10.png and /dev/null differ diff --git a/src/assets/avatars/avatar-11.png b/src/assets/avatars/avatar-11.png deleted file mode 100644 index ef3eebf..0000000 Binary files a/src/assets/avatars/avatar-11.png and /dev/null differ diff --git a/src/assets/avatars/avatar-2.png b/src/assets/avatars/avatar-2.png deleted file mode 100644 index dd6378a..0000000 Binary files a/src/assets/avatars/avatar-2.png and /dev/null differ diff --git a/src/assets/avatars/avatar-3.png b/src/assets/avatars/avatar-3.png deleted file mode 100644 index 87dd5b9..0000000 Binary files a/src/assets/avatars/avatar-3.png and /dev/null differ diff --git a/src/assets/avatars/avatar-4.png b/src/assets/avatars/avatar-4.png deleted file mode 100644 index 814337a..0000000 Binary files a/src/assets/avatars/avatar-4.png and /dev/null differ diff --git a/src/assets/avatars/avatar-5.png b/src/assets/avatars/avatar-5.png deleted file mode 100644 index 540f6d8..0000000 Binary files a/src/assets/avatars/avatar-5.png and /dev/null differ diff --git a/src/assets/avatars/avatar-6.png b/src/assets/avatars/avatar-6.png deleted file mode 100644 index e0d9b1a..0000000 Binary files a/src/assets/avatars/avatar-6.png and /dev/null differ diff --git a/src/assets/avatars/avatar-7.png b/src/assets/avatars/avatar-7.png deleted file mode 100644 index 7b8bae7..0000000 Binary files a/src/assets/avatars/avatar-7.png and /dev/null differ diff --git a/src/assets/avatars/avatar-8.png b/src/assets/avatars/avatar-8.png deleted file mode 100644 index a27ae11..0000000 Binary files a/src/assets/avatars/avatar-8.png and /dev/null differ diff --git a/src/assets/avatars/avatar-9.png b/src/assets/avatars/avatar-9.png deleted file mode 100644 index 80ffdc3..0000000 Binary files a/src/assets/avatars/avatar-9.png and /dev/null differ diff --git a/src/assets/usernames.txt b/src/assets/usernames.txt deleted file mode 100644 index cd8cab6..0000000 --- a/src/assets/usernames.txt +++ /dev/null @@ -1,5 +0,0 @@ -Guest Pangolin -Guest Cat -Guest Dog -Guest Iguana -Guest Sloth diff --git a/src/components/Join.vue b/src/components/Join.vue index 922af50..7048fce 100644 --- a/src/components/Join.vue +++ b/src/components/Join.vue @@ -24,20 +24,32 @@ - - + + - + @change="selectAvatar" + :value="availableAvatars[0]" + single-line + > + + + @@ -78,48 +90,6 @@
{{ loadingMessage }}
- - - - - - close - - Select an Avatar - - - - - - - - - - - - - - - - - @@ -138,27 +108,15 @@ export default { loadingMessage: null, waitingForInfo: true, waitingForMembership: false, - selectedAvatar: null, - displayName: null, - defaultDisplayNames: [], availableAvatars: [], - showAvatarPicker: false, - shouldSetAvatar: false, + randomProfile: null, + selectedProfile: null, }; }, mounted() { this.$matrix.on("Room.myMembership", this.onMyMembership); this.availableAvatars = util.getDefaultAvatars(); - this.selectedAvatar = this.userAvatar || this.availableAvatars[0]; - if (!this.currentUser || this.currentUser.is_guest) { - var values = require("!!raw-loader!../assets/usernames.txt") - .default.split("\n") - .filter((item) => { - return item.length > 0; - }); - this.displayName = values[Math.floor(Math.random() * values.length)]; - this.defaultDisplayNames = values; - } + this.randomProfile = this.availableAvatars[Math.floor(Math.random() * this.availableAvatars.length)]; }, destroyed() { this.$matrix.off("Room.myMembership", this.onMyMembership); @@ -182,21 +140,38 @@ export default { } return this.$matrix.currentRoomId; }, + + profile() { + return { + image: (this.selectedProfile ? this.selectedProfile.image : null) || this.userAvatar || this.randomProfile.image, + name: (this.selectedProfile ? this.selectedProfile.name : null) || this.userDisplayName || this.randomProfile.name + } + }, + + hasChangedAvatar() { + return this.userAvatar != this.profile.image; + }, + + hasChangedDisplayName() { + return this.userDisplayName != this.profile.name; + }, + userDisplayName() { return this.$matrix.userDisplayName; }, + userAvatar() { if (!this.$matrix.userAvatar) { return null; } - return { id: 'user', image: this.$matrix.matrixClient.mxcUrlToHttp(this.$matrix.userAvatar, 80, 80, 'scale', true) }; + return this.$matrix.matrixClient.mxcUrlToHttp( + this.$matrix.userAvatar, + 80, + 80, + "scale", + true + ); }, - avatar() { - if (!this.shouldSetAvatar) { - return this.userAvatar || this.selectedAvatar; // TODO - Use random - } - return this.selectedAvatar; - } }, watch: { roomId: { @@ -205,7 +180,9 @@ export default { if (!value || (value && value == oldVal)) { return; // No change. } - console.log("Join: Current room changed to " + (value ? value : "null")); + console.log( + "Join: Current room changed to " + (value ? value : "null") + ); this.roomName = this.roomId; if (this.currentUser) { this.waitingForMembership = true; @@ -299,12 +276,12 @@ export default { function (user) { if ( (this.currentUser && !this.currentUser.is_guest) || - !this.displayName || this.displayName == this.userDisplayName /* No change */ + !this.hasChangedDisplayName /* No change */ ) { return Promise.resolve(user); } else { return this.$matrix.matrixClient.setDisplayName( - this.displayName, + this.profile.name, undefined ); } @@ -314,13 +291,13 @@ export default { function () { if ( (this.currentUser && !this.currentUser.is_guest) || - !this.shouldSetAvatar + !this.hasChangedAvatar /* No change */ ) { return Promise.resolve("no avatar"); } else { return util.setAvatar( this.$matrix.matrixClient, - this.selectedAvatar.image, + this.profile.image, function (progress) { console.log("Progress: " + JSON.stringify(progress)); } @@ -355,17 +332,13 @@ export default { }); }, - updateDisplayName(value) { - this.displayName = value; + selectAvatar(value) { + this.selectedProfile = Object.assign({}, value); // Make a copy, so editing does not destroy data }, - selectAvatar(avatar) { - if (avatar && (!this.userAvatar || this.userAvatar.image != avatar.image)) { - this.selectedAvatar = avatar; - this.shouldSetAvatar = true; - } - this.showAvatarPicker = false; - }, + showAvatarPickerList() { + this.$refs.avatar.$refs.input.click(); + } }, }; diff --git a/src/plugins/utils.js b/src/plugins/utils.js index 2d3d137..3d63b45 100644 --- a/src/plugins/utils.js +++ b/src/plugins/utils.js @@ -376,14 +376,11 @@ class Util { r.keys().forEach(res => { console.log("Avatar", res); // // Remove"./" - // const parts = res.split("/"); - // const pack = parts[1]; - // const sticker = parts[2].split(".")[0]; + var name = res.split("_")[1]; + name = name.slice(0, name.indexOf(".")); + name = name.charAt(0).toUpperCase() + name.slice(1); const image = r(res); - images.push({ id: res, image: image }); - // if (stickerPacks[pack] !== undefined) { - // stickerPacks[pack].push({ image: image, name: sticker }); - // } + images.push({ id: res, image: image, name: "Guest " + name }); }); return images; }