Merge branch 'develop' into sabrecat/teams-rebase

This commit is contained in:
SabreCat
2022-06-06 15:15:16 -05:00
14 changed files with 174 additions and 35 deletions
@@ -605,6 +605,11 @@
width: 141px;
height: 147px;
}
.background_beach_with_dunes {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_beach_with_dunes.png');
width: 141px;
height: 147px;
}
.background_beehive {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_beehive.png');
width: 141px;
@@ -1389,6 +1394,11 @@
width: 141px;
height: 147px;
}
.background_mountain_waterfall {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_mountain_waterfall.png');
width: 141px;
height: 147px;
}
.background_mystical_observatory {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_mystical_observatory.png');
width: 141px;
@@ -1559,6 +1569,11 @@
width: 141px;
height: 147px;
}
.background_sailboat_at_sunset {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_sailboat_at_sunset.png');
width: 141px;
height: 147px;
}
.background_salt_lake {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_salt_lake.png');
width: 141px;
@@ -2116,6 +2131,11 @@
width: 68px;
height: 68px;
}
.icon_background_beach_with_dunes {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_beach_with_dunes.png');
width: 67px;
height: 69px;
}
.icon_background_beehive {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_beehive.png');
width: 68px;
@@ -2905,6 +2925,11 @@
width: 68px;
height: 68px;
}
.icon_background_mountain_waterfall {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_mountain_waterfall.png');
width: 68px;
height: 68px;
}
.icon_background_mystical_observatory {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_mystical_observatory.png');
width: 68px;
@@ -3075,6 +3100,11 @@
width: 68px;
height: 68px;
}
.icon_background_sailboat_at_sunset {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_sailboat_at_sunset.png');
width: 68px;
height: 68px;
}
.icon_background_salt_lake {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_salt_lake.png');
width: 68px;
@@ -20415,6 +20445,11 @@
width: 68px;
height: 68px;
}
.shop_weapon_armoire_blueKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_blueKite.png');
width: 68px;
height: 68px;
}
.shop_weapon_armoire_blueLongbow {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_blueLongbow.png');
width: 68px;
@@ -20515,6 +20550,11 @@
width: 68px;
height: 68px;
}
.shop_weapon_armoire_greenKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_greenKite.png');
width: 68px;
height: 68px;
}
.shop_weapon_armoire_guardiansCrook {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_guardiansCrook.png');
width: 68px;
@@ -20630,11 +20670,21 @@
width: 68px;
height: 68px;
}
.shop_weapon_armoire_orangeKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_orangeKite.png');
width: 68px;
height: 68px;
}
.shop_weapon_armoire_paperCutter {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_paperCutter.png');
width: 68px;
height: 68px;
}
.shop_weapon_armoire_pinkKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_pinkKite.png');
width: 68px;
height: 68px;
}
.shop_weapon_armoire_pinkLongbow {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_pinkLongbow.png');
width: 68px;
@@ -20775,6 +20825,11 @@
width: 68px;
height: 68px;
}
.shop_weapon_armoire_yellowKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_yellowKite.png');
width: 68px;
height: 68px;
}
.slim_armor_armoire_alchemistsRobe {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_armoire_alchemistsRobe.png');
width: 114px;
@@ -21250,6 +21305,11 @@
width: 114px;
height: 90px;
}
.weapon_armoire_blueKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_blueKite.png');
width: 114px;
height: 90px;
}
.weapon_armoire_blueLongbow {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_blueLongbow.png');
width: 90px;
@@ -21350,6 +21410,11 @@
width: 90px;
height: 90px;
}
.weapon_armoire_greenKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_greenKite.png');
width: 114px;
height: 90px;
}
.weapon_armoire_guardiansCrook {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_guardiansCrook.png');
width: 114px;
@@ -21465,11 +21530,21 @@
width: 90px;
height: 90px;
}
.weapon_armoire_orangeKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_orangeKite.png');
width: 114px;
height: 90px;
}
.weapon_armoire_paperCutter {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_paperCutter.png');
width: 114px;
height: 90px;
}
.weapon_armoire_pinkKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_pinkKite.png');
width: 114px;
height: 90px;
}
.weapon_armoire_pinkLongbow {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_pinkLongbow.png');
width: 114px;
@@ -21610,6 +21685,11 @@
width: 90px;
height: 90px;
}
.weapon_armoire_yellowKite {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_yellowKite.png');
width: 114px;
height: 90px;
}
.armor_special_bardRobes {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/armor_special_bardRobes.png');
width: 90px;
@@ -18,8 +18,10 @@ body {
// Restore the default styling for a elements without an href attribute
// that was changed in bootstrap 4.5.1
a:not([href]), a:not([href]):hover {
color: inherit;
text-decoration: none;
&:not([role=button]) {
color: inherit;
text-decoration: none;
}
}
a, a:not([href]):not([tabindex]) {
@@ -614,6 +614,7 @@ import axios from 'axios';
import hello from 'hellojs';
import debounce from 'lodash/debounce';
import isEmail from 'validator/lib/isEmail';
import DOMPurify from 'dompurify';
import { buildAppleAuthUrl } from '../../libs/auth';
import { MINIMUM_PASSWORD_LENGTH } from '@/../../common/script/constants';
@@ -754,6 +755,12 @@ export default {
}
});
}, 500),
sanitizeRedirect (redirect) {
if (!redirect) return '/';
let sanitizedString = DOMPurify.sanitize(redirect).replace(/\\|\/\/|\./g, '');
sanitizedString = `/${sanitizedString}`;
return sanitizedString;
},
async register () {
// @TODO do not use alert
if (!this.email) {
@@ -785,19 +792,14 @@ export default {
passwordConfirm: this.passwordConfirm,
});
let redirectTo;
if (this.$route.query.redirectTo) {
redirectTo = this.$route.query.redirectTo;
} else {
redirectTo = '/';
}
const redirectTo = this.sanitizeRedirect(this.$route.query.redirectTo);
// @TODO do not reload entire page
// problem is that app.vue created hook should be called again
// after user is logged in / just signed up
// ALSO it's the only way to make sure language data
// is reloaded and correct for the logged in user
// Same situation in login and socialAuth functions
window.location.href = redirectTo;
},
async login () {
@@ -807,19 +809,8 @@ export default {
password: this.password,
});
let redirectTo;
const redirectTo = this.sanitizeRedirect(this.$route.query.redirectTo);
if (this.$route.query.redirectTo) {
redirectTo = this.$route.query.redirectTo;
} else {
redirectTo = '/';
}
// @TODO do not reload entire page
// problem is that app.vue created hook should be called again
// after user is logged in / just signed up
// ALSO it's the only way to make sure language data
// is reloaded and correct for the logged in user
window.location.href = redirectTo;
},
// @TODO: Abstract hello in to action or lib
@@ -842,19 +833,8 @@ export default {
auth,
});
let redirectTo;
const redirectTo = this.sanitizeRedirect(this.$route.query.redirectTo);
if (this.$route.query.redirectTo) {
redirectTo = this.$route.query.redirectTo;
} else {
redirectTo = '/';
}
// @TODO do not reload entire page
// problem is that app.vue created hook should be called again
// after user is logged in / just signed up
// ALSO it's the only way to make sure language data
// is reloaded and correct for the logged in user
window.location.href = redirectTo;
}
},