Files
habitica/website/client
Natalie 581271e930 Reporting challenges (#14756)
* initial commit

* update logic to display flagged challenges properly to users and admins

* add report button to pages 'My Challenges' and 'Discover Challenges'

* allow mods to view flagged messages on challengeDetail view

* update showing flagged challenges for group challenges

* update showing flagged challenges for a specific challenge

* disallow closing a flagged challenge

* update notes to reflect apiParams properly

* fix css spacing

* update challenge en locales

* fix spacing

* update title of closeChallengeModal

* let user know flagged challenges cannot be cloned

* fix linting errors

* ensure flagged challenges cannot be declared with a winner and cloned via API

* define a non user challenge properly

* fix logic to check for a nonParticipant and nonLeader user when grabbing flagged challenges

* fix linting of max character of 100 / line

* remove reporting on 'my challenges' and 'discover challenges'

* WIP(challenges): disable clone button and add notes to new functions

* WIP(challenges): smol changes

* WIP(challenges): clone button only disabled for admin and flagged user; other users can still clone but the flag goes along with the clone

* WIP(challenges): stop flags carrying over on cloned challenges

* WIP(challenges): typo fixing, undoing a smol change

* fix(challenges): improved query logic for flags

* WIP(challenges): more smol changes

* fix(challenges): refactor queries

* fix(challenges): correct My Challenges tab logic

* WIP(challenges): fix clone button state

* WIP(challenges): really fixed clone button & clear flags from clones

* WIP(challenge): implement new design for reporting modal

* WIP(challenge): making things pretty

* WIP(challenge): conquering the close button

* WIP(challenge): fixin some spacing

* WIP(challenge): smol fix

* WIP(challenge): making sure the button is actually disabled

* WIP(challenge): fix blockquote css

* fix(tests): no private guilds

* fix(lint): curlies etc

* fix(test): moderator permission

* fix(lint): sure man whatever

* fix(lint): bad vim no tabby

* fix(test): permissions not contrib lol

* fix(challenges): add icon and fix leaky CSS

* fix(challenge): correct clone button behavior

---------

Co-authored-by: Julius Jung <me@matchajune.io>
Co-authored-by: SabreCat <sabe@habitica.com>
Co-authored-by: Sabe Jones <sabrecat@gmail.com>
2023-10-24 09:24:56 -05:00
..
2023-06-07 13:33:58 -04:00
2023-10-24 09:24:56 -05:00
2019-10-01 11:44:38 +02:00
2023-10-03 13:30:44 -05:00
2023-10-03 13:30:44 -05:00
2019-10-15 15:32:53 +02:00
2023-10-03 13:30:44 -05:00
2020-01-12 19:34:40 +01:00

Habitica Client

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Run your unit tests

npm run test:unit

Lints and fixes files

npm run lint

Customize configuration

See Configuration Reference.

Storybook

Storybook is mainly used while working on UI-Components to see changes faster instead of using the website.

Start Storybook

npm run storybook:serve

This will start the storybook process, every *.stories.js-File is searched and added to the storybook overview.

Storybook Worklow

Usually when you working on component-name.vue you also create a component-name.stories.js file.

Example of the stories structure - Storybook Docs - CountBadge

Each function or example of this component will be put after storiesOf('Your Component', module), in a separate .add('function of component', ...

Storybook Build

After each client build, storybook build is also triggered and will be available in dist/storybook

Vue Structure

Currently pages and components are mixed in /src/components this is not a good way to find the files easy.

Thats why each changed / upcoming page / component should be put in either /src/components or in the /src/pages directory.

Inside Pages, each page can have a subfolder which contains sub-components only needed for that page - otherwise it has to be added to the normal components folder.

At the end of all the changes - the components should only contain components needed between all pages