diff --git a/website/client/src/assets/scss/button.scss b/website/client/src/assets/scss/button.scss
index c45f9a8396..62eb95422f 100644
--- a/website/client/src/assets/scss/button.scss
+++ b/website/client/src/assets/scss/button.scss
@@ -217,16 +217,13 @@
.btn-show-more {
display: block;
- width: 50%;
- max-width: 448px;
- margin: 0 auto;
- margin-top: 12px;
+ width: 100%;
padding: 8px;
font-size: 14px;
line-height: 1.43;
font-weight: bold;
text-align: center;
- background: $gray-600;
+ background: $gray-500;
color: $gray-200 !important; // Otherwise it gets ignored when used on an A element
box-shadow: none;
diff --git a/website/client/src/assets/scss/item.scss b/website/client/src/assets/scss/item.scss
index ab52d935d1..c1752d019e 100644
--- a/website/client/src/assets/scss/item.scss
+++ b/website/client/src/assets/scss/item.scss
@@ -1,5 +1,11 @@
// TODO move to item component?
+.item, .item-wrapper, .item > div > div {
+ &:focus-visible {
+ outline: none;
+ }
+}
+
.items > div {
display: inline-block;
margin-right: 24px;
@@ -9,6 +15,15 @@
position: relative;
display: inline-block;
margin-bottom: 12px;
+
+ &:focus {
+ outline: 2px solid $purple-400;
+ border-radius: 2px;
+ }
+
+ &:hover {
+ box-shadow: 0 3px 6px 0 rgba($black, 0.16), 0 3px 6px 0 rgba($black, 0.24);
+ }
}
.items-one-line .item-wrapper {
@@ -56,11 +71,6 @@
background: $purple-500;
}
- &:hover {
- box-shadow: 0 3px 6px 0 rgba($black, 0.16), 0 3px 6px 0 rgba($black, 0.24);
- border-color: $purple-400;
- }
-
&.highlight {
box-shadow: 0 0 8px 8px rgba($black, 0.16), 0 5px 10px 0 rgba($black, 0.12) !important;
}
diff --git a/website/client/src/components/avatar.vue b/website/client/src/components/avatar.vue
index ec4f892464..ca4d32ebd7 100644
--- a/website/client/src/components/avatar.vue
+++ b/website/client/src/components/avatar.vue
@@ -35,7 +35,7 @@
@@ -46,12 +46,10 @@
-
-
@@ -233,10 +231,20 @@ export default {
},
skinClass () {
if (!this.member) return '';
+ if (this.overrideAvatarGear?.skin) {
+ return `skin_${this.overrideAvatarGear.skin}`;
+ }
const baseClass = `skin_${this.member.preferences.skin}`;
return `${baseClass}${this.member.preferences.sleep ? '_sleep' : ''}`;
},
+ shirtClass () {
+ if (!this.member) return '';
+ if (this.overrideAvatarGear?.shirt) {
+ return `${this.member.preferences.size}_shirt_${this.overrideAvatarGear.shirt}`;
+ }
+ return `${this.member.preferences.size}_shirt_${this.member.preferences.shirt}`;
+ },
costumeClass () {
return this.member?.preferences.costume ? 'costume' : 'equipped';
},
@@ -269,6 +277,17 @@ export default {
return result;
},
+ hairClass (slot) {
+ if (this.overrideAvatarGear?.hair) {
+ if (this.overrideAvatarGear.hair[slot]) {
+ return `hair_${slot}_${this.overrideAvatarGear.hair[slot]}_${this.member.preferences.hair.color}`;
+ }
+ if (this.overrideAvatarGear.hair.color) {
+ return `hair_${slot}_${this.member.preferences.hair[slot]}_${this.overrideAvatarGear.hair.color}`;
+ }
+ }
+ return `hair_${slot}_${this.member.preferences.hair[slot]}_${this.member.preferences.hair.color}`;
+ },
hideGear (gearType) {
if (!this.member) return true;
if (gearType === 'weapon') {
diff --git a/website/client/src/components/avatarModal/body-settings.vue b/website/client/src/components/avatarModal/body-settings.vue
index 1d908c3b64..b69118c890 100644
--- a/website/client/src/components/avatarModal/body-settings.vue
+++ b/website/client/src/components/avatarModal/body-settings.vue
@@ -35,7 +35,7 @@
import appearance from '@/../../common/script/content/appearance';
import { subPageMixin } from '../../mixins/subPage';
import { userStateMixin } from '../../mixins/userState';
-import { avatarEditorUtilies } from '../../mixins/avatarEditUtilities';
+import { avatarEditorUtilities } from '../../mixins/avatarEditUtilities';
import subMenu from './sub-menu';
import customizeOptions from './customize-options';
import gem from '@/assets/svg/gem.svg';
@@ -51,7 +51,7 @@ export default {
mixins: [
subPageMixin,
userStateMixin,
- avatarEditorUtilies,
+ avatarEditorUtilities,
],
props: [
'editing',
diff --git a/website/client/src/components/avatarModal/customize-options.vue b/website/client/src/components/avatarModal/customize-options.vue
index 3d155dbc98..338ef86264 100644
--- a/website/client/src/components/avatarModal/customize-options.vue
+++ b/website/client/src/components/avatarModal/customize-options.vue
@@ -67,11 +67,11 @@