Compare commits

..

133 Commits

Author SHA1 Message Date
Matteo Pagliazzi 46c92d6171 4.147.3 2020-07-03 14:36:01 +02:00
Matteo Pagliazzi 1efcaa4a1d fix #12364, profile of logged in user did not show up correctly 2020-07-03 14:35:29 +02:00
Sabe Jones c4d131744b fix(lint): let Curly breathe 2020-07-02 16:50:41 -05:00
Sabe Jones a378106851 fix(script): better dupe matching 2020-07-02 20:56:19 +00:00
Sabe Jones e36a91a5c7 4.147.2 2020-07-02 13:58:50 -05:00
Matteo Pagliazzi ea623936bf apidoc: upgrade and add links to wiki 2020-07-02 18:19:15 +02:00
Sabe Jones 5a7e1cbc5a Merge branch 'release' into develop 2020-07-01 16:37:22 -05:00
Sabe Jones 0303f0b610 4.147.1 2020-07-01 16:36:57 -05:00
Sabe Jones fb6eacf8f9 chore(news): Bailey 2020-07-01 16:36:51 -05:00
Matteo Pagliazzi 3d5630d5a2 chore: update sub-deps and fix lint 2020-07-01 18:20:18 +02:00
Sabe Jones cbce80e926 fix(sorting): remove leading article from umbrella 2020-06-30 11:55:01 -05:00
Melior b9d42bf0bc Translated using Weblate (Russian)
Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.6% (2080 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 86.5% (1825 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.4% (2077 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (702 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (English)

Currently translated at 80.3% (45 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@lolcat/

Translated using Weblate (English)

Currently translated at 94.0% (63 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/en@lolcat/

Translated using Weblate (English)

Currently translated at 95.3% (470 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en@lolcat/

Translated using Weblate (English)

Currently translated at 97.3% (290 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/en@lolcat/

Translated using Weblate (English)

Currently translated at 80.7% (1703 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@lolcat/

Translated using Weblate (Italian)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/it/

Translated using Weblate (Italian)

Currently translated at 100.0% (143 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/it/

Translated using Weblate (Italian)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/it/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.4% (2076 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Italian)

Currently translated at 98.9% (295 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/it/

Translated using Weblate (Italian)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/it/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (701 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Italian)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/it/

Translated using Weblate (Portuguese)

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/pt/

Translated using Weblate (Italian)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/it/

Translated using Weblate (Portuguese)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/pt/

Translated using Weblate (Italian)

Currently translated at 89.3% (479 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/it/

Translated using Weblate (Italian)

Currently translated at 65.0% (54 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/it/

Translated using Weblate (Italian)

Currently translated at 65.0% (54 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/it/

Translated using Weblate (Italian)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/it/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (701 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 92.9% (198 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.8% (694 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (360 of 360 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.7% (324 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt_BR/

Translated using Weblate (English)

Currently translated at 1.2% (4 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/en@lolcat/

Translated using Weblate (English)

Currently translated at 91.9% (159 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en@lolcat/

Translated using Weblate (English)

Currently translated at 80.3% (45 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@lolcat/

Translated using Weblate (English)

Currently translated at 89.6% (191 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/en@lolcat/

Translated using Weblate (English)

Currently translated at 79.5% (198 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en@lolcat/

Translated using Weblate (English)

Currently translated at 96.4% (27 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/en@lolcat/

Translated using Weblate (English)

Currently translated at 85.7% (120 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/en@lolcat/

Translated using Weblate (English)

Currently translated at 95.3% (470 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en@lolcat/

Translated using Weblate (English)

Currently translated at 97.3% (290 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/en@lolcat/

Translated using Weblate (English)

Currently translated at 80.7% (1703 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en@lolcat/

Translated using Weblate (Russian)

Currently translated at 98.7% (82 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Japanese)

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ja/

Translated using Weblate (Japanese)

Currently translated at 86.3% (1821 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (701 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 98.9% (2087 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 98.7% (693 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 98.2% (56 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 96.4% (55 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/zh_Hant/

Translated using Weblate (English)

Currently translated at 78.5% (44 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en@lolcat/

Translated using Weblate (English)

Currently translated at 99.1% (123 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en@lolcat/

Translated using Weblate (English)

Currently translated at 92.4% (195 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@lolcat/

Translated using Weblate (Belarusian)

Currently translated at 91.9% (194 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/be/

Translated using Weblate (English (Pirate))

Currently translated at 78.5% (44 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 99.1% (123 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en@pirate/

Translated using Weblate (Ukrainian)

Currently translated at 91.9% (194 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/uk/

Translated using Weblate (English (Pirate))

Currently translated at 99.0% (209 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (Bulgarian)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/bg/

Translated using Weblate (Portuguese)

Currently translated at 81.9% (1728 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt/

Translated using Weblate (Dutch)

Currently translated at 97.5% (2058 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 86.2% (1819 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (701 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ru/

Translated using Weblate (Russian)

Currently translated at 97.5% (81 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/
2020-06-29 22:54:56 +02:00
Sabe Jones 40cadba7bf Merge branch 'release' into develop 2020-06-29 15:15:54 -05:00
Sabe Jones 57446c3041 4.147.0 2020-06-29 15:15:28 -05:00
Sabe Jones ee2a5fe6b3 chore(sprites): compile 2020-06-29 15:15:19 -05:00
Sabe Jones 2b166af82a feat(content): July 2020 subscriber set
Also refactor repetitive subscriber item code
2020-06-29 15:15:11 -05:00
wwyl1234 2c096d5feb Changed flex box direction to column. Changed other css properties such that tag names do not collapse when view width is changed on the browser. (#12332)
Co-authored-by: Winnie Lam <winnielam@Winnies-MacBook-Air.local>
2020-06-29 18:21:57 +02:00
Matteo Pagliazzi b2833ac4a2 fix(challenge): sync user when joining a challenge - make sure new tag is synced immediately 2020-06-29 17:05:37 +02:00
Alexandrea Beh 4f2656f8f6 Issue 12220 stealth tooltip show protected dailies (#12255)
* Issue 12220 - Show dailies protected by Stealth

A feature on the old site showed the number of
dailies protected by casting Stealth. This is
now showing again in the Stealth tooltip. The
skillNotes section was not being called. It
adds additional skill-specific info: the dailies
avoided by stealth, whether stealth no longer
needs to be cast (dailies already avoided) and
whether frost is no longer useful to cast.

Speculation: the spellDisabled method had some
commented out code regarding Stealth, which
may have broken due to a change in how dailies
are referenced. I have fixed this line, so it
seemed alright to keep the entirety of the
skillNotes function as it had been. However,
this includes more than just showing dailies
in the tooltip.

Behavior changes:
- tooltip shows dailies avoided for Stealth
- tooltip shows maxed out message for
Stealth when all dailies are covered
- tooltip shows frost already cast message
when frost has already been cast

* clean up conditions in skillNotes

* use future tense for rogue stealth dailies tooltip

* use getter for accurate task length

* consider stealth disabled based on incomplete dailies due, not all dailies

* Issue 12220 - Show dailies protected by Stealth

A feature on the old site showed the number of
dailies protected by casting Stealth. This is
now showing again in the Stealth tooltip. The
skillNotes section was not being called. It
adds additional skill-specific info: the dailies
avoided by stealth, whether stealth no longer
needs to be cast (dailies already avoided) and
whether frost is no longer useful to cast.

Speculation: the spellDisabled method had some
commented out code regarding Stealth, which
may have broken due to a change in how dailies
are referenced. I have fixed this line, so it
seemed alright to keep the entirety of the
skillNotes function as it had been. However,
this includes more than just showing dailies
in the tooltip.

Behavior changes:
- tooltip shows dailies avoided for Stealth
- tooltip shows maxed out message for
Stealth when all dailies are covered
- tooltip shows frost already cast message
when frost has already been cast

* factor out stealthBuffsToAdd for casting stealth + tooltip previewing dailies avoided

* fix merge conflict
2020-06-29 16:45:00 +02:00
Alexandrea Beh da60f44356 Issue 12220 stealth tooltip show protected dailies (#12255)
* Issue 12220 - Show dailies protected by Stealth

A feature on the old site showed the number of
dailies protected by casting Stealth. This is
now showing again in the Stealth tooltip. The
skillNotes section was not being called. It
adds additional skill-specific info: the dailies
avoided by stealth, whether stealth no longer
needs to be cast (dailies already avoided) and
whether frost is no longer useful to cast.

Speculation: the spellDisabled method had some
commented out code regarding Stealth, which
may have broken due to a change in how dailies
are referenced. I have fixed this line, so it
seemed alright to keep the entirety of the
skillNotes function as it had been. However,
this includes more than just showing dailies
in the tooltip.

Behavior changes:
- tooltip shows dailies avoided for Stealth
- tooltip shows maxed out message for
Stealth when all dailies are covered
- tooltip shows frost already cast message
when frost has already been cast

* clean up conditions in skillNotes

* use future tense for rogue stealth dailies tooltip

* use getter for accurate task length

* consider stealth disabled based on incomplete dailies due, not all dailies

* Issue 12220 - Show dailies protected by Stealth

A feature on the old site showed the number of
dailies protected by casting Stealth. This is
now showing again in the Stealth tooltip. The
skillNotes section was not being called. It
adds additional skill-specific info: the dailies
avoided by stealth, whether stealth no longer
needs to be cast (dailies already avoided) and
whether frost is no longer useful to cast.

Speculation: the spellDisabled method had some
commented out code regarding Stealth, which
may have broken due to a change in how dailies
are referenced. I have fixed this line, so it
seemed alright to keep the entirety of the
skillNotes function as it had been. However,
this includes more than just showing dailies
in the tooltip.

Behavior changes:
- tooltip shows dailies avoided for Stealth
- tooltip shows maxed out message for
Stealth when all dailies are covered
- tooltip shows frost already cast message
when frost has already been cast

* factor out stealthBuffsToAdd for casting stealth + tooltip previewing dailies avoided

* fix merge conflict
2020-06-29 11:12:19 +02:00
dependabot-preview[bot] 911a44adec build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#12351)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.4.4 to 4.4.6.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.6/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2020-06-29 10:53:08 +02:00
dependabot-preview[bot] e38a455922 build(deps): bump @vue/cli-plugin-eslint in /website/client (#12353)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.4.4 to 4.4.6.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.6/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2020-06-29 10:52:23 +02:00
dependabot-preview[bot] c6f825ac31 build(deps): bump @vue/cli-plugin-router in /website/client (#12349)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.4.4 to 4.4.6.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.6/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:46:53 +02:00
dependabot-preview[bot] 72acdf5884 build(deps): bump @vue/cli-service in /website/client (#12354)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.4.4 to 4.4.6.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.6/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:46:32 +02:00
dependabot-preview[bot] 8a527ec10a build(deps): bump sass from 1.26.8 to 1.26.9 in /website/client (#12355)
Bumps [sass](https://github.com/sass/dart-sass) from 1.26.8 to 1.26.9.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.26.8...1.26.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:46:16 +02:00
dependabot-preview[bot] d7d433175d build(deps): bump @vue/cli-plugin-babel in /website/client (#12344)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.4.4 to 4.4.6.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.6/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:46:03 +02:00
dependabot-preview[bot] 0f75dd4dbe build(deps): bump superagent from 5.2.2 to 5.3.1 (#12352)
Bumps [superagent](https://github.com/visionmedia/superagent) from 5.2.2 to 5.3.1.
- [Release notes](https://github.com/visionmedia/superagent/releases)
- [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/visionmedia/superagent/compare/v5.2.2...v5.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:45:38 +02:00
dependabot-preview[bot] 9098bde7ac build(deps): bump mongoose from 5.9.19 to 5.9.20 (#12343)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.19 to 5.9.20.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md)
- [Commits](https://github.com/Automattic/mongoose/compare/5.9.19...5.9.20)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:45:12 +02:00
dependabot-preview[bot] a7a9747bf1 build(deps): bump winston from 3.3.0 to 3.3.3 (#12348)
Bumps [winston](https://github.com/winstonjs/winston) from 3.3.0 to 3.3.3.
- [Release notes](https://github.com/winstonjs/winston/releases)
- [Changelog](https://github.com/winstonjs/winston/blob/master/CHANGELOG.md)
- [Commits](https://github.com/winstonjs/winston/compare/v3.3.0...v3.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:44:50 +02:00
dependabot-preview[bot] 69e340ac59 build(deps): bump helmet from 3.23.1 to 3.23.3 (#12345)
Bumps [helmet](https://github.com/helmetjs/helmet) from 3.23.1 to 3.23.3.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v3.23.1...v3.23.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:44:38 +02:00
dependabot-preview[bot] c923bd8efb build(deps): bump uuid from 8.1.0 to 8.2.0 in /website/client (#12346)
Bumps [uuid](https://github.com/uuidjs/uuid) from 8.1.0 to 8.2.0.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v8.1.0...v8.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:44:21 +02:00
dependabot-preview[bot] 4396713488 build(deps): bump uuid from 8.1.0 to 8.2.0 (#12350)
Bumps [uuid](https://github.com/uuidjs/uuid) from 8.1.0 to 8.2.0.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v8.1.0...v8.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-29 10:43:54 +02:00
Matteo Pagliazzi a352a351bf Merge https://github.com/HabitRPG/habitica/pull/12338 "Added the task type to the Delete alert window"
by @Shuyinsama
Squashed commit of the following:

commit 0c05ff510e4bd0d7161c49245dd11e6abe882d96
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Sat Jun 27 19:41:58 2020 +0200

    fix lint

commit 2e1e1e4071d57fa2853a4a8f481c94bd5836037f
Merge: cbc9af4ef5 fc46d73b1d
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Sat Jun 27 19:39:58 2020 +0200

    Merge branch 'feature/Deleting-a-reward-asks-you-if-you-want-to-delete-the-task' of https://github.com/Shuyinsama/habitica into Shuyinsama-feature/Deleting-a-reward-asks-you-if-you-want-to-delete-the-task

commit fc46d73b1d
Author: Patrick van Zadel <Shuyinsama@users.noreply.github.com>
Date:   Sat Jun 27 18:54:08 2020 +0200

    Renamed keys and fixed a check in the modal

commit ec5b765f5c
Author: Patrick van Zadel <Shuyinsama@users.noreply.github.com>
Date:   Sat Jun 27 18:45:25 2020 +0200

    Renamed translation keys

commit f0837dc571
Author: Patrick van Zadel <patrickvanzadel@eleven.nl>
Date:   Tue Jun 23 23:06:59 2020 +0200

    Added the task type to the "Delete" alert window so it now asks if you want to delete the task of type
    Edited the "Delete this ..." button in the edit task modal to represent the task type
2020-06-27 19:42:24 +02:00
Matteo Pagliazzi cbc9af4ef5 fix(top menu): remove outline when sync button is pressed 2020-06-27 17:04:43 +02:00
jacobguinther e42518f427 Make message links to deleted profiles display 404: (fixes 11020) (#12229)
* Make links to deleted profiles display 404

* Implement some requested changes

- remove comments
- remove 'await'
- rename error -> 404error
- remove catch block -> just check for 404

* Fix bug: Logged in user profile showing 404

- Initiallty logged in user will display fine
- This bug only appeared after you view a deleted users modal

* Remove 'user.active' attribute

- add change to data():
- user: undefined -> user: {}

* Shorten showMemberModal()

- Remove unused fetch profile data
- Remove unnecessary conditional

* Change user initial value to null

- Add userLoaded to data
2020-06-27 16:53:55 +02:00
Ieahleen 083417fe48 added trasnformation items to api cast spell description (#12340) 2020-06-27 16:17:48 +02:00
Sabe Jones ea255579cb Merge branch 'release' into develop 2020-06-26 15:18:58 -05:00
Sabe Jones 6b3ba83d4f 4.146.7 2020-06-26 15:18:38 -05:00
Sabe Jones b641414a56 fix(ABtest): record test group at registration 2020-06-26 15:16:22 -05:00
negue 5e2bfc2c2f added tests: if collapseChecklist is allowed and all others are still blocked (#12337)
* tests: test if collapseChecklist is allowed and all others are still blocked

* fix lint
2020-06-26 19:05:41 +02:00
Matteo Pagliazzi 359ef47ce7 fix(get tasks): improve tests and add ability to fetch group tasks (#12339) 2020-06-26 16:50:49 +02:00
Matteo Pagliazzi c7eae6f26b fix(push notifications): always strip markdown from push notification text 2020-06-26 15:27:02 +02:00
Sabe Jones 398b3c1f0d fix(ABtest): important parens 2020-06-25 15:06:58 -05:00
Sabe Jones f1f120498c fix(ABtest): important parens 2020-06-25 15:06:06 -05:00
Melior 73844335de Merge branch 'origin/develop' into Weblate. 2020-06-25 21:33:42 +02:00
Melior 563744954e Translated using Weblate (Japanese)
Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/ja/

Translated using Weblate (Japanese)

Currently translated at 86.0% (1815 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Japanese)

Currently translated at 97.1% (682 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (French)

Currently translated at 100.0% (702 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (Spanish)

Currently translated at 96.4% (517 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/

Translated using Weblate (Russian)

Currently translated at 96.9% (2045 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Dutch)

Currently translated at 97.1% (2048 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 97.1% (682 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Spanish)

Currently translated at 95.8% (514 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/es/

Translated using Weblate (Spanish)

Currently translated at 88.7% (221 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (143 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/es/

Translated using Weblate (Spanish)

Currently translated at 89.6% (1890 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Spanish)

Currently translated at 94.5% (507 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Latin)

Currently translated at 83.9% (450 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Latin)

Currently translated at 86.7% (72 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Russian)

Currently translated at 97.5% (81 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Japanese)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ja/

Translated using Weblate (Japanese)

Currently translated at 99.5% (248 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (German)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/de/

Translated using Weblate (Japanese)

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Russian)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/ru/

Translated using Weblate (Japanese)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/ja/

Translated using Weblate (Russian)

Currently translated at 98.3% (182 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Russian)

Currently translated at 96.9% (2045 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Russian)

Currently translated at 98.2% (55 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ru/

Translated using Weblate (Japanese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (701 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.2% (697 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (German)

Currently translated at 99.7% (700 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (German)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/ru/

Translated using Weblate (German)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/de/

Translated using Weblate (Russian)

Currently translated at 97.2% (180 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (German)

Currently translated at 99.4% (184 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/de/

Translated using Weblate (Russian)

Currently translated at 96.3% (2031 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (German)

Currently translated at 99.2% (2093 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Russian)

Currently translated at 85.7% (48 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ru/

Translated using Weblate (Dutch)

Currently translated at 83.9% (47 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/nl/

Translated using Weblate (German)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/

Translated using Weblate (French)

Currently translated at 100.0% (2109 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (German)

Currently translated at 98.7% (2082 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (360 of 360 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/
2020-06-25 21:33:25 +02:00
Sabe Jones a3e5266075 4.146.6 2020-06-25 14:30:16 -05:00
Sabe Jones 2a85f2d27f chore(news): Bailey
and set up A/B test for drop curve
2020-06-25 14:29:53 -05:00
Sabe Jones fc2fb8acc5 Merge branch 'sabrecat/more-onboarding' into release 2020-06-25 13:47:52 -05:00
Matteo Pagliazzi a44aef3d9f MongoDB 4.2 (#12331)
* use mongodb 4.2 in github actions

* use .countDocuments in place of .count
2020-06-25 16:50:57 +02:00
Matteo Pagliazzi 6058b3d4b4 Merge branch 'develop' of github.com:HabitRPG/habitica into develop 2020-06-25 16:07:25 +02:00
Matteo Pagliazzi 97857dbe9c fix(apidoc): make sure v4 routes do not show up in docs 2020-06-25 16:07:03 +02:00
Tressley Cahill b74d3343d1 Merge pull request #12314 from HabitRPG/hotfix/groups-checklist-toggle
Groups: always show checklist-toggle
2020-06-25 10:01:15 -04:00
negue 54a2ec1be8 enable collapseChecklist to be changed by everyone 2020-06-24 21:29:40 +02:00
Melior 7a2f05d136 Merge branch 'origin/develop' into Weblate. 2020-06-23 21:41:48 +02:00
Melior 12c644fbef Translated using Weblate (Japanese)
Currently translated at 99.5% (212 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ja/

Translated using Weblate (Spanish)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/es/

Translated using Weblate (Portuguese)

Currently translated at 81.6% (1721 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt/

Translated using Weblate (Dutch)

Currently translated at 96.3% (2031 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Spanish)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (701 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 98.8% (694 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (360 of 360 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (83 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (French)

Currently translated at 98.8% (2085 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Spanish)

Currently translated at 89.6% (1890 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/es/

Translated using Weblate (Japanese)

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Japanese)

Currently translated at 85.9% (1812 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (360 of 360 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

Translated using Weblate (Dutch)

Currently translated at 96.0% (2025 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (701 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 95.5% (2015 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Spanish)

Currently translated at 96.3% (80 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Spanish)

Currently translated at 92.7% (77 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Japanese)

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ja/

Translated using Weblate (Japanese)

Currently translated at 85.8% (1811 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/vi/

Translated using Weblate (French)

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (French)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/fr/

Translated using Weblate (French)

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/

Translated using Weblate (French)

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

Translated using Weblate (Japanese)

Currently translated at 85.8% (1810 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (French)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/fr/

Translated using Weblate (French)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/fr/

Translated using Weblate (French)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (701 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (702 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (Spanish)

Currently translated at 91.5% (76 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Japanese)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ja/

Translated using Weblate (Japanese)

Currently translated at 99.4% (172 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.5% (699 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/en_GB/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.2% (697 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (702 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en_GB/

Translated using Weblate (Spanish)

Currently translated at 94.5% (507 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Spanish)

Currently translated at 83.1% (69 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en_GB/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (360 of 360 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/vi/

Translated using Weblate (Russian)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ru/

Translated using Weblate (Russian)

Currently translated at 99.2% (139 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 97.2% (180 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2109 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en_GB/

Translated using Weblate (Russian)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ru/

Translated using Weblate (Spanish)

Currently translated at 94.4% (506 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Spanish)

Currently translated at 94.4% (506 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Russian)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (Japanese)

Currently translated at 100.0% (185 of 185 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Dutch)

Currently translated at 94.7% (1998 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 85.7% (1809 of 2109 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ja/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en_GB/

Translated using Weblate (Japanese)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ja/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (360 of 360 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (360 of 360 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (360 of 360 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en_GB/

Translated using Weblate (French)

Currently translated at 100.0% (360 of 360 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/
2020-06-23 21:41:36 +02:00
Sabe Jones 52914ed17e Merge branch 'release' into develop 2020-06-23 14:36:41 -05:00
Sabe Jones 1f20c91bd6 4.146.5 2020-06-23 14:30:57 -05:00
Sabe Jones e52fec08a0 feat(event): Splashy Skins 2020-06-23 14:30:39 -05:00
Patrick van Zadel b2bb251522 Bugfix/show the correct negative icon in challenge habit (#12313)
* Habits in the challenge view have incorrect and misaligned negative icon
Change the check for the negative icon to something more suitable so the lock icon is shown when needed

* Habits in the challenge view have incorrect and misaligned negative icon
Removed the check for task.group.id

Co-authored-by: Patrick van Zadel <patrickvanzadel@eleven.nl>
2020-06-23 11:36:49 +02:00
Sabe Jones 3b7af150cd Merge branch 'release' into develop 2020-06-22 14:20:43 -05:00
Sabe Jones 118fcfca2b 4.146.4 2020-06-22 14:19:34 -05:00
Sabe Jones bde33fae37 fix(content): correct Summer Mage weapon price 2020-06-22 14:19:26 -05:00
Sabe Jones 996ee57c85 chore(i18n): update locale files 2020-06-22 14:18:28 -05:00
Sabe Jones 6f8f8f723c feat(onboarding): give food on 3rd task 2020-06-22 14:18:16 -05:00
Matteo Pagliazzi b96a940d82 Upgrade client dependencies (#12329)
* upgrade amplitude-js to v6

* upgrade svg-url-loader

* upgrade uuid

* upgrade validator
2020-06-22 12:04:58 +02:00
Matteo Pagliazzi ba16fa6854 Upgrade Server Deps (#12328)
* upgrade uuid

* upgrade gulp-imagemin

* upgrade bcrypt

* upgrade validator.js

* fix uuid import

* upgrade got

* upgrade sinon

* upgrade passport-google-oauth2

* fix unit test
2020-06-22 11:51:52 +02:00
dependabot-preview[bot] fa7448c41d build(deps): bump @google-cloud/trace-agent from 5.0.0 to 5.1.0 (#12325)
Bumps [@google-cloud/trace-agent](https://github.com/googleapis/cloud-trace-nodejs) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/googleapis/cloud-trace-nodejs/releases)
- [Changelog](https://github.com/googleapis/cloud-trace-nodejs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/cloud-trace-nodejs/compare/v5.0.0...v5.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:31:28 +02:00
dependabot-preview[bot] 48edf2d3ca build(deps): bump @babel/preset-env from 7.10.2 to 7.10.3 (#12324)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:31:21 +02:00
dependabot-preview[bot] 65502bae07 build(deps): bump moment from 2.26.0 to 2.27.0 (#12322)
Bumps [moment](https://github.com/moment/moment) from 2.26.0 to 2.27.0.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.26.0...2.27.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:28:02 +02:00
dependabot-preview[bot] 1ecfdbadc9 build(deps): bump smartbanner.js in /website/client (#12316)
Bumps [smartbanner.js](https://github.com/ain/smartbanner.js) from 1.15.0 to 1.16.0.
- [Release notes](https://github.com/ain/smartbanner.js/releases)
- [Commits](https://github.com/ain/smartbanner.js/compare/v1.15.0...v1.16.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:27:38 +02:00
dependabot-preview[bot] 26911a7d8f build(deps): bump @babel/core from 7.10.2 to 7.10.3 (#12323)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:26:58 +02:00
dependabot-preview[bot] ba96a3e947 build(deps): bump @babel/register from 7.10.1 to 7.10.3 (#12319)
Bumps [@babel/register](https://github.com/babel/babel/tree/HEAD/packages/babel-register) from 7.10.1 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-register)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:26:50 +02:00
dependabot-preview[bot] 96b3be0467 build(deps): bump winston from 3.2.1 to 3.3.0 (#12318)
Bumps [winston](https://github.com/winstonjs/winston) from 3.2.1 to 3.3.0.
- [Release notes](https://github.com/winstonjs/winston/releases)
- [Changelog](https://github.com/winstonjs/winston/blob/master/CHANGELOG.md)
- [Commits](https://github.com/winstonjs/winston/compare/3.2.1...v3.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:26:35 +02:00
Matteo Pagliazzi 8715ef5d7c build(deps): bump jwks-rsa from 1.8.0 to 1.8.1 (#12317)
Bumps [jwks-rsa](https://github.com/auth0/node-jwks-rsa) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/auth0/node-jwks-rsa/releases)
- [Changelog](https://github.com/auth0/node-jwks-rsa/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/node-jwks-rsa/compare/v1.8.0...1.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:26:04 +02:00
dependabot-preview[bot] 2ecca3b388 build(deps): bump moment from 2.26.0 to 2.27.0 in /website/client (#12315)
Bumps [moment](https://github.com/moment/moment) from 2.26.0 to 2.27.0.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.26.0...2.27.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:25:57 +02:00
dependabot-preview[bot] f4b13755a9 build(deps): bump mongoose from 5.9.18 to 5.9.19 (#12326)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.18 to 5.9.19.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md)
- [Commits](https://github.com/Automattic/mongoose/compare/5.9.18...5.9.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:25:18 +02:00
dependabot-preview[bot] a618df4c6a build(deps): bump helmet from 3.23.0 to 3.23.1 (#12327)
Bumps [helmet](https://github.com/helmetjs/helmet) from 3.23.0 to 3.23.1.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v3.23.0...v3.23.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:24:58 +02:00
dependabot-preview[bot] 2169e9285d build(deps): bump jwks-rsa from 1.8.0 to 1.8.1
Bumps [jwks-rsa](https://github.com/auth0/node-jwks-rsa) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/auth0/node-jwks-rsa/releases)
- [Changelog](https://github.com/auth0/node-jwks-rsa/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/node-jwks-rsa/compare/v1.8.0...1.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 05:46:24 +00:00
negue 03dd469a45 always show checklist-toggle 2020-06-20 21:08:44 +02:00
negue 29f1817a7c TaskModal: Checklist component extracted (#12287)
* wip: checklist component extracted

* fixing icons:
Trash can - Delete
Little X - Remove
Big X - Close
Block - Block

* remove checklist code from taskModal and replace with the component + fix styles

* save checklist item on blur

* remove console.info

* fix pr comments + empty checklist item + icon
2020-06-20 20:09:28 +02:00
David C f2a8ba4878 Removing max-height on app-header (#11906)
Fixes #11822 by allowing sprites and bg to take up as much space as they 
need.
2020-06-20 18:40:46 +02:00
Sabe Jones fd8f21455c Merge branch 'release' into develop 2020-06-19 15:22:44 -05:00
Sabe Jones 7b35c6fb8b 4.146.3 2020-06-19 15:22:14 -05:00
Sabe Jones cdd9d23e90 fix(potion): add event data to Sand Sculpture 2020-06-19 15:22:04 -05:00
Sabe Jones 6f877c156a Merge branch 'release' into develop 2020-06-19 14:57:35 -05:00
Sabe Jones 5005bb8714 4.146.2 2020-06-19 14:56:52 -05:00
Sabe Jones ec6738afa8 fix(event): missing potions 2020-06-19 14:55:49 -05:00
Sabe Jones 2c53d1db35 4.146.1 2020-06-18 19:38:17 -05:00
Sabe Jones 97a6dc521b fix(event): allow 2019 gear to be bought 2020-06-18 19:38:08 -05:00
Sabe Jones a305c70c7a fix(test): evade predictable food 2020-06-18 15:57:32 -05:00
Sabe Jones c210bed033 feat(onboarding): more early incentives 2020-06-18 15:49:48 -05:00
Melior 7fd84c7d8a Merge branch 'origin/develop' into Weblate. 2020-06-18 20:36:50 +02:00
Sabe Jones 6a87ecac07 Merge branch 'release' into develop 2020-06-18 13:30:25 -05:00
Sabe Jones e0bab99c95 4.146.0 2020-06-18 13:29:39 -05:00
Sabe Jones 1405cf3ca5 Squashed commit of the following:
commit 39427a75db
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Wed Jun 17 17:33:30 2020 +0200

    To-Dos -> To Do's (#12290)

    * To-Dos -> To Do's

    * To-Do -> To Do

commit d7854f3809
Author: jacobguinther <jacobgguinther@gmail.com>
Date:   Tue Jun 16 13:31:32 2020 -0600

    Remove party banner when below tablet size  (fixes 10827) (#12289)

    * Remove party banner when below tablet size
    - Use Bootstrap breakpoints to remove party banner @ 768px
    - Remove old media query that removed party button on small screens

    * Make progress bars smaller @ 992px
    - Makes room for party piece

commit 0d8df9f1a2
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Tue Jun 16 13:42:28 2020 -0500

    More Armoire content refactoring (#12288)

    * refactor(armoire): still more defaultification

    * fix(refactor): look at array for index, not object

    * refactor(armoire): skip stat processing if item already has notes

commit 679c8f725b
Merge: 274a5f310e ed0cffce76
Author: Melior <admin@habitica.com>
Date:   Tue Jun 16 20:39:36 2020 +0200

    Merge branch 'origin/develop' into Weblate.

commit ed0cffce76
Author: Melior <admin@habitica.com>
Date:   Tue Jun 16 20:39:25 2020 +0200

    Translated using Weblate (Dutch)

    Currently translated at 94.6% (2000 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Japanese)

    Currently translated at 96.4% (677 of 702 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

    Translated using Weblate (Dutch)

    Currently translated at 94.6% (2000 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Japanese)

    Currently translated at 97.5% (81 of 83 strings)

    Translation: Habitica/Achievements
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

    Translated using Weblate (Vietnamese)

    Currently translated at 100.0% (536 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (213 of 213 strings)

    Translation: Habitica/Tasks
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (2113 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (702 of 702 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (359 of 359 strings)

    Translation: Habitica/Content
    Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (536 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

    Translated using Weblate (Vietnamese)

    Currently translated at 97.0% (520 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

    Translated using Weblate (Vietnamese)

    Currently translated at 94.0% (504 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (140 of 140 strings)

    Translation: Habitica/Quests
    Translate-URL: https://translate.habitica.com/projects/habitica/quests/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (173 of 173 strings)

    Translation: Habitica/Npc
    Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/ja/

    Translated using Weblate (Russian)

    Currently translated at 98.2% (690 of 702 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

    Translated using Weblate (Japanese)

    Currently translated at 95.4% (670 of 702 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (359 of 359 strings)

    Translation: Habitica/Content
    Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (213 of 213 strings)

    Translation: Habitica/Tasks
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (173 of 173 strings)

    Translation: Habitica/Npc
    Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (536 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (Japanese)

    Currently translated at 95.1% (79 of 83 strings)

    Translation: Habitica/Achievements
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

    Translated using Weblate (Vietnamese)

    Currently translated at 92.3% (495 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

    Translated using Weblate (Romanian)

    Currently translated at 100.0% (213 of 213 strings)

    Translation: Habitica/Tasks
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ro/

    Translated using Weblate (Romanian)

    Currently translated at 100.0% (57 of 57 strings)

    Translation: Habitica/Spells
    Translate-URL: https://translate.habitica.com/projects/habitica/spells/ro/

    Translated using Weblate (Romanian)

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/ro/

    Translated using Weblate (Romanian)

    Currently translated at 100.0% (63 of 63 strings)

    Translation: Habitica/Defaulttasks
    Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ro/

    Translated using Weblate (Romanian)

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/ro/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (143 of 143 strings)

    Translation: Habitica/Pets
    Translate-URL: https://translate.habitica.com/projects/habitica/pets/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (359 of 359 strings)

    Translation: Habitica/Content
    Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

    Translated using Weblate (Japanese)

    Currently translated at 99.6% (534 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (Russian)

    Currently translated at 99.5% (210 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

    Translated using Weblate (Vietnamese)

    Currently translated at 90.8% (487 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

    Translated using Weblate (Japanese)

    Currently translated at 98.8% (530 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (536 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

    Translated using Weblate (Vietnamese)

    Currently translated at 83.2% (446 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

    Translated using Weblate (Vietnamese)

    Currently translated at 100.0% (213 of 213 strings)

    Translation: Habitica/Tasks
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/vi/

    Translated using Weblate (Dutch)

    Currently translated at 94.4% (1996 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Japanese)

    Currently translated at 95.4% (670 of 702 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (359 of 359 strings)

    Translation: Habitica/Content
    Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

    Translated using Weblate (Japanese)

    Currently translated at 98.3% (527 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

commit 274a5f310e
Merge: d961b8aaaf bceccd55bf
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Tue Jun 16 13:36:42 2020 -0500

    Merge branch 'release' into develop

commit d961b8aaaf
Author: Frank Maximus <frank@healingjourneyman.com>
Date:   Tue Jun 16 19:06:14 2020 +0200

    #9498: Hide Wolf-Veteran and LionCub-Ethereal (#12292)

commit 430ff64875
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Tue Jun 16 15:12:39 2020 +0200

    build(deps): bump @vue/cli-plugin-eslint in /website/client (#12301)

    Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.4.1 to 4.4.4.
    - [Release notes](https://github.com/vuejs/vue-cli/releases)
    - [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
    - [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-plugin-eslint)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

commit ac99c6c3c5
Merge: 1be03d741a a43f410031
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Tue Jun 16 15:04:30 2020 +0200

    build(deps): bump @vue/cli-service in /website/client (#12305)

    Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.4.1 to 4.4.4.
    - [Release notes](https://github.com/vuejs/vue-cli/releases)
    - [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
    - [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-service)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

commit 1be03d741a
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Tue Jun 16 15:04:13 2020 +0200

    build(deps): bump @vue/cli-plugin-router in /website/client (#12304)

    Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.4.1 to 4.4.4.
    - [Release notes](https://github.com/vuejs/vue-cli/releases)
    - [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
    - [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-plugin-router)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

commit a43f410031
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Tue Jun 16 13:00:43 2020 +0000

    build(deps): bump @vue/cli-service in /website/client

    Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.4.1 to 4.4.4.
    - [Release notes](https://github.com/vuejs/vue-cli/releases)
    - [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
    - [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-service)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

commit b84395b17d
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Tue Jun 16 14:58:02 2020 +0200

    build(deps): bump vue-router from 3.3.2 to 3.3.4 in /website/client (#12306)

    Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.3.2 to 3.3.4.
    - [Release notes](https://github.com/vuejs/vue-router/releases)
    - [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
    - [Commits](https://github.com/vuejs/vue-router/compare/v3.3.2...v3.3.4)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

commit d5d4afe613
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Tue Jun 16 14:57:43 2020 +0200

    build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#12303)

    Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.4.1 to 4.4.4.
    - [Release notes](https://github.com/vuejs/vue-cli/releases)
    - [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
    - [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-plugin-unit-mocha)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

commit def62d5716
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Tue Jun 16 14:57:37 2020 +0200

    build(deps): bump habitica-markdown in /website/client (#12302)

    Bumps [habitica-markdown](https://github.com/HabitRPG/habitica-markdown) from 2.0.0 to 2.0.2.
    - [Release notes](https://github.com/HabitRPG/habitica-markdown/releases)
    - [Commits](https://github.com/HabitRPG/habitica-markdown/commits/v2.0.2)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

commit 5846898592
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Tue Jun 16 14:57:25 2020 +0200

    build(deps): bump @vue/cli-plugin-babel in /website/client (#12299)

    Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.4.1 to 4.4.4.
    - [Release notes](https://github.com/vuejs/vue-cli/releases)
    - [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
    - [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-plugin-babel)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

commit 524aac4d95
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Tue Jun 16 14:57:11 2020 +0200

    build(deps): bump helmet from 3.22.0 to 3.23.0 (#12297)

    Bumps [helmet](https://github.com/helmetjs/helmet) from 3.22.0 to 3.23.0.
    - [Release notes](https://github.com/helmetjs/helmet/releases)
    - [Changelog](https://github.com/helmetjs/helmet/blob/master/CHANGELOG.md)
    - [Commits](https://github.com/helmetjs/helmet/compare/v3.22.0...v3.23.0)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

commit 92dc332ab9
Merge: 7902db2edc bcd3e2851c
Author: Melior <admin@habitica.com>
Date:   Fri Jun 12 00:02:52 2020 +0200

    Merge branch 'origin/develop' into Weblate.

commit 7902db2edc
Merge: f3ea5f0b62 e6b65871e7
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Jun 11 16:38:48 2020 -0500

    Merge branch 'release' into develop

commit f3ea5f0b62
Author: negue <negue@users.noreply.github.com>
Date:   Thu Jun 11 21:14:33 2020 +0200

    Tasks Redesign: Colors, Title, Notes, Habit Controls, Button Style  (#12274)

    * extract color changes + habit-controls out of #12142

    * extract title / notes changes from #12142

    * extracted delete btn + style fixes of #12142

    * fix taskModal footer + advancedSettings

    * extracted the button style changes from #12142

    * remove un-used method

commit bcd3e2851c
Author: Melior <admin@habitica.com>
Date:   Thu Jun 11 20:46:57 2020 +0200

    Translated using Weblate (Vietnamese)

    Currently translated at 100.0% (83 of 83 strings)

    Translation: Habitica/Achievements
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/vi/

    Translated using Weblate (Latin)

    Currently translated at 85.5% (71 of 83 strings)

    Translation: Habitica/Achievements
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

    Translated using Weblate (Russian)

    Currently translated at 97.3% (2056 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

    Translated using Weblate (German)

    Currently translated at 99.8% (2110 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

    Translated using Weblate (Russian)

    Currently translated at 99.4% (533 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

    Translated using Weblate (Japanese)

    Currently translated at 97.9% (525 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (German)

    Currently translated at 99.6% (534 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

    Translated using Weblate (Catalan)

    Currently translated at 100.0% (4 of 4 strings)

    Translation: Habitica/Noscript
    Translate-URL: https://translate.habitica.com/projects/habitica/noscript/ca/

    Translated using Weblate (Catalan)

    Currently translated at 100.0% (12 of 12 strings)

    Translation: Habitica/Merch
    Translate-URL: https://translate.habitica.com/projects/habitica/merch/ca/

    Translated using Weblate (Catalan)

    Currently translated at 100.0% (230 of 230 strings)

    Translation: Habitica/Character
    Translate-URL: https://translate.habitica.com/projects/habitica/character/ca/

    Translated using Weblate (Vietnamese)

    Currently translated at 80.9% (434 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

    Translated using Weblate (Catalan)

    Currently translated at 100.0% (28 of 28 strings)

    Translation: Habitica/Rebirth
    Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/ca/

    Translated using Weblate (Catalan)

    Currently translated at 100.0% (31 of 31 strings)

    Translation: Habitica/Maintenance
    Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/ca/

    Translated using Weblate (Catalan)

    Currently translated at 100.0% (27 of 27 strings)

    Translation: Habitica/Loginincentives
    Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/ca/

    Translated using Weblate (Catalan)

    Currently translated at 100.0% (6 of 6 strings)

    Translation: Habitica/Inventory
    Translate-URL: https://translate.habitica.com/projects/habitica/inventory/ca/

    Translated using Weblate (Catalan)

    Currently translated at 82.3% (1740 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/ca/

    Translated using Weblate (Catalan)

    Currently translated at 100.0% (63 of 63 strings)

    Translation: Habitica/Defaulttasks
    Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ca/

    Translated using Weblate (Catalan)

    Currently translated at 100.0% (15 of 15 strings)

    Translation: Habitica/Death
    Translate-URL: https://translate.habitica.com/projects/habitica/death/ca/

    Translated using Weblate (Catalan)

    Currently translated at 99.1% (123 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ca/

    Translated using Weblate (Portuguese)

    Currently translated at 83.0% (1754 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt/

    Translated using Weblate (Portuguese)

    Currently translated at 83.0% (1754 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt/

    Translated using Weblate (French)

    Currently translated at 100.0% (2113 of 2113 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

    Translated using Weblate (Russian)

    Currently translated at 98.8% (530 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

    Translated using Weblate (Japanese)

    Currently translated at 97.5% (523 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (French)

    Currently translated at 100.0% (536 of 536 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

    Translated using Weblate (Spanish)

    Currently translated at 94.6% (53 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/es/

    Translated using Weblate (Spanish)

    Currently translated at 99.1% (123 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/es/

    Translated using Weblate (Spanish)

    Currently translated at 97.1% (205 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/

commit 5957930709
Author: Frank Maximus <frank@healingjourneyman.com>
Date:   Wed Jun 10 15:01:07 2020 +0200

    Display descriptive error when mongod isn't running (#12196)

    Add test:prepare:mongo task to check is mongod is running.

    Fixes: #12101

commit 1df4e687f1
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Wed Jun 10 14:57:57 2020 +0200

    fix(mentions): do not fill empty mentions with following username, fixes #12272

commit 3063a38d60
Merge: 4b489fe4ca 51d20ef7e8
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Tue Jun 9 15:28:16 2020 -0500

    Merge branch 'release' into develop

commit 4b489fe4ca
Merge: afd50ddc2d 074004ec75
Author: Melior <admin@habitica.com>
Date:   Tue Jun 9 21:21:14 2020 +0200

    Merge branch 'origin/develop' into Weblate.

commit 074004ec75
Author: Melior <admin@habitica.com>
Date:   Tue Jun 9 21:21:04 2020 +0200

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (249 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (140 of 140 strings)

    Translation: Habitica/Quests
    Translate-URL: https://translate.habitica.com/projects/habitica/quests/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (173 of 173 strings)

    Translation: Habitica/Npc
    Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (493 of 493 strings)

    Translation: Habitica/Groups
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (2107 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (124 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/pt_BR/

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (140 of 140 strings)

    Translation: Habitica/Quests
    Translate-URL: https://translate.habitica.com/projects/habitica/quests/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (493 of 493 strings)

    Translation: Habitica/Groups
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

    Translated using Weblate (Dutch)

    Currently translated at 94.6% (1994 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Japanese)

    Currently translated at 98.2% (520 of 529 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (Catalan)

    Currently translated at 92.0% (487 of 529 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ca/

    Translated using Weblate (Russian)

    Currently translated at 93.9% (234 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

    Translated using Weblate (Russian)

    Currently translated at 97.4% (2053 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (522 of 522 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

    Translated using Weblate (French)

    Currently translated at 100.0% (140 of 140 strings)

    Translation: Habitica/Quests
    Translate-URL: https://translate.habitica.com/projects/habitica/quests/fr/

    Translated using Weblate (French)

    Currently translated at 100.0% (173 of 173 strings)

    Translation: Habitica/Npc
    Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

    Translated using Weblate (French)

    Currently translated at 100.0% (493 of 493 strings)

    Translation: Habitica/Groups
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

    Translated using Weblate (Russian)

    Currently translated at 99.2% (518 of 522 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

    Translated using Weblate (Vietnamese)

    Currently translated at 80.7% (427 of 529 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

    Translated using Weblate (German)

    Currently translated at 100.0% (140 of 140 strings)

    Translation: Habitica/Quests
    Translate-URL: https://translate.habitica.com/projects/habitica/quests/de/

    Translated using Weblate (German)

    Currently translated at 100.0% (173 of 173 strings)

    Translation: Habitica/Npc
    Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

    Translated using Weblate (German)

    Currently translated at 100.0% (493 of 493 strings)

    Translation: Habitica/Groups
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

commit afd50ddc2d
Merge: 61ca500013 e31ce11052
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Tue Jun 9 14:17:53 2020 -0500

    Merge branch 'release' into develop

commit 61ca500013
Merge: 9ab79ef225 630c848ff5
Author: Melior <admin@habitica.com>
Date:   Mon Jun 8 21:50:11 2020 +0200

    Merge branch 'origin/develop' into Weblate.

commit 630c848ff5
Author: Melior <admin@habitica.com>
Date:   Mon Jun 8 16:37:50 2020 +0200

    Translated using Weblate (Vietnamese)

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Tasks
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/vi/

    Translated using Weblate (Vietnamese)

    Currently translated at 100.0% (124 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/vi/

    Translated using Weblate (Russian)

    Currently translated at 93.5% (233 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

    Translated using Weblate (Russian)

    Currently translated at 97.2% (2049 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

    Translated using Weblate (Dutch)

    Currently translated at 94.6% (1994 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Japanese)

    Currently translated at 97.9% (518 of 529 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (696 of 696 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

    Translated using Weblate (Japanese)

    Currently translated at 97.5% (516 of 529 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (German)

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/

    Translated using Weblate (Japanese)

    Currently translated at 97.1% (514 of 529 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (Dutch)

    Currently translated at 94.5% (1992 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (German)

    Currently translated at 100.0% (249 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

    Translated using Weblate (German)

    Currently translated at 100.0% (2107 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

    Translated using Weblate (Japanese)

    Currently translated at 96.7% (512 of 529 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (German)

    Currently translated at 99.9% (2105 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

    Translated using Weblate (Japanese)

    Currently translated at 96.4% (510 of 529 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (Dutch)

    Currently translated at 94.4% (1990 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Dutch)

    Currently translated at 94.4% (1990 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (492 of 492 strings)

    Translation: Habitica/Groups
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Tasks
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (57 of 57 strings)

    Translation: Habitica/Spells
    Translate-URL: https://translate.habitica.com/projects/habitica/spells/ru/

    Translated using Weblate (Russian)

    Currently translated at 97.6% (168 of 172 strings)

    Translation: Habitica/Npc
    Translate-URL: https://translate.habitica.com/projects/habitica/npc/ru/

    Translated using Weblate (Russian)

    Currently translated at 98.3% (178 of 181 strings)

    Translation: Habitica/Limited
    Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (492 of 492 strings)

    Translation: Habitica/Groups
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

    Translated using Weblate (Russian)

    Currently translated at 96.6% (2037 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

    Translated using Weblate (Russian)

    Currently translated at 99.6% (297 of 298 strings)

    Translation: Habitica/Generic
    Translate-URL: https://translate.habitica.com/projects/habitica/generic/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (328 of 328 strings)

    Translation: Habitica/Front
    Translate-URL: https://translate.habitica.com/projects/habitica/front/ru/

    Translated using Weblate (Russian)

    Currently translated at 98.2% (55 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (15 of 15 strings)

    Translation: Habitica/Death
    Translate-URL: https://translate.habitica.com/projects/habitica/death/ru/

    Translated using Weblate (Russian)

    Currently translated at 99.1% (690 of 696 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

    Translated using Weblate (German)

    Currently translated at 100.0% (696 of 696 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (126 of 126 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (70 of 70 strings)

    Translation: Habitica/Contrib
    Translate-URL: https://translate.habitica.com/projects/habitica/contrib/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (230 of 230 strings)

    Translation: Habitica/Character
    Translate-URL: https://translate.habitica.com/projects/habitica/character/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (134 of 134 strings)

    Translation: Habitica/Challenge
    Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ru/

    Translated using Weblate (Russian)

    Currently translated at 99.0% (209 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

    Translated using Weblate (Chinese (Traditional))

    Currently translated at 100.0% (2107 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

    Translated using Weblate (Polish)

    Currently translated at 83.6% (1763 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/pl/

    Translated using Weblate (Dutch)

    Currently translated at 94.3% (1989 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (696 of 696 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

    Translated using Weblate (Vietnamese)

    Currently translated at 96.4% (54 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/vi/

    Translated using Weblate (Vietnamese)

    Currently translated at 90.3% (75 of 83 strings)

    Translation: Habitica/Achievements
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/vi/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Tasks
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ru/

    Translated using Weblate (Russian)

    Currently translated at 99.2% (691 of 696 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

    Translated using Weblate (Russian)

    Currently translated at 100.0% (134 of 134 strings)

    Translation: Habitica/Challenge
    Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ru/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (492 of 492 strings)

    Translation: Habitica/Groups
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

    Translated using Weblate (Dutch)

    Currently translated at 94.3% (1987 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Chinese (Traditional))

    Currently translated at 100.0% (249 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

    Translated using Weblate (Dutch)

    Currently translated at 100.0% (249 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/nl/

    Translated using Weblate (English (United Kingdom))

    Currently translated at 100.0% (249 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

    Translated using Weblate (Dutch)

    Currently translated at 100.0% (181 of 181 strings)

    Translation: Habitica/Limited
    Translate-URL: https://translate.habitica.com/projects/habitica/limited/nl/

    Translated using Weblate (Chinese (Traditional))

    Currently translated at 100.0% (2107 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

    Translated using Weblate (Dutch)

    Currently translated at 94.2% (1985 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Spanish)

    Currently translated at 91.4% (1927 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

    Translated using Weblate (English (United Kingdom))

    Currently translated at 100.0% (2107 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

    Translated using Weblate (Chinese (Traditional))

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hant/

    Translated using Weblate (Dutch)

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/nl/

    Translated using Weblate (English (United Kingdom))

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/en_GB/

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (696 of 696 strings)

    Translation: Habitica/Questscontent
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

    Translated using Weblate (Chinese (Traditional))

    Currently translated at 100.0% (124 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hant/

    Translated using Weblate (English (United Kingdom))

    Currently translated at 100.0% (124 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en_GB/

    Translated using Weblate (Chinese (Traditional))

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

    Translated using Weblate (English (United Kingdom))

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/en_GB/

    Translated using Weblate (Vietnamese)

    Currently translated at 85.5% (71 of 83 strings)

    Translation: Habitica/Achievements
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/vi/

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (83 of 83 strings)

    Translation: Habitica/Achievements
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (172 of 172 strings)

    Translation: Habitica/Npc
    Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (328 of 328 strings)

    Translation: Habitica/Front
    Translate-URL: https://translate.habitica.com/projects/habitica/front/ja/

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (249 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (2107 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 99.3% (2094 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

    Translated using Weblate (French)

    Currently translated at 100.0% (249 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

    Translated using Weblate (French)

    Currently translated at 100.0% (2107 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

    Translated using Weblate (French)

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/fr/

    Translated using Weblate (French)

    Currently translated at 100.0% (124 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/fr/

    Translated using Weblate (Spanish)

    Currently translated at 99.7% (357 of 358 strings)

    Translation: Habitica/Content
    Translate-URL: https://translate.habitica.com/projects/habitica/content/es/

    Translated using Weblate (French)

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (249 of 249 strings)

    Translation: Habitica/Subscriber
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (28 of 28 strings)

    Translation: Habitica/Rebirth
    Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/ja/

    Translated using Weblate (Dutch)

    Currently translated at 94.1% (1983 of 2107 strings)

    Translation: Habitica/Gear
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

    Translated using Weblate (Dutch)

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/nl/

    Translated using Weblate (Dutch)

    Currently translated at 100.0% (124 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/nl/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (124 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (78 of 78 strings)

    Translation: Habitica/Contrib
    Translate-URL: https://translate.habitica.com/projects/habitica/contrib/ja/

    Translated using Weblate (Dutch)

    Currently translated at 100.0% (83 of 83 strings)

    Translation: Habitica/Achievements
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/

    Translated using Weblate (Dutch)

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/nl/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (492 of 492 strings)

    Translation: Habitica/Groups
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/ja/

    Translated using Weblate (Japanese)

    Currently translated at 100.0% (124 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ja/

    Translated using Weblate (Japanese)

    Currently translated at 96.0% (508 of 529 strings)

    Translation: Habitica/Backgrounds
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

    Translated using Weblate (German)

    Currently translated at 100.0% (56 of 56 strings)

    Translation: Habitica/Faq
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/

    Translated using Weblate (German)

    Currently translated at 100.0% (124 of 124 strings)

    Translation: Habitica/Communityguidelines
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/de/

    Translated using Weblate (German)

    Currently translated at 100.0% (211 of 211 strings)

    Translation: Habitica/Settings
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/
2020-06-18 13:29:30 -05:00
Sabe Jones 048b60f79d chore(news): Bailey
and some seasonal string tweaks
2020-06-18 13:25:56 -05:00
Sabe Jones 5cd9528b77 Squashed commit of the following:
commit 24e299b4663d77daf70c5cca584d27db2df94fe6
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Jun 18 12:29:07 2020 -0500

    fix(gear): Mage Oar is twohanded and grants PER

commit 4f92312b7f409419c37f9f97bc162153ad3103b5
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Jun 18 12:27:27 2020 -0500

    fix(sprites): corrected Mage set

commit 49d86ca8879b66e3531be81d35e6e98916185486
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Wed Jun 17 16:16:56 2020 -0500

    refactor(strings): finish cleaning up redundant seasonal Rogue strings

commit ee513cc1449c52ad72850745ea18a353be5490d2
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Wed Jun 17 16:09:12 2020 -0500

    chore(sprites): compile

commit 0b15f834a000a033925571ff5a15871b0965bc00
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Wed Jun 17 16:08:59 2020 -0500

    feat(content): Splash 2020
2020-06-18 13:16:07 -05:00
Melior 4580e92f5b Translated using Weblate (Vietnamese)
Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/vi/

Translated using Weblate (Vietnamese)

Currently translated at 91.6% (329 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/vi/

Translated using Weblate (Dutch)

Currently translated at 95.7% (2024 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 96.7% (679 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Russian)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ru/

Translated using Weblate (French)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/fr/

Translated using Weblate (French)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/fr/

Translated using Weblate (German)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/de/

Translated using Weblate (Russian)

Currently translated at 95.1% (237 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Russian)

Currently translated at 99.7% (492 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Russian)

Currently translated at 98.8% (694 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (French)

Currently translated at 100.0% (702 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (French)

Currently translated at 100.0% (359 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/

Translated using Weblate (Russian)

Currently translated at 97.5% (81 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Russian)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (French)

Currently translated at 99.4% (698 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (French)

Currently translated at 99.4% (698 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (Vietnamese)

Currently translated at 98.6% (227 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/vi/

Translated using Weblate (Japanese)

Currently translated at 87.2% (1844 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Japanese)

Currently translated at 96.5% (678 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Dutch)

Currently translated at 95.3% (2014 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2113 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2113 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2113 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (702 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (359 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (359 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (359 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (536 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (536 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (536 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/

Translated using Weblate (Russian)

Currently translated at 97.5% (2061 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Russian)

Currently translated at 98.4% (691 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (German)

Currently translated at 100.0% (359 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/
2020-06-18 18:07:59 +02:00
Matteo Pagliazzi 39427a75db To-Dos -> To Do's (#12290)
* To-Dos -> To Do's

* To-Do -> To Do
2020-06-17 17:33:30 +02:00
jacobguinther d7854f3809 Remove party banner when below tablet size (fixes 10827) (#12289)
* Remove party banner when below tablet size
- Use Bootstrap breakpoints to remove party banner @ 768px
- Remove old media query that removed party button on small screens

* Make progress bars smaller @ 992px
- Makes room for party piece
2020-06-16 21:31:32 +02:00
Sabe Jones 0d8df9f1a2 More Armoire content refactoring (#12288)
* refactor(armoire): still more defaultification

* fix(refactor): look at array for index, not object

* refactor(armoire): skip stat processing if item already has notes
2020-06-16 13:42:28 -05:00
Melior 679c8f725b Merge branch 'origin/develop' into Weblate. 2020-06-16 20:39:36 +02:00
Melior ed0cffce76 Translated using Weblate (Dutch)
Currently translated at 94.6% (2000 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 96.4% (677 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Dutch)

Currently translated at 94.6% (2000 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 97.5% (81 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (536 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2113 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (702 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (359 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (536 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Vietnamese)

Currently translated at 97.0% (520 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (Vietnamese)

Currently translated at 94.0% (504 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (Japanese)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ja/

Translated using Weblate (Russian)

Currently translated at 98.2% (690 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (Japanese)

Currently translated at 95.4% (670 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (359 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (536 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Japanese)

Currently translated at 95.1% (79 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Vietnamese)

Currently translated at 92.3% (495 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (Romanian)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ro/

Translated using Weblate (Romanian)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/ro/

Translated using Weblate (Romanian)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ro/

Translated using Weblate (Romanian)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ro/

Translated using Weblate (Romanian)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ro/

Translated using Weblate (Russian)

Currently translated at 100.0% (143 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (359 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Japanese)

Currently translated at 99.6% (534 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Russian)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (Vietnamese)

Currently translated at 90.8% (487 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (Japanese)

Currently translated at 98.8% (530 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (536 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Vietnamese)

Currently translated at 83.2% (446 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (213 of 213 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/vi/

Translated using Weblate (Dutch)

Currently translated at 94.4% (1996 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 95.4% (670 of 702 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (359 of 359 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

Translated using Weblate (Japanese)

Currently translated at 98.3% (527 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/
2020-06-16 20:39:25 +02:00
Sabe Jones 274a5f310e Merge branch 'release' into develop 2020-06-16 13:36:42 -05:00
Sabe Jones bceccd55bf 4.145.1 2020-06-16 13:35:51 -05:00
Sabe Jones 0116c56abb chore(news): Bailey 2020-06-16 13:35:32 -05:00
Frank Maximus d961b8aaaf #9498: Hide Wolf-Veteran and LionCub-Ethereal (#12292) 2020-06-16 19:06:14 +02:00
dependabot-preview[bot] 430ff64875 build(deps): bump @vue/cli-plugin-eslint in /website/client (#12301)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.4.1 to 4.4.4.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-16 15:12:39 +02:00
Matteo Pagliazzi ac99c6c3c5 build(deps): bump @vue/cli-service in /website/client (#12305)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.4.1 to 4.4.4.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-16 15:04:30 +02:00
dependabot-preview[bot] 1be03d741a build(deps): bump @vue/cli-plugin-router in /website/client (#12304)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.4.1 to 4.4.4.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-16 15:04:13 +02:00
dependabot-preview[bot] a43f410031 build(deps): bump @vue/cli-service in /website/client
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.4.1 to 4.4.4.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-16 13:00:43 +00:00
dependabot-preview[bot] b84395b17d build(deps): bump vue-router from 3.3.2 to 3.3.4 in /website/client (#12306)
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.3.2 to 3.3.4.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.3.2...v3.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-16 14:58:02 +02:00
dependabot-preview[bot] d5d4afe613 build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#12303)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.4.1 to 4.4.4.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-16 14:57:43 +02:00
dependabot-preview[bot] def62d5716 build(deps): bump habitica-markdown in /website/client (#12302)
Bumps [habitica-markdown](https://github.com/HabitRPG/habitica-markdown) from 2.0.0 to 2.0.2.
- [Release notes](https://github.com/HabitRPG/habitica-markdown/releases)
- [Commits](https://github.com/HabitRPG/habitica-markdown/commits/v2.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-16 14:57:37 +02:00
dependabot-preview[bot] 5846898592 build(deps): bump @vue/cli-plugin-babel in /website/client (#12299)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.4.1 to 4.4.4.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.4.4/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-16 14:57:25 +02:00
dependabot-preview[bot] 524aac4d95 build(deps): bump helmet from 3.22.0 to 3.23.0 (#12297)
Bumps [helmet](https://github.com/helmetjs/helmet) from 3.22.0 to 3.23.0.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v3.22.0...v3.23.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-16 14:57:11 +02:00
Melior 92dc332ab9 Merge branch 'origin/develop' into Weblate. 2020-06-12 00:02:52 +02:00
Sabe Jones 7902db2edc Merge branch 'release' into develop 2020-06-11 16:38:48 -05:00
Sabe Jones e6b65871e7 4.145.0 2020-06-11 16:38:15 -05:00
Sabe Jones 873ac53e27 Squashed commit of the following:
commit f461c07ca7997362512a366eebc7d3a8fba854ee
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Jun 11 16:37:14 2020 -0500

    fix(sprites): wolf alignment

commit 6ceb4ba6d1ea62892e9b335307043d78971328d0
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Jun 11 14:53:07 2020 -0500

    chore(sprites): compile

commit 8b517309f531c7f151c5c18a5ca9847ab7aa5dbb
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Jun 11 14:52:49 2020 -0500

    feat(content): Fluorite Magic Hatching Potion and quest
2020-06-11 16:38:05 -05:00
negue f3ea5f0b62 Tasks Redesign: Colors, Title, Notes, Habit Controls, Button Style (#12274)
* extract color changes + habit-controls out of #12142

* extract title / notes changes from #12142

* extracted delete btn + style fixes of #12142

* fix taskModal footer + advancedSettings

* extracted the button style changes from #12142

* remove un-used method
2020-06-11 21:14:33 +02:00
Melior bcd3e2851c Translated using Weblate (Vietnamese)
Currently translated at 100.0% (83 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/vi/

Translated using Weblate (Latin)

Currently translated at 85.5% (71 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Russian)

Currently translated at 97.3% (2056 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (German)

Currently translated at 99.8% (2110 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Russian)

Currently translated at 99.4% (533 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Japanese)

Currently translated at 97.9% (525 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (German)

Currently translated at 99.6% (534 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (Catalan)

Currently translated at 100.0% (4 of 4 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ca/

Translated using Weblate (Vietnamese)

Currently translated at 80.9% (434 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (Catalan)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/ca/

Translated using Weblate (Catalan)

Currently translated at 82.3% (1740 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/ca/

Translated using Weblate (Catalan)

Currently translated at 99.1% (123 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ca/

Translated using Weblate (Portuguese)

Currently translated at 83.0% (1754 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt/

Translated using Weblate (Portuguese)

Currently translated at 83.0% (1754 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt/

Translated using Weblate (French)

Currently translated at 100.0% (2113 of 2113 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Russian)

Currently translated at 98.8% (530 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Japanese)

Currently translated at 97.5% (523 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (French)

Currently translated at 100.0% (536 of 536 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (Spanish)

Currently translated at 94.6% (53 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/es/

Translated using Weblate (Spanish)

Currently translated at 99.1% (123 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/es/

Translated using Weblate (Spanish)

Currently translated at 97.1% (205 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/
2020-06-11 20:46:57 +02:00
Frank Maximus 5957930709 Display descriptive error when mongod isn't running (#12196)
Add test:prepare:mongo task to check is mongod is running.

Fixes: #12101
2020-06-10 15:01:07 +02:00
Matteo Pagliazzi 1df4e687f1 fix(mentions): do not fill empty mentions with following username, fixes #12272 2020-06-10 14:57:57 +02:00
Sabe Jones 3063a38d60 Merge branch 'release' into develop 2020-06-09 15:28:16 -05:00
Sabe Jones 51d20ef7e8 4.144.1 2020-06-09 15:27:43 -05:00
Matteo Pagliazzi 692d02984b unlock: fix unlocking hair items 2020-06-09 22:13:22 +02:00
Melior 4b489fe4ca Merge branch 'origin/develop' into Weblate. 2020-06-09 21:21:14 +02:00
Melior 074004ec75 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2107 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Dutch)

Currently translated at 94.6% (1994 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 98.2% (520 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Catalan)

Currently translated at 92.0% (487 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ca/

Translated using Weblate (Russian)

Currently translated at 93.9% (234 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Russian)

Currently translated at 97.4% (2053 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (522 of 522 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (French)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/fr/

Translated using Weblate (French)

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (French)

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

Translated using Weblate (Russian)

Currently translated at 99.2% (518 of 522 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Vietnamese)

Currently translated at 80.7% (427 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (German)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/de/

Translated using Weblate (German)

Currently translated at 100.0% (173 of 173 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (German)

Currently translated at 100.0% (493 of 493 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/
2020-06-09 21:21:04 +02:00
Sabe Jones afd50ddc2d Merge branch 'release' into develop 2020-06-09 14:17:53 -05:00
Melior 61ca500013 Merge branch 'origin/develop' into Weblate. 2020-06-08 21:50:11 +02:00
Melior 630c848ff5 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/vi/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/vi/

Translated using Weblate (Russian)

Currently translated at 93.5% (233 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Russian)

Currently translated at 97.2% (2049 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Dutch)

Currently translated at 94.6% (1994 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 97.9% (518 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (696 of 696 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 97.5% (516 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (German)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/

Translated using Weblate (Japanese)

Currently translated at 97.1% (514 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Dutch)

Currently translated at 94.5% (1992 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (German)

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (German)

Currently translated at 100.0% (2107 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Japanese)

Currently translated at 96.7% (512 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (German)

Currently translated at 99.9% (2105 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Japanese)

Currently translated at 96.4% (510 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Dutch)

Currently translated at 94.4% (1990 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Dutch)

Currently translated at 94.4% (1990 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Russian)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/ru/

Translated using Weblate (Russian)

Currently translated at 97.6% (168 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ru/

Translated using Weblate (Russian)

Currently translated at 98.3% (178 of 181 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (492 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Russian)

Currently translated at 96.6% (2037 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Russian)

Currently translated at 99.6% (297 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ru/

Translated using Weblate (Russian)

Currently translated at 98.2% (55 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/ru/

Translated using Weblate (Russian)

Currently translated at 99.1% (690 of 696 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (German)

Currently translated at 100.0% (696 of 696 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ru/

Translated using Weblate (Russian)

Currently translated at 99.0% (209 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2107 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Polish)

Currently translated at 83.6% (1763 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pl/

Translated using Weblate (Dutch)

Currently translated at 94.3% (1989 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (696 of 696 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Vietnamese)

Currently translated at 96.4% (54 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/vi/

Translated using Weblate (Vietnamese)

Currently translated at 90.3% (75 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/vi/

Translated using Weblate (Russian)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ru/

Translated using Weblate (Russian)

Currently translated at 99.2% (691 of 696 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ru/

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Dutch)

Currently translated at 94.3% (1987 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Dutch)

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/nl/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

Translated using Weblate (Dutch)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/nl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2107 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Dutch)

Currently translated at 94.2% (1985 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Spanish)

Currently translated at 91.4% (1927 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2107 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hant/

Translated using Weblate (Dutch)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/nl/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en_GB/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (696 of 696 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hant/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en_GB/

Translated using Weblate (Vietnamese)

Currently translated at 85.5% (71 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/vi/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (83 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2107 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.3% (2094 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (French)

Currently translated at 100.0% (2107 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (French)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/fr/

Translated using Weblate (French)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/fr/

Translated using Weblate (Spanish)

Currently translated at 99.7% (357 of 358 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es/

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/

Translated using Weblate (Japanese)

Currently translated at 100.0% (249 of 249 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/ja/

Translated using Weblate (Dutch)

Currently translated at 94.1% (1983 of 2107 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/nl/

Translated using Weblate (Japanese)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (78 of 78 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/ja/

Translated using Weblate (Dutch)

Currently translated at 100.0% (83 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/nl/

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ja/

Translated using Weblate (Japanese)

Currently translated at 96.0% (508 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (German)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/

Translated using Weblate (German)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/de/

Translated using Weblate (German)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/
2020-06-08 16:37:50 +02:00
564 changed files with 23346 additions and 22137 deletions
+3 -3
View File
@@ -118,7 +118,7 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: sudo docker run --name mongo -d -p 27017:27017 mongo
- run: sudo docker run --name mongo -d -p 27017:27017 mongo:4.2
- run: cp config.json.example config.json
- name: npm install
run: |
@@ -141,7 +141,7 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: sudo docker run --name mongo -d -p 27017:27017 mongo
- run: sudo docker run --name mongo -d -p 27017:27017 mongo:4.2
- run: cp config.json.example config.json
- name: npm install
run: |
@@ -164,7 +164,7 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: sudo docker run --name mongo -d -p 27017:27017 mongo
- run: sudo docker run --name mongo -d -p 27017:27017 mongo:4.2
- run: cp config.json.example config.json
- name: npm install
run: |
+4
View File
@@ -2,6 +2,10 @@
"name": "Habitica V3 API Documentation",
"title": "Habitica",
"url": "https://habitica.com",
"header": {
"title": "Introduction",
"filename": "apidoc/header.md"
},
"template": {
"withCompare": false
}
+5
View File
@@ -0,0 +1,5 @@
# Introduction
This webpage includes the documentation for version 3 of the [Habitica](https://habitica.com) API.
If you're developing a 3rd party tool that uses the Habitica API you should read the [Guidance for Comrades](https://habitica.fandom.com/wiki/Guidance_for_Comrades) and in particular the section called [Rules for Third-Party Tools](https://habitica.fandom.com/wiki/Guidance_for_Comrades#Rules_for_Third-Party_Tools) which includes suggestions on how to best use the API and the rules to follow when interacting with it.
+12 -4
View File
@@ -160,7 +160,7 @@ gulp.task('test:content:safe', gulp.series('test:prepare:build', cb => {
pipe(runner);
}));
gulp.task('test:api:unit', done => {
gulp.task('test:api:unit:run', done => {
const runner = exec(
testBin('istanbul cover --dir coverage/api-unit node_modules/mocha/bin/_mocha -- test/api/unit --recursive --require ./test/helpers/start-server'),
err => {
@@ -174,7 +174,7 @@ gulp.task('test:api:unit', done => {
pipe(runner);
});
gulp.task('test:api:unit:watch', () => gulp.watch(['website/server/libs/*', 'test/api/unit/**/*', 'website/server/controllers/**/*'], gulp.series('test:api:unit', done => done())));
gulp.task('test:api:unit:watch', () => gulp.watch(['website/server/libs/*', 'test/api/unit/**/*', 'website/server/controllers/**/*'], gulp.series('test:api:unit:run', done => done())));
gulp.task('test:api-v3:integration', done => {
const runner = exec(
@@ -235,14 +235,22 @@ gulp.task('test', gulp.series(
'test:sanity',
'test:content',
'test:common',
'test:api:unit',
'test:prepare:mongo',
'test:api:unit:run',
'test:api-v3:integration',
'test:api-v4:integration',
done => done(),
));
gulp.task('test:api-v3', gulp.series(
'test:api:unit',
'test:prepare:mongo',
'test:api:unit:run',
'test:api-v3:integration',
done => done(),
));
gulp.task('test:api:unit', gulp.series(
'test:prepare:mongo',
'test:api:unit:run',
done => done(),
));
-1
View File
@@ -12,7 +12,6 @@ const SLACK_CONFIG = {
const LOCALES = './website/common/locales/';
const ENGLISH_LOCALE = `${LOCALES}en/`;
function getArrayOfLanguages () {
const languages = fs.readdirSync(LOCALES);
languages.shift(); // Remove README.md from array of languages
@@ -32,13 +32,11 @@
*
*/
// CONFIGURATION:
// - Change the uuid below to be the user's uuid.
// - Change ALL instances of "todos" to "habits"/"dailys"/"rewards" as
// needed. Do not miss any of them!
const uuid = '30fb2640-7121-4968-ace5-f385e60ea6c5';
db.users.aggregate([
-2
View File
@@ -2,7 +2,6 @@
// @authorName = 'TheHollidayInn'; // in case script author needs to know when their ...
// @authorUuid = ''; // ... own data is done
/*
* This migration moves chat off of groups and into their own model
*/
@@ -38,7 +37,6 @@ async function moveGroupChatToModel (skip = 0) {
return chatpromises;
});
const reducedPromises = promises.reduce((acc, curr) => {
acc = acc.concat(curr); // eslint-disable-line no-param-reassign
return acc;
@@ -45,7 +45,7 @@ async function fixGroupPlanMembers () {
pause();
groupPlanCount += 1;
const canonicalMemberCount = await dbUsers.count(
const canonicalMemberCount = await dbUsers.countDocuments(
{
$or:
[
@@ -25,7 +25,6 @@ const monk = require('monk'); // eslint-disable-line import/no-extraneous-depend
const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
const query = {
@@ -86,7 +85,6 @@ function updateUser (user) {
const set = { migration: migrationName, 'flags.armoireEmpty': false };
if (user.flags.armoireEmpty) {
// this user believes their armoire has no more items in it
if (
-1
View File
@@ -121,5 +121,4 @@ function exiting (code, msg) {
process.exit(code);
}
processUsers();
@@ -9,7 +9,6 @@ const authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; // ... own data is do
*/
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
+3081 -3519
View File
File diff suppressed because it is too large Load Diff
+21 -20
View File
@@ -1,21 +1,21 @@
{
"name": "habitica",
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
"version": "4.144.1",
"version": "4.147.3",
"main": "./website/server/index.js",
"dependencies": {
"@babel/core": "^7.10.2",
"@babel/preset-env": "^7.10.2",
"@babel/register": "^7.10.1",
"@google-cloud/trace-agent": "^5.0.0",
"@babel/core": "^7.10.3",
"@babel/preset-env": "^7.10.3",
"@babel/register": "^7.10.3",
"@google-cloud/trace-agent": "^5.1.0",
"@slack/client": "^4.12.0",
"accepts": "^1.3.5",
"amazon-payments": "^0.2.8",
"amplitude": "^3.5.0",
"apidoc": "^0.17.5",
"apidoc": "^0.23.0",
"apn": "^2.2.0",
"apple-auth": "^1.0.6",
"bcrypt": "^3.0.8",
"bcrypt": "^5.0.0",
"body-parser": "^1.18.3",
"compression": "^1.7.4",
"cookie-session": "^1.4.0",
@@ -30,31 +30,32 @@
"express-basic-auth": "^1.1.5",
"express-validator": "^5.2.0",
"glob": "^7.1.6",
"got": "^10.7.0",
"got": "^11.3.0",
"gulp": "^4.0.0",
"gulp-babel": "^8.0.0",
"gulp-imagemin": "^6.2.0",
"gulp-imagemin": "^7.1.0",
"gulp-nodemon": "^2.5.0",
"gulp.spritesmith": "^6.9.0",
"habitica-markdown": "^2.0.0",
"helmet": "^3.22.0",
"habitica-markdown": "^2.0.2",
"helmet": "^3.23.3",
"image-size": "^0.8.3",
"in-app-purchase": "^1.11.3",
"js2xmlparser": "^4.0.1",
"jsonwebtoken": "^8.5.1",
"jwks-rsa": "^1.8.0",
"jwks-rsa": "^1.8.1",
"lodash": "^4.17.15",
"merge-stream": "^2.0.0",
"method-override": "^3.0.0",
"moment": "^2.26.0",
"moment": "^2.27.0",
"moment-recur": "^1.0.7",
"mongoose": "^5.9.18",
"mongoose": "^5.9.20",
"morgan": "^1.10.0",
"nconf": "^0.10.0",
"node-gcm": "^1.0.2",
"on-headers": "^1.0.2",
"passport": "^0.4.1",
"passport-facebook": "^3.0.0",
"passport-google-oauth2": "^0.2.0",
"passport-google-oauth20": "1.0.0",
"paypal-ipn": "3.0.0",
"paypal-rest-sdk": "^1.8.1",
@@ -64,13 +65,13 @@
"rimraf": "^3.0.2",
"short-uuid": "^3.0.0",
"stripe": "^7.15.0",
"superagent": "^5.2.2",
"superagent": "^5.3.1",
"universal-analytics": "^0.4.17",
"useragent": "^2.1.9",
"uuid": "^3.4.0",
"validator": "^11.0.0",
"uuid": "^8.2.0",
"validator": "^13.1.1",
"vinyl-buffer": "^1.0.1",
"winston": "^3.2.1",
"winston": "^3.3.3",
"winston-loggly-bulk": "^3.1.0",
"xml2js": "^0.4.23"
},
@@ -108,13 +109,13 @@
"axios": "^0.19.2",
"chai": "^4.1.2",
"chai-as-promised": "^7.1.1",
"chalk": "^3.0.0",
"chalk": "^4.1.0",
"expect.js": "^0.3.1",
"istanbul": "^1.1.0-alpha.1",
"mocha": "^5.1.1",
"monk": "^7.3.0",
"require-again": "^2.0.0",
"sinon": "^7.2.4",
"sinon": "^9.0.2",
"sinon-chai": "^3.5.0",
"sinon-stub-promise": "^4.0.0"
},
+7 -7
View File
@@ -35,15 +35,14 @@ async function deleteAmplitudeData (userId, email) {
async function deleteHabiticaData (user, email) {
const truncatedEmail = email.slice(0, email.indexOf('@'));
const set = {
'auth.local.hashed_password': '$2a$10$QDnNh1j1yMPnTXDEOV38xOePEWFd4X8DSYwAM8XTmqmacG5X0DKjW',
'auth.local.passwordHashMethod': 'bcrypt',
};
if (!user.auth.local.email) set['auth.local.email'] = `${truncatedEmail}@example.com`;
await User.update(
{ _id: user._id },
{
$set: {
'auth.local.email': user.auth.local.email ? email : `${truncatedEmail}@example.com`,
'auth.local.hashed_password': '$2a$10$QDnNh1j1yMPnTXDEOV38xOePEWFd4X8DSYwAM8XTmqmacG5X0DKjW',
'auth.local.passwordHashMethod': 'bcrypt',
},
},
{ $set: set },
);
const response = await axios.delete(
`${BASE_URL}/api/v3/user`,
@@ -78,6 +77,7 @@ async function processEmailAddress (email) {
const socialUsers = await User.find(
{
'auth.local.email': { $not: emailRegex },
$or: [
{ 'auth.facebook.emails.value': email },
{ 'auth.google.emails.value': email },
-1
View File
@@ -56,7 +56,6 @@ describe('Base model plugin', () => {
expect(sanitized).not.to.have.property('usuallySettable');
});
it('can make fields private', () => {
schema.plugin(baseModel, {
private: ['amPrivate'],
@@ -1,5 +1,3 @@
import uuid from 'uuid';
import {
generateGroup,
} from '../../../../../helpers/api-unit.helper';
@@ -7,6 +5,7 @@ import { model as User } from '../../../../../../website/server/models/user';
import { model as Group } from '../../../../../../website/server/models/group';
import amzLib from '../../../../../../website/server/libs/payments/amazon';
import payments from '../../../../../../website/server/libs/payments/payments';
import common from '../../../../../../website/common';
describe('#upgradeGroupPlan', () => {
let spy; let data; let user; let group; let
@@ -41,7 +40,7 @@ describe('#upgradeGroupPlan', () => {
spy.resolves([]);
uuidString = 'uuid-v4';
sinon.stub(uuid, 'v4').returns(uuidString);
sinon.stub(common, 'uuid').returns(uuidString);
data.groupId = group._id;
data.sub.quantity = 3;
@@ -49,7 +48,7 @@ describe('#upgradeGroupPlan', () => {
afterEach(() => {
amzLib.authorizeOnBillingAgreement.restore();
uuid.v4.restore();
common.uuid.restore();
});
it('charges for a new member', async () => {
-1
View File
@@ -1,4 +1,3 @@
import path from 'path';
import nconf from 'nconf';
import setupNconf from '../../../../website/server/libs/setupNconf';
-1
View File
@@ -16,7 +16,6 @@ describe('response middleware', () => {
next = generateNext();
});
it('attaches respond method to res', () => {
responseMiddleware(req, res, next);
-1
View File
@@ -769,7 +769,6 @@ describe('Group Model', () => {
expect(res.t).to.not.be.called;
});
it('does not throw an error if only user ids are passed in', async () => {
await Group.validateInvitations({ uuids: ['user-id', 'user-id2'] }, res);
expect(res.t).to.not.be.called;
-2
View File
@@ -432,7 +432,6 @@ describe('User Model', () => {
user = new User();
});
it('returns false if user does not have customer id', () => {
expect(user.isSubscribed()).to.be.undefined;
});
@@ -558,7 +557,6 @@ describe('User Model', () => {
});
});
context('hasCancelled', () => {
let user;
beforeEach(() => {
-1
View File
@@ -299,7 +299,6 @@ describe('Webhook Model', () => {
});
});
context('type is globalActivity', () => {
let config;
@@ -2,6 +2,8 @@ import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
createAndPopulateGroup,
generateChallenge,
} from '../../../../helpers/api-integration/v3';
describe('GET /tasks/:id', () => {
@@ -11,55 +13,158 @@ describe('GET /tasks/:id', () => {
user = await generateUser();
});
context('task can be accessed', async () => {
let task;
context('general', () => {
context('task cannot be accessed', () => {
it('cannot get a non-existent task', async () => {
const dummyId = generateUUID();
beforeEach(async () => {
task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
alias: 'alias',
await expect(user.get(`/tasks/${dummyId}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
message: t('taskNotFound'),
});
});
});
it('gets specified task', async () => {
const getTask = await user.get(`/tasks/${task._id}`);
expect(getTask).to.eql(task);
});
it('can use alias to retrieve task', async () => {
const getTask = await user.get(`/tasks/${task.alias}`);
expect(getTask).to.eql(task);
});
// TODO after challenges are implemented
it('can get active challenge task that user does not own'); // Yes?
});
context('task cannot be accessed', () => {
it('cannot get a non-existent task', async () => {
const dummyId = generateUUID();
context('user', () => {
context('task can be accessed', async () => {
let task;
await expect(user.get(`/tasks/${dummyId}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
message: t('taskNotFound'),
beforeEach(async () => {
task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
alias: 'alias',
});
});
it('gets specified task', async () => {
const getTask = await user.get(`/tasks/${task._id}`);
expect(getTask).to.eql(task);
});
it('can use alias to retrieve task', async () => {
const getTask = await user.get(`/tasks/${task.alias}`);
expect(getTask).to.eql(task);
});
});
it('cannot get a task owned by someone else', async () => {
const anotherUser = await generateUser();
const task = await user.post('/tasks/user', {
context('task cannot be accessed', () => {
it('cannot get a task owned by someone else', async () => {
const anotherUser = await generateUser();
const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
await expect(anotherUser.get(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
message: t('taskNotFound'),
});
});
});
});
context('challenge', () => {
let challenge; let task; let leader; let member;
before(async () => {
const populatedGroup = await createAndPopulateGroup({
members: 1,
});
const guild = populatedGroup.group;
leader = populatedGroup.groupLeader;
member = populatedGroup.members[0]; // eslint-disable-line prefer-destructuring
challenge = await generateChallenge(leader, guild);
await leader.post(`/challenges/${challenge._id}/join`);
task = await leader.post(`/tasks/challenge/${challenge._id}`, {
text: 'test habit',
type: 'habit',
});
});
await expect(anotherUser.get(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
message: t('taskNotFound'),
context('task can be accessed', async () => {
it('can get challenge task if member of that challenge', async () => {
await member.post(`/challenges/${challenge._id}/join`);
const getTask = await member.get(`/tasks/${task._id}`);
expect(getTask).to.eql(task);
});
it('can get challenge task if leader of that challenge', async () => {
const getTask = await leader.get(`/tasks/${task._id}`);
expect(getTask).to.eql(task);
});
it('can get challenge task if admin', async () => {
const admin = await generateUser({
'contributor.admin': true,
});
const getTask = await admin.get(`/tasks/${task._id}`);
expect(getTask).to.eql(task);
});
});
context('task cannot be accessed', () => {
it('cannot get a task in a challenge i am not part of', async () => {
await expect(user.get(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
message: t('taskNotFound'),
});
});
});
});
context('group', () => {
let group; let task; let members; let leader;
before(async () => {
const groupData = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
},
members: 1,
});
group = groupData.group;
members = groupData.members;
leader = groupData.groupLeader;
task = await leader.post(`/tasks/group/${group._id}`, {
text: 'test habit',
type: 'habit',
});
});
context('task can be accessed', async () => {
it('can get group task if leader of that group', async () => {
const getTask = await leader.get(`/tasks/${task._id}`);
expect(getTask).to.eql(task);
});
it('can get group task if member of that group', async () => {
const getTask = await members[0].get(`/tasks/${task._id}`);
expect(getTask).to.eql(task);
});
});
context('task cannot be accessed', () => {
it('cannot get a task in a group i am not part of', async () => {
await expect(user.get(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
message: t('taskNotFound'),
});
});
});
});
@@ -179,7 +179,6 @@ describe('GET /tasks/user', () => {
expect(dailys2[0].isDue).to.be.false;
});
xit('returns dailies with isDue for the date specified and will add CDS offset if time is not supplied and assumes timezones', async () => {
const timezone = 240;
await user.update({
@@ -687,7 +687,6 @@ describe('POST /tasks/user', () => {
});
});
it('can create checklists', async () => {
const task = await user.post('/tasks/user', {
text: 'test daily',
@@ -4,8 +4,12 @@ import {
} from '../../../../../helpers/api-integration/v3';
describe('PUT /tasks/:id', () => {
let user; let guild; let member; let member2; let
task;
let user;
let guild;
let member;
let member2;
let habit;
let todo;
function findAssignedTask (memberTask) {
return memberTask.group.id === guild._id;
@@ -25,7 +29,7 @@ describe('PUT /tasks/:id', () => {
member = members[0]; // eslint-disable-line prefer-destructuring
member2 = members[1]; // eslint-disable-line prefer-destructuring
task = await user.post(`/tasks/group/${guild._id}`, {
habit = await user.post(`/tasks/group/${guild._id}`, {
text: 'test habit',
type: 'habit',
up: false,
@@ -33,12 +37,18 @@ describe('PUT /tasks/:id', () => {
notes: 1976,
});
await user.post(`/tasks/${task._id}/assign/${member._id}`);
await user.post(`/tasks/${task._id}/assign/${member2._id}`);
todo = await user.post(`/tasks/group/${guild._id}`, {
text: 'test todo',
type: 'todo',
notes: 1976,
});
await user.post(`/tasks/${habit._id}/assign/${member._id}`);
await user.post(`/tasks/${habit._id}/assign/${member2._id}`);
});
it('updates a group task', async () => {
const savedHabit = await user.put(`/tasks/${task._id}`, {
const savedHabit = await user.put(`/tasks/${habit._id}`, {
notes: 'some new notes',
});
@@ -51,14 +61,14 @@ describe('PUT /tasks/:id', () => {
managerId: member._id,
});
// change the todo
task = await member.put(`/tasks/${task._id}`, {
// change the habit
habit = await member.put(`/tasks/${habit._id}`, {
text: 'new text!',
requiresApproval: true,
});
const memberTasks = await member2.get('/tasks/user');
const syncedTask = find(memberTasks, memberTask => memberTask.group.taskId === task._id);
const syncedTask = find(memberTasks, memberTask => memberTask.group.taskId === habit._id);
// score up to trigger approval
await expect(member2.post(`/tasks/${syncedTask._id}/score/up`))
@@ -69,9 +79,39 @@ describe('PUT /tasks/:id', () => {
});
});
it('member updates a group task value - not allowed', async () => {
// change the todo
await expect(member.put(`/tasks/${habit._id}`, {
text: 'new text!',
})).to.eventually.be.rejected.and.to.eql({
code: 401,
error: 'NotAuthorized',
message: t('onlyGroupLeaderCanEditTasks'),
});
});
it('member updates the collapseChecklist property - change is allowed', async () => {
// change the todo
await member.put(`/tasks/${todo._id}`, {
collapseChecklist: true,
});
});
it('member updates the collapseChecklist and another property - change not allowed', async () => {
// change the todo
await expect(member.put(`/tasks/${todo._id}`, {
collapseChecklist: true,
title: 'test',
})).to.eventually.be.rejected.and.to.eql({
code: 401,
error: 'NotAuthorized',
message: t('onlyGroupLeaderCanEditTasks'),
});
});
it('updates a group task with checklist', async () => {
// add a new todo
task = await user.post(`/tasks/group/${guild._id}`, {
habit = await user.post(`/tasks/group/${guild._id}`, {
text: 'todo',
type: 'todo',
checklist: [
@@ -81,13 +121,13 @@ describe('PUT /tasks/:id', () => {
],
});
await user.post(`/tasks/${task._id}/assign/${member._id}`);
await user.post(`/tasks/${habit._id}/assign/${member._id}`);
// change the checklist text
task = await user.put(`/tasks/${task._id}`, {
habit = await user.put(`/tasks/${habit._id}`, {
checklist: [
{
id: task.checklist[0].id,
id: habit.checklist[0].id,
text: 'checklist 1 - edit',
},
{
@@ -96,18 +136,17 @@ describe('PUT /tasks/:id', () => {
],
});
expect(task.checklist.length).to.eql(2);
expect(habit.checklist.length).to.eql(2);
});
it('updates the linked tasks', async () => {
await user.put(`/tasks/${task._id}`, {
await user.put(`/tasks/${habit._id}`, {
text: 'some new text',
up: false,
down: false,
notes: 'some new notes',
});
const memberTasks = await member.get('/tasks/user');
const syncedTask = find(memberTasks, findAssignedTask);
@@ -117,7 +156,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates the linked tasks for all assigned users', async () => {
await user.put(`/tasks/${task._id}`, {
await user.put(`/tasks/${habit._id}`, {
text: 'some new text',
up: false,
down: false,
@@ -144,14 +183,13 @@ describe('PUT /tasks/:id', () => {
managerId: member2._id,
});
await member2.put(`/tasks/${task._id}`, {
await member2.put(`/tasks/${habit._id}`, {
text: 'some new text',
up: false,
down: false,
notes: 'some new notes',
});
const memberTasks = await member.get('/tasks/user');
const syncedTask = find(memberTasks, findAssignedTask);
@@ -1,4 +1,3 @@
import { v4 as generateUUID } from 'uuid';
import { find } from 'lodash';
import {
@@ -325,7 +324,6 @@ describe('POST /user/class/cast/:spellId', () => {
expect(result.user.stats.mp).to.equal(10);
});
// TODO find a way to have sinon working in integration tests
// it doesn't work when tests are running separately from server
it('passes correct target to spell when targetType === \'tasks\'');
@@ -4,7 +4,6 @@ import {
translate as t,
} from '../../../../helpers/api-integration/v3';
describe('PUT /user', () => {
let user;
@@ -53,7 +52,6 @@ describe('PUT /user', () => {
expect(user.tags.length).to.be.eql(userTags.length + 1);
});
it('validates profile.name', async () => {
await expect(user.put('/user', {
'profile.name': ' ', // string should be trimmed
@@ -10,7 +10,6 @@ import {
sha1Encrypt as sha1EncryptPassword,
} from '../../../../../../website/server/libs/password';
describe('POST /user/auth/local/login', () => {
let api;
let user;
@@ -9,7 +9,6 @@ import {
sha1Encrypt as sha1EncryptPassword,
} from '../../../../../../website/server/libs/password';
const ENDPOINT = '/user/auth/update-email';
describe('PUT /user/auth/update-email', () => {
@@ -1,4 +1,3 @@
import { v4 as generateUUID } from 'uuid';
import { find } from 'lodash';
import {
@@ -310,7 +309,6 @@ describe('POST /user/class/cast/:spellId', () => {
expect(result.user.stats.mp).to.equal(10);
});
// TODO find a way to have sinon working in integration tests
// it doesn't work when tests are running separately from server
it('passes correct target to spell when targetType === \'tasks\'');
-1
View File
@@ -130,7 +130,6 @@ describe('POST /user/reset', () => {
},
});
await hero.post('/user/reset');
const heroRes = await admin.get(`/hall/heroes/${hero.auth.local.username}`);
-2
View File
@@ -4,7 +4,6 @@ import {
translate as t,
} from '../../../helpers/api-integration/v4';
describe('PUT /user', () => {
let user;
@@ -53,7 +52,6 @@ describe('PUT /user', () => {
expect(user.tags.length).to.be.eql(userTags.length + 1);
});
it('profile.name cannot be an empty string or null', async () => {
await expect(user.put('/user', {
'profile.name': ' ', // string should be trimmed
+2
View File
@@ -16,6 +16,8 @@ describe('common.fns.randomDrop', () => {
user = generateUser();
user._tmp = user._tmp ? user._tmp : {};
user.items.eggs.Wolf = 0;
user.items.food.Meat = 0;
user._id = `a${user._id.slice(1)}`;
task = generateTodo({ userId: user._id });
predictableRandom = sandbox.stub().returns(0.5);
});
@@ -1,4 +1,3 @@
import {
generateUser,
} from '../../helpers/common.helper';
@@ -36,7 +35,6 @@ describe('getDebuffPotionItems', () => {
user.stats.buffs.snowball = true;
user.stats.buffs.shinySeed = true;
const result = getDebuffPotionItems(user);
expect(result).to.be.an('array').that.deep.include.members([
@@ -1,4 +1,3 @@
import {
generateUser,
} from '../../helpers/common.helper';
@@ -27,7 +26,6 @@ describe('setDebuffPotionItems', () => {
const firstSetResult = [...setDebuffPotionItems(user).pinnedItems];
const secondSetResult = [...setDebuffPotionItems(user).pinnedItems];
expect(firstSetResult).to.be.deep.equal(secondSetResult);
});
-2
View File
@@ -90,7 +90,6 @@ describe('shops', () => {
},
});
const shopWizardItems = shared.shops.getMarketGearCategories(userWithItems).find(x => x.identifier === 'wizard').items.filter(x => x.klass === 'wizard' && (x.owned === false || x.owned === undefined));
expect(shopWizardItems.length).to.eql(0);
});
@@ -122,7 +121,6 @@ describe('shops', () => {
},
});
const shopWizardItems = shared.shops.getMarketGearCategories(userWithItems).find(x => x.identifier === 'wizard').items.filter(x => x.klass === 'wizard' && (x.owned === false || x.owned === undefined));
expect(shopWizardItems.find(item => item.key === 'weapon_wizard_5').locked).to.eql(false);
expect(shopWizardItems.find(item => item.key === 'weapon_wizard_6').locked).to.eql(true);
-1
View File
@@ -75,7 +75,6 @@ describe('shared.ops.buyGem', () => {
expect(user.stats.gp).to.equal(goldPoints - planGemLimits.convRate * 2);
});
context('Failure conditions', () => {
it('returns an error when key is not provided', done => {
try {
-1
View File
@@ -141,7 +141,6 @@ describe('shared.ops.buyQuest', () => {
}
});
it('does not buy Gem-premium Quests', done => {
user.stats.gp = 9999;
try {
-2
View File
@@ -43,7 +43,6 @@ describe('shared.ops.purchase', () => {
}
});
it('returns error when unknown type is provided', done => {
try {
purchase(user, { params: { type: 'randomType', key: 'gem' } });
@@ -96,7 +95,6 @@ describe('shared.ops.purchase', () => {
}
});
it('returns error when item is not found', done => {
const params = { key: 'notExisting', type: 'food' };
-1
View File
@@ -29,7 +29,6 @@ describe('shared.ops.reset', () => {
tasksToRemove = [habit, todo, daily, reward];
});
it('resets a user', () => {
const [, message] = reset(user);
+67
View File
@@ -10,6 +10,8 @@ describe('shared.ops.unlock', () => {
const unlockGearSetPath = 'items.gear.owned.headAccessory_special_bearEars,items.gear.owned.headAccessory_special_cactusEars,items.gear.owned.headAccessory_special_foxEars,items.gear.owned.headAccessory_special_lionEars,items.gear.owned.headAccessory_special_pandaEars,items.gear.owned.headAccessory_special_pigEars,items.gear.owned.headAccessory_special_tigerEars,items.gear.owned.headAccessory_special_wolfEars';
const backgroundUnlockPath = 'background.giant_florals';
const backgroundSetUnlockPath = 'background.archery_range,background.giant_florals,background.rainbows_end';
const hairUnlockPath = 'hair.color.rainbow,hair.color.yellow,hair.color.green,hair.color.purple,hair.color.blue,hair.color.TRUred';
const facialHairUnlockPath = 'hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3';
const usersStartingGems = 50 / 4;
beforeEach(() => {
@@ -206,6 +208,40 @@ describe('shared.ops.unlock', () => {
expect(user.balance).to.equal(usersStartingGems - 1.25);
});
it('unlocks a full set of hair items', () => {
user.purchased.hair.color = {};
const initialHairColors = Object.keys(user.purchased.hair.color).length;
const [, message] = unlock(user, { query: { path: hairUnlockPath } });
expect(message).to.equal(i18n.t('unlocked'));
const individualPaths = hairUnlockPath.split(',');
individualPaths.forEach(path => {
expect(get(user.purchased, path)).to.be.true;
});
expect(Object.keys(user.purchased.hair.color).length)
.to.equal(initialHairColors + individualPaths.length);
expect(user.balance).to.equal(usersStartingGems - 1.25);
});
it('unlocks the facial hair set', () => {
user.purchased.hair.mustache = {};
user.purchased.hair.beard = {};
const initialMustache = Object.keys(user.purchased.hair.mustache).length;
const initialBeard = Object.keys(user.purchased.hair.mustache).length;
const [, message] = unlock(user, { query: { path: facialHairUnlockPath } });
expect(message).to.equal(i18n.t('unlocked'));
const individualPaths = facialHairUnlockPath.split(',');
individualPaths.forEach(path => {
expect(get(user.purchased, path)).to.be.true;
});
expect(Object.keys(user.purchased.hair.mustache).length + Object.keys(user.purchased.hair.beard).length) // eslint-disable-line max-len
.to.equal(initialMustache + initialBeard + individualPaths.length);
expect(user.balance).to.equal(usersStartingGems - 1.25);
});
it('unlocks a full set of gear', () => {
const initialGear = Object.keys(user.items.gear.owned).length;
const [, message] = unlock(user, { query: { path: unlockGearSetPath } });
@@ -246,6 +282,37 @@ describe('shared.ops.unlock', () => {
expect(user.balance).to.equal(usersStartingGems - 0.5);
});
it('unlocks an item (hair color)', () => {
user.purchased.hair.color = {};
const path = hairUnlockPath.split(',')[0];
const initialColorHair = Object.keys(user.purchased.hair.color).length;
const [, message] = unlock(user, { query: { path } });
expect(message).to.equal(i18n.t('unlocked'));
expect(Object.keys(user.purchased.hair.color).length).to.equal(initialColorHair + 1);
expect(get(user.purchased, path)).to.be.true;
expect(user.balance).to.equal(usersStartingGems - 0.5);
});
it('unlocks an item (facial hair)', () => {
user.purchased.hair.mustache = {};
user.purchased.hair.beard = {};
const path = facialHairUnlockPath.split(',')[0];
const initialMustache = Object.keys(user.purchased.hair.mustache).length;
const initialBeard = Object.keys(user.purchased.hair.beard).length;
const [, message] = unlock(user, { query: { path } });
expect(message).to.equal(i18n.t('unlocked'));
expect(Object.keys(user.purchased.hair.mustache).length).to.equal(initialMustache + 1);
expect(Object.keys(user.purchased.hair.beard).length).to.equal(initialBeard);
expect(get(user.purchased, path)).to.be.true;
expect(user.balance).to.equal(usersStartingGems - 0.5);
});
it('unlocks an item (gear)', () => {
const path = unlockGearSetPath.split(',')[0];
const initialGear = Object.keys(user.items.gear.owned).length;
-1
View File
@@ -377,7 +377,6 @@ describe('shouldDo', () => {
m: false,
};
[0, 1, 2, 3, 4, 5, 6].forEach(weekday => {
day = moment().add(1, 'weeks').day(weekday).toDate();
@@ -1,9 +1,10 @@
import express from 'express';
import uuid from 'uuid';
import { v4 as uuid } from 'uuid';
import bodyParser from 'body-parser';
import http from 'http';
const app = express();
const server = require('http').createServer(app);
const server = http.createServer(app);
const PORT = process.env.TEST_WEBHOOK_APP_PORT || 3099; // eslint-disable-line no-process-env
@@ -30,7 +31,7 @@ app.post('/webhooks/:id', (req, res) => {
// See http://stackoverflow.com/a/37054753/2601552
const sockets = {};
server.on('connection', socket => {
const id = uuid.v4();
const id = uuid();
sockets[id] = socket;
socket.once('close', () => {
-1
View File
@@ -10,7 +10,6 @@ import {
export { translate } from './translate';
export function generateUser (options = {}) {
const user = new User(options).toObject();
+2 -1
View File
@@ -1,6 +1,7 @@
import i18n from '../../website/common/script/i18n';
import { translations } from '../../website/server/libs/i18n';
i18n.translations = require('../../website/server/libs/i18n').translations;
i18n.translations = translations;
const STRING_ERROR_MSG = 'Error processing the string. Please see Help > Report a Bug.';
const STRING_DOES_NOT_EXIST_MSG = /^String '.*' not found.$/;
+1 -2
View File
@@ -1,5 +1,4 @@
const glob = require('glob').sync;
import { sync as glob } from 'glob';
describe('Locales files', () => {
it('do not contain duplicates of any keys', () => {
+2 -3
View File
@@ -1,6 +1,5 @@
const glob = require('glob').sync;
const readFile = require('fs').readFileSync;
import { sync as glob } from 'glob';
import { readFileSync as readFile } from 'fs';
const IMPORT_REGEX = /(import|require).*common\/script/;
+10 -2
View File
@@ -31,14 +31,22 @@ import '../../src/assets/css/sprites/spritesmith-main-24.css';
import '../../src/assets/css/sprites/spritesmith-main-25.css';
import '../../src/assets/css/sprites/spritesmith-main-26.css';
import Vue from 'vue';
import BootstrapVue from 'bootstrap-vue';
import StoreModule from '@/libs/store';
// couldn't inject the languages easily,
// so just a "$t()" string to show that this will be translated
Vue.prototype.$t = function translateString (...args) {
return `$t(${JSON.stringify(args)})`;
};
Vue.use(BootstrapVue);
Vue.use(StoreModule);
const req = require.context('../../src', true, /.stories.js$/);
function loadStories () {
req.keys().forEach(filename => req(filename));
}
Vue.use(StoreModule);
configure(loadStories, module);
+535 -526
View File
File diff suppressed because it is too large Load Diff
+14 -14
View File
@@ -18,13 +18,13 @@
"@storybook/addon-links": "^5.3.19",
"@storybook/addon-notes": "^5.3.19",
"@storybook/vue": "^5.3.19",
"@vue/cli-plugin-babel": "^4.4.1",
"@vue/cli-plugin-eslint": "^4.4.1",
"@vue/cli-plugin-router": "^4.4.1",
"@vue/cli-plugin-unit-mocha": "^4.4.1",
"@vue/cli-service": "^4.4.1",
"@vue/cli-plugin-babel": "^4.4.6",
"@vue/cli-plugin-eslint": "^4.4.6",
"@vue/cli-plugin-router": "^4.4.6",
"@vue/cli-plugin-unit-mocha": "^4.4.6",
"@vue/cli-service": "^4.4.6",
"@vue/test-utils": "1.0.0-beta.29",
"amplitude-js": "^5.11.0",
"amplitude-js": "^6.2.0",
"axios": "^0.19.2",
"axios-progress-bar": "^1.2.0",
"babel-eslint": "^10.1.0",
@@ -36,27 +36,27 @@
"eslint-config-habitrpg": "^6.2.0",
"eslint-plugin-mocha": "^5.3.0",
"eslint-plugin-vue": "^6.2.2",
"habitica-markdown": "^2.0.0",
"habitica-markdown": "^2.0.2",
"hellojs": "^1.18.4",
"inspectpack": "^4.5.2",
"intro.js": "^2.9.3",
"jquery": "^3.5.1",
"lodash": "^4.17.15",
"moment": "^2.26.0",
"moment": "^2.27.0",
"nconf": "^0.10.0",
"sass": "^1.26.8",
"sass": "^1.26.9",
"sass-loader": "^8.0.2",
"smartbanner.js": "^1.15.0",
"smartbanner.js": "^1.16.0",
"svg-inline-loader": "^0.8.2",
"svg-url-loader": "^3.0.3",
"svg-url-loader": "^6.0.0",
"svgo": "^1.3.2",
"svgo-loader": "^2.2.1",
"uuid": "^3.4.0",
"validator": "^11.1.0",
"uuid": "^8.2.0",
"validator": "^13.1.1",
"vue": "^2.6.11",
"vue-cli-plugin-storybook": "^0.6.1",
"vue-mugen-scroll": "^0.2.6",
"vue-router": "^3.3.2",
"vue-router": "^3.3.4",
"vue-template-compiler": "^2.6.11",
"vuedraggable": "^2.23.2",
"vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec",
+1
View File
@@ -742,5 +742,6 @@ export default {
<style src="@/assets/css/sprites/spritesmith-main-25.css"></style>
<style src="@/assets/css/sprites/spritesmith-main-26.css"></style>
<style src="@/assets/css/sprites/spritesmith-main-27.css"></style>
<style src="@/assets/css/sprites/spritesmith-main-28.css"></style>
<style src="@/assets/css/sprites.css"></style>
<style src="smartbanner.js/dist/smartbanner.min.css"></style>
@@ -1,24 +1,78 @@
.promo_armoire_backgrounds_202006 {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -259px 0px;
background-position: -340px -524px;
width: 423px;
height: 147px;
}
.promo_mystery_202006 {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px -259px;
background-position: -424px -735px;
width: 282px;
height: 147px;
}
.promo_sand_sculpture_potions {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px -735px;
width: 423px;
height: 147px;
}
.promo_splashy_skins {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -409px -337px;
width: 375px;
height: 186px;
}
.customize-option.promo_splashy_skins {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -434px -352px;
width: 60px;
height: 60px;
}
.promo_summer_splash_2019 {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px -337px;
width: 408px;
height: 186px;
}
.promo_summer_splash_2020 {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -445px 0px;
width: 444px;
height: 198px;
}
.promo_take_this {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -259px -148px;
background-position: -1032px -389px;
width: 96px;
height: 69px;
}
.scene_hiking {
.scene_achievement {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px -524px;
width: 339px;
height: 210px;
}
.scene_hat_guild {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px 0px;
width: 444px;
height: 336px;
}
.scene_hiking {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -890px 0px;
width: 258px;
height: 258px;
}
.scene_nakonana {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -890px -389px;
width: 141px;
height: 169px;
}
.scene_strength {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -890px -259px;
width: 192px;
height: 129px;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,120 +1,186 @@
.quest_bunny {
.quest_amber {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -1546px;
width: 210px;
height: 186px;
background-position: -1320px -220px;
width: 219px;
height: 219px;
}
.quest_butterfly {
.quest_armadillo {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1320px -660px;
width: 219px;
height: 219px;
}
.quest_cheetah {
.quest_atom1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -440px 0px;
width: 219px;
height: 219px;
background-position: -1333px -1332px;
width: 250px;
height: 150px;
}
.quest_cow {
.quest_atom2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1760px 0px;
width: 174px;
height: 213px;
background-position: -642px -1534px;
width: 207px;
height: 138px;
}
.quest_dilatory {
.quest_atom3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -211px -1534px;
width: 216px;
height: 180px;
}
.quest_axolotl {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -440px -232px;
width: 219px;
height: 219px;
}
.quest_dilatoryDistress1 {
.quest_badger {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -222px -1332px;
width: 210px;
height: 210px;
}
.quest_dilatoryDistress2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1760px -422px;
width: 150px;
height: 150px;
}
.quest_dilatoryDistress3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -452px;
background-position: -660px 0px;
width: 219px;
height: 219px;
}
.quest_dilatory_derby {
.quest_basilist {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -220px -232px;
width: 219px;
height: 219px;
background-position: -191px -1721px;
width: 189px;
height: 141px;
}
.quest_dolphin {
.quest_beetle {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -1332px;
width: 204px;
height: 201px;
}
.quest_bronze {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -220px -452px;
width: 219px;
height: 219px;
}
.quest_dustbunnies {
.quest_bunny {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -440px -452px;
background-position: 0px -1534px;
width: 210px;
height: 186px;
}
.quest_butterfly {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -660px -452px;
width: 219px;
height: 219px;
}
.quest_egg {
.quest_cheetah {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1760px -214px;
width: 165px;
height: 207px;
}
.quest_evilsanta {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1760px -875px;
width: 118px;
height: 131px;
}
.quest_evilsanta2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -880px -220px;
background-position: -880px 0px;
width: 219px;
height: 219px;
}
.quest_falcon {
.quest_cow {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -880px -440px;
width: 219px;
height: 219px;
background-position: -1762px 0px;
width: 174px;
height: 213px;
}
.quest_ferret {
.quest_dilatory {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -672px;
width: 219px;
height: 219px;
}
.quest_frog {
.quest_dilatoryDistress1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -1332px;
width: 221px;
height: 213px;
background-position: -1540px -1082px;
width: 210px;
height: 210px;
}
.quest_ghost_stag {
.quest_dilatoryDistress2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -440px -672px;
width: 219px;
height: 219px;
background-position: -1762px -573px;
width: 150px;
height: 150px;
}
.quest_goldenknight1 {
.quest_dilatoryDistress3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -660px -672px;
width: 219px;
height: 219px;
}
.quest_dilatory_derby {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -880px -440px;
width: 219px;
height: 219px;
}
.quest_dolphin {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -880px -672px;
width: 219px;
height: 219px;
}
.quest_dustbunnies {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1100px 0px;
width: 219px;
height: 219px;
}
.quest_egg {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1762px -214px;
width: 165px;
height: 207px;
}
.quest_evilsanta {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1762px -724px;
width: 118px;
height: 131px;
}
.quest_evilsanta2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1100px -660px;
width: 219px;
height: 219px;
}
.quest_falcon {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -892px;
width: 219px;
height: 219px;
}
.quest_ferret {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -220px -892px;
width: 219px;
height: 219px;
}
.quest_fluorite {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -440px -892px;
width: 219px;
height: 219px;
}
.quest_frog {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1540px 0px;
width: 221px;
height: 213px;
}
.quest_ghost_stag {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -880px -892px;
width: 219px;
height: 219px;
}
.quest_goldenknight1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1100px -892px;
width: 219px;
height: 219px;
}
.quest_goldenknight2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -462px -1546px;
background-position: -1082px -1332px;
width: 250px;
height: 150px;
}
@@ -126,271 +192,205 @@
}
.quest_gryphon {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -876px -1332px;
background-position: -648px -1332px;
width: 216px;
height: 177px;
}
.quest_guineapig {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1100px -440px;
background-position: -220px 0px;
width: 219px;
height: 219px;
}
.quest_harpy {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1100px -660px;
background-position: -1320px -880px;
width: 219px;
height: 219px;
}
.quest_hedgehog {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -433px -1332px;
background-position: -205px -1332px;
width: 219px;
height: 186px;
}
.quest_hippo {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -220px -892px;
background-position: -220px -1112px;
width: 219px;
height: 219px;
}
.quest_horse {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -440px -892px;
background-position: -440px -1112px;
width: 219px;
height: 219px;
}
.quest_kangaroo {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -660px -892px;
background-position: -660px -1112px;
width: 219px;
height: 219px;
}
.quest_kraken {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1093px -1332px;
background-position: -865px -1332px;
width: 216px;
height: 177px;
}
.quest_lostMasterclasser1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1100px -892px;
background-position: -1100px -1112px;
width: 219px;
height: 219px;
}
.quest_lostMasterclasser2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1320px 0px;
background-position: -880px -1112px;
width: 219px;
height: 219px;
}
.quest_lostMasterclasser3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1320px -220px;
background-position: 0px -1112px;
width: 219px;
height: 219px;
}
.quest_mayhemMistiflying1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1760px -724px;
background-position: -1762px -422px;
width: 150px;
height: 150px;
}
.quest_mayhemMistiflying2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -220px 0px;
background-position: -1320px -440px;
width: 219px;
height: 219px;
}
.quest_mayhemMistiflying3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1320px -880px;
background-position: -1320px 0px;
width: 219px;
height: 219px;
}
.quest_monkey {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -1112px;
background-position: -660px -892px;
width: 219px;
height: 219px;
}
.quest_moon1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1540px -437px;
background-position: -1540px -648px;
width: 216px;
height: 216px;
}
.quest_moon2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -440px -1112px;
background-position: -1100px -440px;
width: 219px;
height: 219px;
}
.quest_moon3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -660px -1112px;
background-position: -1100px -220px;
width: 219px;
height: 219px;
}
.quest_moonstone1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -880px -1112px;
background-position: -440px -672px;
width: 219px;
height: 219px;
}
.quest_moonstone2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1100px -1112px;
background-position: -220px -672px;
width: 219px;
height: 219px;
}
.quest_moonstone3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1320px -1112px;
background-position: -880px -220px;
width: 219px;
height: 219px;
}
.quest_nudibranch {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1540px -871px;
background-position: -1540px -865px;
width: 216px;
height: 216px;
}
.quest_octopus {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -653px -1332px;
background-position: -425px -1332px;
width: 222px;
height: 177px;
}
.quest_owl {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1540px 0px;
background-position: -440px -452px;
width: 219px;
height: 219px;
}
.quest_peacock {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1540px -220px;
background-position: -1540px -431px;
width: 216px;
height: 216px;
}
.quest_penguin {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -1733px;
background-position: 0px -1721px;
width: 190px;
height: 183px;
}
.quest_pterodactyl {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -220px -1112px;
background-position: 0px -452px;
width: 219px;
height: 219px;
}
.quest_rat {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1320px -440px;
background-position: -660px -220px;
width: 219px;
height: 219px;
}
.quest_robot {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -880px -892px;
background-position: -220px -232px;
width: 219px;
height: 219px;
}
.quest_rock {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1540px -654px;
background-position: -1540px -214px;
width: 216px;
height: 216px;
}
.quest_rooster {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1527px -1332px;
background-position: -428px -1534px;
width: 213px;
height: 174px;
}
.quest_ruby {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -892px;
background-position: 0px -232px;
width: 219px;
height: 219px;
}
.quest_sabretooth {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1100px -220px;
background-position: -440px 0px;
width: 219px;
height: 219px;
}
.quest_seaserpent {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -880px -672px;
width: 219px;
height: 219px;
}
.quest_sheep {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -220px -672px;
width: 219px;
height: 219px;
}
.quest_silver {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -880px 0px;
width: 219px;
height: 219px;
}
.quest_slime {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -660px -452px;
width: 219px;
height: 219px;
}
.quest_sloth {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -660px -220px;
width: 219px;
height: 219px;
}
.quest_snail {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1540px -1088px;
width: 219px;
height: 213px;
}
.quest_snake {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1310px -1332px;
width: 216px;
height: 177px;
}
.quest_spider {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -211px -1546px;
width: 250px;
height: 150px;
}
.quest_squirrel {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -660px 0px;
width: 219px;
height: 219px;
}
.quest_stoikalmCalamity1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1760px -573px;
width: 150px;
height: 150px;
}
.quest_stoikalmCalamity2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -232px;
width: 219px;
height: 219px;
}
.quest_stoikalmCalamity3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1100px 0px;
background-position: -1320px -1112px;
width: 219px;
height: 219px;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,414 @@
.Pet-Wolf-RoyalPurple {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -82px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Ruby {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -492px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-SandSculpture {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -328px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Shade {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -164px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Shadow {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: 0px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Shimmer {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -82px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Silver {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -164px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Skeleton {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -246px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Spooky {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -246px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-StarryNight {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: 0px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Sunshine {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -82px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Thunderstorm {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -164px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Veggie {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -246px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Veteran {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -328px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Watery {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: 0px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-White {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -328px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Zombie {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: 0px -300px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Base {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -82px -300px;
width: 81px;
height: 99px;
}
.Pet-Yarn-CottonCandyBlue {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -164px -300px;
width: 81px;
height: 99px;
}
.Pet-Yarn-CottonCandyPink {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -246px -300px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Desert {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -328px -300px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Golden {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -410px 0px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Red {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -410px -100px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Shade {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -410px -200px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Skeleton {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -410px -300px;
width: 81px;
height: 99px;
}
.Pet-Yarn-White {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -492px 0px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Zombie {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -492px -100px;
width: 81px;
height: 99px;
}
.Pet_HatchingPotion_Amber {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -492px -300px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Aquatic {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: 0px -400px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Aurora {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -69px -400px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Base {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -138px -400px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_BirchBark {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -207px -400px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Bronze {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -276px -400px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Celestial {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -345px -400px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_CottonCandyBlue {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: 0px -607px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_CottonCandyPink {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -483px -400px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Cupid {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: 0px -469px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Desert {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -69px -469px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Ember {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -138px -469px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Fairy {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -207px -469px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Floral {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -276px -469px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Fluorite {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -345px -469px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Frost {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -414px -469px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Ghost {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -483px -469px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Glass {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -574px 0px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Glow {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -574px -69px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Golden {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -574px -138px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Holly {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -574px -207px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_IcySnow {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -574px -276px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Peppermint {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -574px -345px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Purple {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -574px -414px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Rainbow {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: 0px -538px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Red {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -69px -538px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_RoseQuartz {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -138px -538px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_RoyalPurple {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -207px -538px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Ruby {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -276px -538px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_SandSculpture {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -345px -538px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Shade {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -414px -538px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Shadow {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -483px -538px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Shimmer {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -552px -538px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Silver {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -643px 0px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Skeleton {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -643px -69px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Spooky {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -643px -138px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_StarryNight {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -643px -207px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Sunshine {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -643px -276px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Thunderstorm {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -643px -345px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Watery {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -643px -414px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_White {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -643px -483px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Zombie {
background-image: url('~@/assets/images/sprites/spritesmith-main-28.png');
background-position: -414px -400px;
width: 68px;
height: 68px;
}
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 425 KiB

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 KiB

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 153 KiB

@@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path fill="#878190" fill-rule="evenodd" d="M8 14a5.96 5.96 0 0 1-3.327-1.011l8.316-8.316A5.96 5.96 0 0 1 14 8c0 3.309-2.691 6-6 6M8 2a5.96 5.96 0 0 1 3.327 1.011l-8.316 8.316A5.96 5.96 0 0 1 2 8c0-3.309 2.691-6 6-6m0-2a8 8 0 1 0 0 16A8 8 0 0 0 8 0"/>
</svg>

Before

Width:  |  Height:  |  Size: 347 B

+158 -73
View File
@@ -1,92 +1,193 @@
@mixin btn-focus-hover-shadow () {
box-shadow: 0 4px 4px 0 rgba($black, 0.16), 0 1px 8px 0 rgba($black, 0.12);
}
.btn {
cursor: pointer;
font-family: 'Roboto Condensed', sans-serif;
font-size: 16px;
font-family: 'Roboto', sans-serif;
font-size: 14px;
font-weight: bold;
line-height: 1.5;
border: 1px solid transparent !important;
padding: 7.5px 15.5px;
line-height: 1.71;
border: 1px solid transparent;
padding: 0.25rem 1rem;
border-radius: 2px;
box-shadow: 0 2px 2px 0 rgba($black, 0.16), 0 1px 4px 0 rgba($black, 0.12);
box-shadow: 0 1px 3px 0 rgba($black, 0.12), 0 1px 2px 0 rgba($black, 0.24);
color: $white;
&:focus:not(.btn-flat) {
outline: none;
&:hover, &:focus {
box-shadow: 0 3px 6px 0 rgba($black, 0.16), 0 3px 6px 0 rgba($black, 0.24);
&:disabled, &.disabled, &.btn-flat {
box-shadow: none;
}
}
&:focus {
border-color: $purple-400;
@include btn-focus-hover-shadow();
}
&:hover:not(.btn-flat):not(.disabled):not(:disabled) {
@include btn-focus-hover-shadow();
border-color: transparent;
&:active, &.active:not(.btn-flat), &:disabled, &.disabled {
box-shadow: none;
}
&:active:not(.btn-flat), &.active:not(.btn-flat) {
box-shadow: none !important;
border: 1px solid transparent;
&:disabled, &.disabled {
cursor: default;
opacity: 0.75;
}
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active {
color: $white !important;
}
.btn:disabled, .btn.disabled {
box-shadow: none;
cursor: default;
opacity: 0.64;
border-color: transparent;
.btn-front {
font-size: 16px;
line-height: 1.5;
padding: 7.5px 15.5px;
}
.btn-primary {
background: $purple-200;
border: 1px solid transparent;
&:disabled {
&:hover:not(:disabled):not(.disabled) {
background: #5d3b9c;
border: 1px solid transparent;
}
&:focus {
background: $purple-200;
border-color: $purple-400;
}
&:hover:not(:disabled):not(.disabled), &:active:not(:disabled):not(.disabled), &.active:not(:disabled):not(.disabled), &:focus:not(:disabled):not(.disabled) {
background: #5d3b9c !important;
color: $white;
}
}
.btn-secondary, .dropdown > .btn-secondary {
color: $gray-50;
background: $white !important;
&:hover:not(:disabled):not(.disabled), &:active:not(:disabled):not(.disabled), &.active:not(:disabled):not(.disabled), &:focus:not(:disabled):not(.disabled) {
color: $purple-200 !important;
&:not(:disabled):not(.disabled):active:focus, &:not(:disabled):not(.disabled).active:focus {
box-shadow: none;
border-color: $purple-400;
}
&:active, &:focus, &.active {
border-color: $purple-500 !important;
&:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active {
background: $purple-200;
border: 1px solid transparent;
}
&:disabled, &.disabled {
background: $gray-500 !important;
color: $gray-100 !important;
background: $purple-200;
border: 1px solid transparent;
cursor: default;
opacity: 0.75;
}
}
.btn-secondary,
.dropdown > .btn-secondary.dropdown-toggle:not(.btn-success),
.show > .btn-secondary.dropdown-toggle:not(.btn-success)
{
background: $white;
border: 1px solid transparent;
color: $gray-50;
&:focus, &:active {
color: $gray-50;
background: $white;
border-color: $purple-400;
}
&:not(:disabled):not(.disabled) {
&:active:focus,
&.active:focus {
color: $purple-300;
box-shadow: none;
border-color: $purple-400;
}
&:active,
&.active {
color: $purple-300;
&.dropdown-toggle {
color: $gray-50;
}
background: $white;
border: 1px solid transparent;
}
&:hover {
color: $purple-300;
&.dropdown-toggle {
color: $gray-50;
}
background: $white !important;
border: 1px solid transparent;
}
}
&:disabled, &.disabled {
color: $gray-50;
background: $white;
border: 1px solid transparent;
cursor: default;
opacity: 0.75;
}
}
.btn-danger {
background: $maroon-100;
border: 1px solid transparent;
&:hover:not(:disabled):not(.disabled) {
background: #e14e4e;
border: 1px solid transparent;
}
&:focus {
background: $maroon-100;
border-color: $purple-400;
}
&:not(:disabled):not(.disabled):active:focus, &:not(:disabled):not(.disabled).active:focus {
box-shadow: none;
border-color: $purple-400;
}
&:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active {
background: $maroon-100;
border: 1px solid transparent;
}
&:disabled, &.disabled {
background: $maroon-100;
border: 1px solid transparent;
cursor: default;
opacity: 0.75;
}
}
.btn-success {
background: $green-100;
&:disabled {
background: $green-100;
}
&:hover:not(:disabled):not(.disabled), &:active:not(:disabled):not(.disabled), &.active:not(:disabled):not(.disabled) {
background: $green-50;
}
}
.show > .btn-success.dropdown-toggle {
background: $green-50;
border: 1px solid transparent;
&:hover:not(:disabled):not(.disabled) {
background: #32bd8a;
border: 1px solid transparent;
}
&:focus {
background: $green-50;
border-color: $purple-400;
}
&:not(:disabled):not(.disabled):active:focus, &:not(:disabled):not(.disabled).active:focus {
box-shadow: none;
border-color: $purple-400;
}
&:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active {
background: $green-50;
border: 1px solid transparent;
}
&:disabled, &.disabled {
background: $green-50;
border: 1px solid transparent;
cursor: default;
opacity: 0.75;
}
}
.btn-info {
@@ -105,22 +206,6 @@
}
}
.btn-danger {
background: $red-50;
&:disabled {
background: $red-50;
}
&:hover:not(:disabled):not(.disabled) {
background: $red-100;
}
&:active:not(:disabled):not(.disabled), &.active:not(:disabled):not(.disabled) {
background: $red-100;
}
}
.btn-show-more {
display: block;
width: 50%;
+177 -166
View File
@@ -1,34 +1,56 @@
@mixin habit-controls($disabled-color, $active-color) {
&-habit-control-disabled {
.habit-option-button {
border: 2px solid $disabled-color;
}
&:hover {
.habit-option-button {
border: 2px solid $active-color;
}
.habit-option-icon, .habit-option-label { color: $active-color !important; }
}
}
}
@mixin modal-text-input($color) {
&-text::placeholder { color: $color !important; }
&-input {
border: 0 !important;
&:focus, &:active {
box-shadow: 0 0 0 1px $color !important;
}
}
}
.task {
&-worst { // dark red
&-control {
&-bg {
background: $maroon-100 !important;
&:hover {
.habit-control { background: rgba(26, 24, 29, 0.48) !important; }
.daily-todo-control { background: rgba(255, 255, 255, 0.72) !important; }
}
.habit-control:hover { background: rgba($black, 0.5) !important; }
.daily-todo-control:hover { background: rgba($white, 0.75) !important; }
}
&-bg-noninteractive {
background: $maroon-100 !important;
}
&-inner-habit { background: rgba(26, 24, 29, 0.24) !important; }
&-inner-daily-todo { background: $maroon-500 !important; }
&-checkbox { color: $maroon-100 !important; }
&-icon { color: #6c0406 !important; }
&-bg-noninteractive { background: $maroon-100 !important; }
&-inner-habit { background: rgba($black, 0.25) !important; }
&-inner-habit-noninteractive { border: 1px solid rgba($red-1, 0.5) !important; }
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
&-checkbox, &-icon { color: $red-1 !important; }
}
&-modal {
&-bg { background: $maroon-100 !important; }
&-icon { color: $maroon-100 !important; }
&-text { color: $maroon-50 !important; }
&-text { color: $red-1 !important; }
&-content {
--svg-color: #{$maroon-100};
}
@include modal-text-input($red-1);
&-option-disabled:hover {
.svg-icon { color: $maroon-100 !important; }
.option-item-label { color: $maroon-50 !important; }
}
&-habit-control-disabled:hover {
.habit-control { background: $maroon-100 !important; }
.option-item-label { color: $maroon-50 !important; }
}
@include habit-controls($gray-300, $maroon-100);
}
}
@@ -36,32 +58,30 @@
&-control {
&-bg {
background: $red-100 !important;
&:hover {
.habit-control { background: rgba(26, 24, 29, 0.48) !important; }
.daily-todo-control { background: rgba(255, 255, 255, 0.72) !important; }
}
.habit-control:hover { background: rgba($black, 0.5) !important; }
.daily-todo-control:hover { background: rgba($white, 0.75) !important; }
}
&-bg-noninteractive {
background: $red-100 !important;
}
&-inner-habit { background: rgba(26, 24, 29, 0.24) !important; }
&-inner-daily-todo { background: $red-500 !important; }
&-checkbox { color: $red-100 !important; }
&-icon { color: #6c0406 !important; }
&-bg-noninteractive { background: $red-100 !important; }
&-inner-habit { background: rgba($black, 0.25) !important; }
&-inner-habit-noninteractive { border: 1px solid rgba($red-1, 0.5) !important; }
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
&-checkbox, &-icon { color: $red-1 !important; }
}
&-modal {
&-bg { background: $red-100 !important; }
&-icon { color: $red-100 !important; }
&-text { color: $red-10 !important; }
&-text { color: $red-1 !important; }
&-content {
--svg-color: #{$red-100};
}
@include modal-text-input($red-1);
&-option-disabled:hover {
.svg-icon { color: $red-100 !important; }
.option-item-label { color: $red-10 !important; }
}
&-habit-control-disabled:hover {
.habit-control { background: $red-100 !important; }
.option-item-label { color: $red-10 !important; }
}
@include habit-controls($gray-300, $red-100);
}
}
@@ -69,43 +89,30 @@
&-control {
&-bg {
background: $orange-100 !important;
&:hover {
.habit-control { background: #b75a1c !important; }
.daily-todo-control { background: rgba(255, 255, 255, 0.72) !important; }
}
.habit-control:hover { background: rgba($orange-1, 0.5) !important; }
.daily-todo-control:hover { background: rgba($white, 0.75) !important; }
}
&-bg-noninteractive {
background: $orange-100 !important;
}
&-inner-habit { background: rgba(183, 90, 28, 0.4) !important; }
&-inner-daily-todo { background: $orange-500 !important; }
&-checkbox { color: $orange-100 !important; }
&-icon { color: #7f3300 !important; }
&-bg-noninteractive { background: $orange-100 !important; }
&-inner-habit { background: rgba($orange-1, 0.25) !important; }
&-inner-habit-noninteractive { border: 1px solid rgba($orange-1, 0.5) !important; }
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
&-checkbox, &-icon { color: $orange-1 !important; }
}
&-modal {
&-bg {
background: $orange-100 !important;
.form-control {
background: rgba(183, 90, 28, 0.4) !important;
&:focus, &:active, &:hover {
background-color: #b75a1c !important;
}
}
}
&-bg { background: $orange-100 !important; }
&-icon { color: $orange-100 !important; }
&-text { color: #b75a1c !important; }
&-text { color: $orange-1 !important; }
&-content {
--svg-color: #{$orange-100};
}
@include modal-text-input($orange-1);
&-option-disabled:hover {
.svg-icon { color: $orange-100 !important; }
.option-item-label { color: #b75a1c !important; }
}
&-habit-control-disabled:hover {
.habit-control { background: $orange-100 !important; }
.option-item-label { color: #b75a1c !important; }
.option-item-label { color: $orange-1 !important; }
}
@include habit-controls($gray-300, $orange-100);
}
}
@@ -113,42 +120,30 @@
&-control {
&-bg {
background: $yellow-100 !important;
&:hover {
.habit-control { background: #bf7d1a !important; }
.daily-todo-control { background: rgba(255, 255, 255, 0.72) !important; }
}
.habit-control:hover { background: rgba($yellow-1, 0.5) !important; }
.daily-todo-control:hover { background: rgba($white, 0.75) !important; }
}
&-bg-noninteractive {
background: $yellow-100 !important;
}
&-inner-habit { background: rgba(183, 90, 28, 0.32) !important; }
&-inner-daily-todo { background: $yellow-500 !important; }
&-checkbox { color: $yellow-100 !important; }
&-icon { color: #794b00 !important; }
&-bg-noninteractive { background: $yellow-100 !important; }
&-inner-habit { background: rgba($yellow-1, 0.25) !important; }
&-inner-habit-noninteractive { border: 1px solid rgba($yellow-1, 0.5) !important; }
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
&-checkbox, &-icon { color: $yellow-1 !important; }
}
&-modal {
&-bg {
background: $yellow-100 !important;
.form-control {
background: rgba(183, 90, 28, 0.4) !important;
&:focus, &:active, &:hover {
background-color: #bf7d1a !important;
}
}
}
&-bg { background: $yellow-100 !important; }
&-icon { color: $yellow-100 !important; }
&-text { color: #bf7d1a !important; }
&-text { color: $yellow-1 !important; }
@include modal-text-input($yellow-1);
&-option-disabled:hover {
.svg-icon { color: $yellow-100 !important; }
.option-item-label { color: #bf7d1a !important; }
}
&-habit-control-disabled:hover {
.habit-control { background: $yellow-100 !important; }
.option-item-label { color: #bf7d1a !important; }
&-content {
--svg-color: #{$yellow-100};
}
@include habit-controls($gray-300, $yellow-100);
}
}
@@ -156,32 +151,31 @@
&-control {
&-bg {
background: $green-100 !important;
&:hover {
.habit-control { background: rgba(26, 24, 29, 0.48) !important; }
.daily-todo-control { background: rgba(255, 255, 255, 0.72) !important; }
}
.habit-control:hover { background: rgba($black, 0.5) !important; }
.daily-todo-control:hover { background: rgba($white, 0.75) !important; }
}
&-bg-noninteractive {
background: $green-100 !important;
}
&-inner-habit { background: rgba(26, 24, 29, 0.24) !important; }
&-inner-daily-todo { background: #77f4c7 !important; }
&-checkbox { color: $green-10 !important; }
&-icon { color: #005737 !important; }
&-bg-noninteractive { background: $green-100 !important; }
&-inner-habit { background: rgba($black, 0.25) !important; }
&-inner-habit-noninteractive { border: 1px solid rgba($green-1, 0.5) !important; }
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
&-checkbox, &-icon { color: $green-1 !important; }
}
&-modal {
&-bg { background: $green-100 !important; }
&-icon { color: $green-10 !important; }
&-text { color: #1ca372 !important; }
&-text { color: $green-1 !important; }
&-content {
--svg-color: #{$green-100};
}
@include modal-text-input($green-1);
&-option-disabled:hover {
.svg-icon { color: $green-10 !important; }
.option-item-label { color: #1ca372 !important; }
}
&-habit-control-disabled:hover {
.habit-control { background: $green-10 !important; }
.option-item-label { color: #1ca372 !important; }
}
@include habit-controls($gray-300, $green-100);
}
}
@@ -189,32 +183,30 @@
&-control {
&-bg {
background: $teal-100 !important;
&:hover {
.habit-control { background: rgba(26, 24, 29, 0.48) !important; }
.daily-todo-control { background: rgba(255, 255, 255, 0.72) !important; }
}
.habit-control:hover { background: rgba($black, 0.5) !important; }
.daily-todo-control:hover { background: rgba($white, 0.75) !important; }
}
&-bg-noninteractive {
background: $teal-100 !important;
}
&-inner-habit { background: rgba(26, 24, 29, 0.24) !important; }
&-inner-daily-todo { background: #8dedf6 !important; }
&-checkbox { color: $teal-100 !important; }
&-icon { color: #005158 !important; }
&-bg-noninteractive { background: $teal-100 !important; }
&-inner-habit { background: rgba($black, 0.25) !important; }
&-inner-habit-noninteractive { border: 1px solid rgba($teal-1, 0.5) !important; }
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
&-checkbox, &-icon { color: $teal-1 !important; }
}
&-modal {
&-bg { background: $teal-100 !important; }
&-icon { color: $teal-100 !important; }
&-text { color: $teal-10 !important; }
&-text { color: $teal-1 !important; }
&-content {
--svg-color: #{$teal-100};
}
@include modal-text-input($teal-1);
&-option-disabled:hover {
.svg-icon { color: $teal-100 !important; }
.option-item-label { color: $teal-10 !important; }
}
&-habit-control-disabled:hover {
.habit-control { background: $teal-100 !important; }
.option-item-label { color: $teal-10 !important; }
}
@include habit-controls($gray-300, $teal-100);
}
}
@@ -222,32 +214,31 @@
&-control {
&-bg {
background: $blue-100 !important;
&:hover {
.habit-control { background: rgba(26, 24, 29, 0.48) !important; }
.daily-todo-control { background: rgba(255, 255, 255, 0.72) !important; }
}
.habit-control:hover { background: rgba($black, 0.5) !important; }
.daily-todo-control:hover { background: rgba($white, 0.75) !important; }
}
&-bg-noninteractive {
background: $blue-100 !important;
}
&-inner-habit { background: rgba(26, 24, 29, 0.24) !important; }
&-inner-daily-todo { background: $blue-500 !important; }
&-checkbox { color: $blue-100 !important; }
&-icon { color: #033f5e !important; }
&-bg-noninteractive { background: $blue-100 !important; }
&-inner-habit { background: rgba($black, 0.25) !important; }
&-inner-habit-noninteractive { border: 1px solid rgba($blue-1, 0.5) !important; }
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
&-checkbox, &-icon { color: $blue-1 !important; }
}
&-modal {
&-bg { background: $blue-100 !important; }
&-icon { color: $blue-100 !important; }
&-text { color: $blue-10 !important; }
&-text { color: $blue-1 !important; }
&-content {
--svg-color: #{$blue-100};
}
@include modal-text-input($blue-1);
&-option-disabled:hover {
.svg-icon { color: $blue-50 !important; }
.option-item-label { color: $blue-10 !important; }
}
&-habit-control-disabled:hover {
.habit-control { background: $blue-50 !important; }
.option-item-label { color: $blue-10 !important; }
}
@include habit-controls($gray-300, $blue-100);
}
}
@@ -255,42 +246,43 @@
&-control {
&-bg {
background: $purple-task !important;
&:hover {
.habit-control { background: rgba(26, 24, 29, 0.48) !important; }
.daily-todo-control { background: rgba(255, 255, 255, 0.72) !important; }
}
.habit-control:hover { background: rgba($black, 0.5) !important; }
.daily-todo-control:hover { background: rgba($white, 0.75) !important; }
}
&-inner-habit { background: rgba(26, 24, 29, 0.24) !important; }
&-inner-daily-todo { background: #ffffff80 !important; }
&-inner-habit { background: rgba($black, 0.25) !important; }
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
&-checkbox { color: $purple-task !important; }
}
&-modal {
&-bg { background: $purple-300 !important; }
&-icon { color: $purple-300 !important; }
&-text { color: $purple-200 !important; }
&-text { color: $black !important; }
&-content {
--svg-color: #{$purple-300};
}
@include modal-text-input($black);
&-option-disabled:hover {
.svg-icon { color: $purple-300 !important; }
.option-item-label { color: $purple-200 !important; }
}
&-habit-control-disabled:hover {
.habit-control { background: $purple-300 !important; }
.option-item-label { color: $purple-200 !important; }
}
@include habit-controls($gray-300, $purple-300);
}
}
&-reward {
&-control {
&-bg {
background: rgba(255, 217, 160, 0.32) !important;
.small-text { color: $orange-10 !important; }
background: rgba($yellow-100, 0.15) !important;
.small-text { color: $yellow-1 !important; }
&:hover { background: rgba(255, 217, 160, 0.48) !important; }
&:hover { background: rgba($yellow-100, 0.25) !important; }
}
&-bg-noninteractive {
background: rgba(255, 217, 160, 0.32) !important;
.small-text { color: $orange-10 !important; }
background: rgba($yellow-100, 0.15) !important;
.small-text { color: $yellow-1 !important; }
}
}
}
@@ -300,8 +292,12 @@
&-control {
&-bg { background: $gray-600; }
&-inner {
color: rgba(26, 24, 29, 0.12) !important;
border: 1px solid rgba(26, 24, 29, 0.12);
border: 1px solid $gray-300;
opacity: 0.75;
.negative, .positive {
color: $gray-200;
}
}
}
}
@@ -309,13 +305,14 @@
&-daily-todo {
&-control {
&-bg {
background: $gray-400 !important;
&:hover {
.daily-todo-control { background: rgba(255, 255, 255, 0.72) !important; }
}
background: $gray-200 !important;
.daily-todo-control:hover { background: rgba($white, 0.75) !important; }
}
&-inner { background: $gray-500 !important; }
&-checkbox { color: $gray-400 !important; }
&-bg-noninteractive {
background: $gray-200 !important;
}
&-inner { background: rgba($white, 0.5) !important; }
&-checkbox { color: $gray-10 !important; }
&-content {
background: $gray-600;
@@ -337,6 +334,24 @@
border-radius: 100px;
color: $white;
&-negative {
&-enabled {
padding-top: 13px;
}
&-disabled {
padding-top: 12px;
}
}
&-positive {
&-enabled {
padding-top: 9px;
}
&-disabled {
padding-top: 8px;
}
}
.svg-icon {
width: 10px;
height: 10px;
@@ -347,14 +362,10 @@
margin-top: 7px;
height: 12px;
width: 10px;
}
.positive {
margin-top: 9px;
}
.negative {
margin-top: 13px;
&.disabled {
color: $gray-10;
}
}
}
@@ -2,11 +2,11 @@
// possible values are: normal, fall, habitoween, thanksgiving, winter, nye, birthday, valentines, normal, summer
// more to be added on future seasons
$npc_market_flavor: 'normal';
$npc_quests_flavor: 'normal';
$npc_seasonal_flavor: 'normal';
$npc_timetravelers_flavor: 'normal';
$npc_tavern_flavor: 'normal';
$npc_market_flavor: 'summer';
$npc_quests_flavor: 'summer';
$npc_seasonal_flavor: 'summer';
$npc_timetravelers_flavor: 'summer';
$npc_tavern_flavor: 'summer';
$restingToolbarHeight: 40px;
$menuToolbarHeight: 56px;
+3
View File
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 14a5.96 5.96 0 0 1-3.327-1.011l8.316-8.316A5.96 5.96 0 0 1 14 8c0 3.309-2.691 6-6 6M8 2a5.96 5.96 0 0 1 3.327 1.011l-8.316 8.316A5.96 5.96 0 0 1 2 8c0-3.309 2.691-6 6-6m0-2a8 8 0 1 0 0 16A8 8 0 0 0 8 0"/>
</svg>

After

Width:  |  Height:  |  Size: 332 B

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="9" viewBox="0 0 14 9">
<path fill="none" fill-rule="evenodd" stroke="#878190" stroke-width="2.5" d="M13 1L7 7 1 1"/>
</svg>

After

Width:  |  Height:  |  Size: 187 B

+3
View File
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="16" viewBox="0 0 10 16">
<path fill="#878190" fill-rule="evenodd" d="M2 12c1.105 0 2 .895 2 2s-.895 2-2 2-2-.895-2-2 .895-2 2-2zm6 0c1.105 0 2 .895 2 2s-.895 2-2 2-2-.895-2-2 .895-2 2-2zM2 6c1.105 0 2 .895 2 2s-.895 2-2 2-2-.895-2-2 .895-2 2-2zm6 0c1.105 0 2 .895 2 2s-.895 2-2 2-2-.895-2-2 .895-2 2-2zM2 0c1.105 0 2 .895 2 2s-.895 2-2 2-2-.895-2-2 .895-2 2-2zm6 0c1.105 0 2 .895 2 2s-.895 2-2 2-2-.895-2-2 .895-2 2-2z"/>
</svg>

After

Width:  |  Height:  |  Size: 492 B

Some files were not shown because too many files have changed in this diff Show More