diff --git a/website/client/src/components/achievements/testing.vue b/website/client/src/components/achievements/testing.vue deleted file mode 100644 index 6e04e7bd0e..0000000000 --- a/website/client/src/components/achievements/testing.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - diff --git a/website/client/src/components/achievements/testingletiant.vue b/website/client/src/components/achievements/testingletiant.vue deleted file mode 100644 index 29fe48f898..0000000000 --- a/website/client/src/components/achievements/testingletiant.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - diff --git a/website/client/src/components/chat/copyAsTodoModal.vue b/website/client/src/components/chat/copyAsTodoModal.vue index 89ba5e1699..3de82eb475 100644 --- a/website/client/src/components/chat/copyAsTodoModal.vue +++ b/website/client/src/components/chat/copyAsTodoModal.vue @@ -50,7 +50,6 @@ import notificationsMixin from '@/mixins/notifications'; import Task from '@/components/tasks/task'; import taskDefaults from '@/../../common/script/libs/taskDefaults'; -import { TAVERN_ID } from '@/../../common/script/constants'; const baseUrl = 'https://habitica.com'; @@ -89,9 +88,7 @@ export default { createTask: 'tasks:create', }), groupPath () { - if (this.groupId === TAVERN_ID) { - return `${baseUrl}/groups/tavern`; - } if (this.groupType === 'party') { + if (this.groupType === 'party') { return `${baseUrl}/party`; } return `${baseUrl}/groups/guild/${this.groupId}`; diff --git a/website/client/src/components/header/menu.vue b/website/client/src/components/header/menu.vue index 87747b7dad..ecd2cc4288 100644 --- a/website/client/src/components/header/menu.vue +++ b/website/client/src/components/header/menu.vue @@ -194,48 +194,6 @@ > {{ $t('party') }} -
  • -
    -
    -
    - - {{ $t('guilds') }} - -
    - - {{ $t('tavern') }} - - - {{ $t('myGuilds') }} - - - {{ $t('guildsDiscovery') }} - -
    -
  • {{ $t('requestFeature') }} - {{ $t('contributing') }} - - @@ -127,8 +125,6 @@ import chooseClass from './achievements/chooseClass'; import armoireEmpty from './achievements/armoireEmpty'; import questCompleted from './achievements/questCompleted'; import questInvitation from './achievements/questInvitation'; -import testing from './achievements/testing'; -import testingletiant from './achievements/testingletiant'; import rebirthEnabled from './achievements/rebirthEnabled'; import contributor from './achievements/contributor'; import invitedFriend from './achievements/invitedFriend'; @@ -269,8 +265,6 @@ export default { armoireEmpty, questCompleted, questInvitation, - testing, - testingletiant, rebirthEnabled, contributor, loginIncentives, @@ -300,7 +294,6 @@ export default { // general notifications 'CRON', 'FIRST_DROPS', - 'GUILD_PROMPT', 'LOGIN_INCENTIVE', 'NEW_CONTRIBUTOR_LEVEL', 'ONBOARDING_COMPLETE', @@ -705,14 +698,6 @@ export default { this.$root.$emit('bv::show::modal', 'first-drops'); } break; - case 'GUILD_PROMPT': - // @TODO: I'm pretty sure we can find better names for these - if (notification.data.textletiant === -1) { - this.$root.$emit('bv::show::modal', 'testing'); - } else { - this.$root.$emit('bv::show::modal', 'testingletiant'); - } - break; case 'REBIRTH_ENABLED': this.$root.$emit('bv::show::modal', 'rebirth-enabled'); break; diff --git a/website/client/src/components/static/features.vue b/website/client/src/components/static/features.vue index 747051fb6b..1c95e5c26a 100644 --- a/website/client/src/components/static/features.vue +++ b/website/client/src/components/static/features.vue @@ -31,7 +31,6 @@
    -

    {{ $t('marketing2Lead1Title') }}

    {{ $t('marketing2Lead1') }}

    diff --git a/website/common/locales/en/front.json b/website/common/locales/en/front.json index 434ea56177..a9d16b7b42 100644 --- a/website/common/locales/en/front.json +++ b/website/common/locales/en/front.json @@ -33,7 +33,7 @@ "marketing1Lead2": "Improve your habits to build up your avatar. Show off the sweet gear you've earned!", "marketing1Lead3Title": "Find Random Prizes", "marketing1Lead3": "For some, it's the gamble that motivates them: a system called \"stochastic rewards.\" Habitica accommodates all reinforcement and punishment styles: positive, negative, predictable, and random.", - "marketing2Header": "Compete With Friends, Join Interest Groups", + "marketing2Header": "Compete with Friends", "marketing2Lead1Title": "Social Productivity", "marketing2Lead1": "While you can play Habitica solo, the lights really turn on when you start collaborating, competing, and holding each other accountable. The most effective part of any self-improvement program is social accountability, and what better an environment for accountability and competition than a video game?", "marketing2Lead2Title": "Fight Monsters", diff --git a/website/common/locales/en/groups.json b/website/common/locales/en/groups.json index 23a84f5243..fdffc61d24 100644 --- a/website/common/locales/en/groups.json +++ b/website/common/locales/en/groups.json @@ -251,7 +251,7 @@ "fetchRecentMessages": "Fetch Recent Messages", "like": "Like", "liked": "Liked", - "inviteToGuild": "Invite to Guild", + "inviteToGuild": "Invite to Group", "inviteToParty": "Invite to Party", "inviteEmailUsername": "Invite via Email or Username", "inviteEmailUsernameInfo": "Invite users via a valid email or username. If an email isn't registered yet, we'll invite them to join.", diff --git a/website/common/locales/en/messages.json b/website/common/locales/en/messages.json index 79d98479a9..9c418208e1 100644 --- a/website/common/locales/en/messages.json +++ b/website/common/locales/en/messages.json @@ -59,5 +59,6 @@ "messageMissingDisplayName": "Missing display name.", "reportedMessage": "You have reported this message to moderators.", "canDeleteNow": "You can now delete the message if you wish.", - "newsPostNotFound": "News Post not found or you don't have access." + "newsPostNotFound": "News Post not found or you don't have access.", + "featureRetired": "This feature is no longer supported." } diff --git a/website/common/script/libs/achievements.js b/website/common/script/libs/achievements.js index d02f8b2c2a..380e2b481b 100644 --- a/website/common/script/libs/achievements.js +++ b/website/common/script/libs/achievements.js @@ -182,7 +182,6 @@ function _getBasicAchievements (user, language) { _addSimple(result, user, { path: 'partyUp', language }); _addSimple(result, user, { path: 'partyOn', language }); - _addSimple(result, user, { path: 'joinedGuild', language }); _addSimple(result, user, { path: 'royallyLoyal', language }); _addSimple(result, user, { path: 'joinedChallenge', language }); _addSimple(result, user, { path: 'invitedFriend', language }); @@ -352,6 +351,10 @@ function _getSpecialAchievements (user, language) { _addSimple(result, user, { path: 'groupsBeta2022', language }); } + if (user.achievements.joinedGuild) { + _addSimple(result, user, { path: 'joinedGuild', language }); + } + return result; } diff --git a/website/server/controllers/api-v3/chat.js b/website/server/controllers/api-v3/chat.js index c3922bb843..d4793a8fb3 100644 --- a/website/server/controllers/api-v3/chat.js +++ b/website/server/controllers/api-v3/chat.js @@ -130,6 +130,10 @@ api.postChat = { const group = await Group.getGroup({ user, groupId }); + if (group.type !== 'party' && !(group.purchased && group.purchased.plan.customerId)) { + throw new BadRequest(res.t('featureRetired')); + } + // Check message for banned slurs if (group && group.privacy !== 'private' && textContainsBannedSlur(req.body.message)) { const { message } = req.body;