-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding the ability to Party Up! #24
Conversation
mpherman
commented
Jul 5, 2019
•
edited
Loading
edited
- This PR will allow users to create a shared group leaderboard or 'party' where they can compare multiple grails against each other.
- Each Party can be registered similarly to a Holy Grail sheet by clicking on the register button on the party home page (./party).
- There is a tab to Join the party and (if you are logged in as the owner) a tab to Manage the party.
- When a user Joins the Party, they are put onto a Pending User list and have to be approved by the party owner before they appear on the party scoreboard.
- Once a user is accepted to the party, whenever they save their holy grail a copy will be saved to the Party database for retrieval later.
- There is now a party button (indicated by a 1-2-3 ranking icon) in addition to the home button on the bottom left side of the screen to navigate between the sections of the website.
- This update also includes an ItemScore value, which is a different way to compare grails rather than just items remaining. The ItemScore for any item is relative to its rarity so a rare item (i.e. Tyrael's Might) will have a high ItemScore and a common item will have a very low ItemScore. This is a work in progress, but I wanted to float the idea out there to see if it has any merit. 😄
- Thanks @Nasicus for the "Party" naming idea. 😃
-Renamed 'Leaderboard' to 'Party' to keep more in theme with Diablo II gameplay 😄 -Fixed some additional issues from merging new packages -Resolved errors due to not properly sanitizing database inputs -Prettified code 😉
Thanks so much for this PR :) Really nice contribution!!! Some initial things which came to my mind:
=> btw if you disagree with some stuff, just tell me, I'm always open for discussions! One question: How did you prettify the code, i.e. did it prettify everything? (just because it seems the corresponding commit, has not a lot of changes :D ) As already discussed it will need some time until I can review this I guess :D Thanks again 👍 |
As for the other changes, they all seem straightforward so I'll get to them! |
- Renamed Join button to 'Party please! - Added a short explanation to party home page to let users know what this does. Room to expand this further. - Added info icon to ItemScore heading in data table with short explanation of what it does - Added `cursor: pointer` to refresh icon and data table headers to indicate they are clickable - Changed data-table back ot being called 'leaderboard' to avoid confusion - Changed App version to 2.0.0 - Added ChangeLog info for 2.0.0 update
- Added some more info about ItemScores to the party main page - Maybe a good idea to just list all the scores? Decided to just list a few examples for now. - And started using Hooks 😄
Hmm let the theme and the title be for now. I will think of something, it's ugly as hell anyway atm :D Great that you could already do all changes. I have some more suggestions:
I hope I can do the review this weekend.. :) |
Improve setting the theme & the title for the app
- Removed some unused routes and api functions - Removed password requirement for joining a party - When join is successful, change Party Please button text to => "Partied!" - When user begins typing into join address field then reset Join button image/text - Consolidate returning of party info from database controller - Removed "Save" button and made each user action in UserManagerRenderer resolve immediately. This way we can more easily handle errors for each user action. - Removed hasLocalChanges observer for parties as we no longer need to watch for these changes (due to removing Save button)
Done:
Also:
Todo:
|
- Added party theme => blue! - Added support for new theming functionality - Added a fix for switching areas through HomeButtom/PartyButton => to change theme correctly
Ok this should work now! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All in all really nice 👍
The one thing you really should do is the server side changes (imho) , we can also discuss them if you think the solution is not good or if you want it to do differntly.
Whenever I wrote issue
I meant to just create a github issue (task) so we have a clear todo list for stuff which we can do AFTER the initial release of your feature!
Concerning the setting of the theme an title:
|
- Changed the way party data is stored in database => move to grail entries and only keep a list of users in party db - Consolidated logic of user accept/deny/remove functions in PartyController - Pulled statistics data calculations out of GrailController into its own file - Really removed all party settings files - Fixed awkward sentences in party section and item score explanations - Tweaked the ItemScore values (Tyraels is now a nice round 1000 points) - Changed some text references from 'users' to 'members', sounds better - Cleaned up some poorly styled code (removed var use and non-camelcase)
👍👍👍 for the server changes! Exactly how I imagined it ;) |
This also fixes the bug that the party theme was not set, if you refreshed `/party/` (the login screen)
- Projects only partyData and address from grail documents when building return value for party get - Renamed statisticscontroller to more accurately describe its use - Removed update count from party database
Those last three issues should be fixed now 👍 |
Are you done with all comments (except issues)? Then I will have a quick look again this eve and probably test a little, so we're coming closer to a release :) |
Yes, only comments left will be opened as Issues after a release. Thanks for reviewing this so quickly! 😄 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.
Hey, sorry I'm late to the party (wink), but I have some thoughts on something:
Having to enter a password is silly indeed - good call. However, while it may not technically hurt anybody, it'd be nice if the owner doesn't make decisions for you and you're able to leave a party. |
Well if someone knows your grail address he can go looking at your stuff all the time anyway. |
Looking is one thing. Being forced into a group is not the same. |
Well, that's mostly the reason I initially had the password requirement. To stop people from being signed up to parties they don't want to be in. For now, with no requirements to sign people up to the party, whats stopping a party leader from re-adding someone after they leave? I suppose we would have to add some type of self-blacklist to stop you being signed up to a party after you leave. With a small community, I don't see it getting abused very much. You can always ask the party leader to remove you. Agree with @Nasicus currently, if it becomes a problem that people are abusing we can look into it. |
Maybe just make it so you can only join after requesting to do so and party admins can approve (or have a free for all policy) and maybe send invites, but not just add people on a whim. |
At the moment there are 6 parties in the db and only 4 of theme have member...of these 4, 3 at least are tests... so there may be only one party - and that's the one from @mpherman ;) You see I won't invest time to add this feature if it's not really required...if someone else wants to take a shot: feel free. However if we do something we should not do something where you have to enter your PW again in my opinion. |