Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78612a91dd | ||
|
|
8bcd93075b | ||
|
|
f318afb8cf | ||
|
|
b954379f38 |
2
package-lock.json
generated
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "habitica",
|
||||
"version": "4.86.1",
|
||||
"version": "4.86.2",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "habitica",
|
||||
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
||||
"version": "4.86.1",
|
||||
"version": "4.86.2",
|
||||
"main": "./website/server/index.js",
|
||||
"dependencies": {
|
||||
"@google-cloud/trace-agent": "^3.5.2",
|
||||
|
||||
@@ -1,42 +1,36 @@
|
||||
.promo_armoire_backgrounds_201903 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: 0px -220px;
|
||||
background-position: 0px -327px;
|
||||
width: 423px;
|
||||
height: 147px;
|
||||
}
|
||||
.promo_mystery_201902 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -424px -220px;
|
||||
background-position: -424px -327px;
|
||||
width: 240px;
|
||||
height: 147px;
|
||||
}
|
||||
.promo_mythical_marvels_bundle {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: 0px -368px;
|
||||
background-position: 0px -475px;
|
||||
width: 423px;
|
||||
height: 147px;
|
||||
}
|
||||
.promo_take_this {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -424px -368px;
|
||||
background-position: -665px -327px;
|
||||
width: 96px;
|
||||
height: 69px;
|
||||
}
|
||||
.promo_valentines_potions {
|
||||
.scene_dailies {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: 0px -516px;
|
||||
width: 420px;
|
||||
height: 147px;
|
||||
background-position: -441px 0px;
|
||||
width: 327px;
|
||||
height: 276px;
|
||||
}
|
||||
.scene_achievement {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -397px 0px;
|
||||
width: 339px;
|
||||
height: 210px;
|
||||
}
|
||||
.scene_cooking {
|
||||
.scene_tavern {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: 0px 0px;
|
||||
width: 396px;
|
||||
height: 219px;
|
||||
width: 440px;
|
||||
height: 326px;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 52 KiB |
@@ -1,57 +1,41 @@
|
||||
<template lang="pug">
|
||||
.row(:class="{'small-version': smallVersion}")
|
||||
dl
|
||||
.table-row(v-if="quest.collect")
|
||||
dt {{ $t('collect') + ':' }}
|
||||
dd
|
||||
template(v-if="quest.collect")
|
||||
dt(:class="smallVersion ? 'col-3' : 'col-4'") {{ $t('collect') + ':' }}
|
||||
dd.col-8
|
||||
div(v-for="(collect, key) of quest.collect")
|
||||
span {{ collect.count }} {{ getCollectText(collect) }}
|
||||
|
||||
.table-row(v-if="quest.boss")
|
||||
dt {{ $t('bossHP') + ':' }}
|
||||
dd {{ quest.boss.hp }}
|
||||
template(v-if="quest.boss")
|
||||
dt(:class="smallVersion ? 'col-3' : 'col-4'") {{ $t('bossHP') + ':' }}
|
||||
dd.col-8 {{ quest.boss.hp }}
|
||||
|
||||
.table-row
|
||||
dt {{ $t('difficulty') + ':' }}
|
||||
dd
|
||||
.svg-icon.inline(
|
||||
v-for="star of stars()", v-html="icons[star]",
|
||||
:class="smallVersion ? 'icon-12' : 'icon-16'",
|
||||
)
|
||||
dt(:class="smallVersion ? 'col-3' : 'col-4'") {{ $t('difficulty') + ':' }}
|
||||
dd.col-8
|
||||
.svg-icon.inline(
|
||||
v-for="star of stars()", v-html="icons[star]",
|
||||
:class="smallVersion ? 'icon-12' : 'icon-16'",
|
||||
)
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '~client/assets/scss/colors.scss';
|
||||
|
||||
.row {
|
||||
display: table;
|
||||
color: #E1E0E3;
|
||||
}
|
||||
|
||||
.table-row {
|
||||
display: table-row;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
dd {
|
||||
padding-left: 1em;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
dt, dd {
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
dt, dd, dd > * {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-size: 1.3em;
|
||||
line-height: 1.2;
|
||||
color: $gray-50;
|
||||
}
|
||||
|
||||
.col-8 {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.col-8:not(:last-child) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.svg-icon {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
@@ -37,9 +37,8 @@
|
||||
draggable.sortable-tasks(
|
||||
ref="tasksList",
|
||||
@update='taskSorted',
|
||||
@start="isDragging(true)",
|
||||
@end="isDragging(false)",
|
||||
:options='{disabled: activeFilter.label === "scheduled", scrollSensitivity: 64}',
|
||||
class="sortable-tasks"
|
||||
)
|
||||
task(
|
||||
v-for="task in taskList",
|
||||
@@ -50,11 +49,12 @@
|
||||
:group='group',
|
||||
)
|
||||
template(v-if="hasRewardsList")
|
||||
draggable.reward-items(
|
||||
draggable(
|
||||
ref="rewardsList",
|
||||
@update="rewardSorted",
|
||||
@start="rewardDragStart",
|
||||
@end="rewardDragEnd",
|
||||
class="reward-items",
|
||||
)
|
||||
shopItem(
|
||||
v-for="reward in inAppRewards",
|
||||
@@ -76,9 +76,6 @@
|
||||
<style lang="scss" scoped>
|
||||
@import '~client/assets/scss/colors.scss';
|
||||
|
||||
/deep/ .draggable-cursor {
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
.tasks-column {
|
||||
min-height: 556px;
|
||||
@@ -92,6 +89,7 @@
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
|
||||
.reward-items {
|
||||
@supports (display: grid) {
|
||||
display: grid;
|
||||
@@ -337,7 +335,6 @@ export default {
|
||||
showPopovers: true,
|
||||
|
||||
selectedItemToBuy: {},
|
||||
dragging: false,
|
||||
};
|
||||
},
|
||||
created () {
|
||||
@@ -524,11 +521,9 @@ export default {
|
||||
rewardDragStart () {
|
||||
// We need to stop popovers from interfering with our dragging
|
||||
this.showPopovers = false;
|
||||
this.isDragging(true);
|
||||
},
|
||||
rewardDragEnd () {
|
||||
this.showPopovers = true;
|
||||
this.isDragging(false);
|
||||
},
|
||||
quickAdd (ev) {
|
||||
// Add a new line if Shift+Enter Pressed
|
||||
@@ -683,14 +678,6 @@ export default {
|
||||
this.error(e.message);
|
||||
}
|
||||
},
|
||||
isDragging (dragging) {
|
||||
this.dragging = dragging;
|
||||
if (dragging) {
|
||||
document.documentElement.classList.add('draggable-cursor');
|
||||
} else {
|
||||
document.documentElement.classList.remove('draggable-cursor');
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
v-if="isUser && !isRunningYesterdailies",
|
||||
:right="task.type === 'reward'",
|
||||
ref="taskDropdown",
|
||||
v-b-tooltip.hover.top="$t('options')"
|
||||
v-b-tooltip.hover.top="$t('showMore')"
|
||||
)
|
||||
div(slot="dropdown-toggle", draggable=false)
|
||||
.svg-icon.dropdown-icon(v-html="icons.menu")
|
||||
@@ -141,11 +141,6 @@
|
||||
min-width: 0px;
|
||||
overflow-wrap: break-word;
|
||||
|
||||
// markdown p-tag, can't find without /deep/
|
||||
/deep/ p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
&.has-notes {
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
@@ -234,7 +229,7 @@
|
||||
overflow-wrap: break-word;
|
||||
|
||||
&.has-checklist {
|
||||
padding-bottom: 2px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -290,7 +285,7 @@
|
||||
margin-bottom: -3px;
|
||||
min-height: 0px;
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
margin-left: 8px;
|
||||
padding-right: 20px;
|
||||
overflow-wrap: break-word;
|
||||
|
||||
@@ -432,7 +427,7 @@
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
.task-control:not(.task-disabled-habit-control-inner), .reward-control {
|
||||
.task-control, .reward-control {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
.col-12.col-md-4.offset-md-4
|
||||
.d-flex
|
||||
input.form-control.input-search(type="text", :placeholder="$t('search')", v-model="searchText")
|
||||
button.btn.btn-secondary.dropdown-toggle.ml-2.d-flex.align-items-center.search-button(
|
||||
button.btn.btn-secondary.dropdown-toggle.ml-2.d-flex.align-items-center(
|
||||
type="button",
|
||||
@click="toggleFilterPanel()",
|
||||
:class="{active: selectedTags.length > 0}",
|
||||
@@ -110,10 +110,6 @@
|
||||
padding-top: 16px;
|
||||
}
|
||||
|
||||
.input-search, .search-button {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.tasks-navigation {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"saveEdits": "Save Edits",
|
||||
"showMore": "Show More",
|
||||
"showLess": "Show Less",
|
||||
"options": "Options",
|
||||
|
||||
"expandToolbar": "Expand Toolbar",
|
||||
"collapseToolbar": "Collapse Toolbar",
|
||||
|
||||
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 29 KiB |
BIN
website/raw_sprites/spritesmith_large/scene_dailies.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
website/raw_sprites/spritesmith_large/scene_tavern.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
@@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth';
|
||||
let api = {};
|
||||
|
||||
// @TODO export this const, cannot export it from here because only routes are exported from controllers
|
||||
const LAST_ANNOUNCEMENT_TITLE = 'MARCH BACKGROUNDS AND ARMOIRE ITEMS!';
|
||||
const LAST_ANNOUNCEMENT_TITLE = 'HABITICA BLOG: NEW GUILDS AND WIKI SPOTLIGHT ON DAILIES';
|
||||
const worldDmg = { // @TODO
|
||||
bailey: false,
|
||||
};
|
||||
@@ -30,14 +30,18 @@ api.getNews = {
|
||||
<div class="mr-3 ${baileyClass}"></div>
|
||||
<div class="media-body">
|
||||
<h1 class="align-self-center">${res.t('newStuff')}</h1>
|
||||
<h2>3/5/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
||||
<h2>3/12/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
<div class="promo_armoire_backgrounds_201903 center-block"></div>
|
||||
<p>We’ve added three new backgrounds to the Background Shop! Now your avatar can feed the birds at the Duck Pond, browse the Flower Market and go on the hunt for Spring goodies in a Field with Colored Eggs. Check them out under User Icon > Backgrounds!</p>
|
||||
<p>Plus, there’s new Gold-purchasable equipment in the Enchanted Armoire, including the Vernal Vestment set. Better work hard on your real-life tasks to earn all the pieces! Enjoy :)</p>
|
||||
<div class="small mb-3">by AnneDeLune, GeraldThePixel, QuartzFox, Vikte, gawrone, astigmatism, and SabreCat</div>
|
||||
<div class="scene_tavern center-block"></div>
|
||||
<h3>Guild Spotlight: Yet More New and Notable Guilds!</h3>
|
||||
<p>There's a new <a href='https://habitica.wordpress.com/2019/03/12/new-and-notable-guild-spotlight-3/' target='_blank'>Guild Spotlight</a> on the blog that highlights some of the new movers and shakers in our community! Check it out now to find some cool new places to hang out in Habitica with folks who share your interests and goals.</p>
|
||||
<div class="small mb-3">by shanaqui</div>
|
||||
<div class="scene_dailies center-block"></div>
|
||||
<h3>Blog Post: Dailies</h3>
|
||||
<p>This month's <a href='https://habitica.wordpress.com/2019/03/12/dailies/' target='_blank'>featured Wiki article</a> is about Dailies! We hope that it will help you as you work on completing routine tasks. Be sure to check it out, and let us know what you think by reaching out on <a href='https://twitter.com/habitica' target='_blank'>Twitter</a>, <a href='http://blog.habitrpg.com' target='_blank'>Tumblr</a>, and <a href='https://facebook.com/habitica' target='_blank'>Facebook</a>.</p>
|
||||
<div class="small mb-3">by shanaqui and the Wiki Wizards</div>
|
||||
</div>
|
||||
`,
|
||||
});
|
||||
|
||||