GithubHelp home page GithubHelp logo

csgonades-client's People

Contributors

dependabot[bot] avatar f4bio avatar jwright707 avatar kukiezi avatar mellet avatar nermin99 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

csgonades-client's Issues

Nade Tick & Team filter carusell

Instead of separate buttons, have carousels where you can click to select team and tick.

Props to this component should be something like:

type Props = {
  selected: Tickrate;
  options: []Tickrate;
}

Todo

  • Create component
  • Storybook to show component
  • Replace old tickrate and team filter with new component

Design

Screenshot 2021-05-10 at 21 58 57

Active circle color: theme.colors.PRIMARY
Passive circle color: theme.colors.buttonBorder
Border color: theme.colors.buttonBorder
Text colors: theme.colors.buttonDefaultIcon

Mobile filter horizontal

On mobile, use a horizontal filter bar for more space.

At the moment on mobile the filter bar is vertical as shown:
Screenshot 2021-01-15 at 13 17 59

Probably just add some media query to FilterBar.

Sort suggested nades

In MapViewSuggested add the following:

  • Button group for selecting sorting method
    • Score
    • Favorites
    • Age
  • React hook that takes in a list of nades and based on the sorting method returns nades in that sorting method
  • (Later) Persist selected method

Preserve Suggested Nades when clicking back on Nade Page

If you do the following:

  • Click nade cluster
  • Displays list of suggested nades
  • Click on a nade
  • Takes you to /nades/[nadeId]
  • Click back button

Currently the suggested nade view will be closed after clicking back.
I think it is a better user experience to have it display the nades you previously viewed.

At the moment the suggested nades are only saved locally in useOnNadeClusterClick.
To get it to work the suggested nades should be stored in redux state so it's not destroyed on page transition.

There is already an action to add suggested nade in the slice.
Probably need to add a action to clear the suggested nades.

So just swap out the useState in useOnNadeClusterClick and replace it with redux actions and state.

Edit Suggestions

Instead of allowing only the creator of a nade to edit the nade, any signed in user can suggest edits that will be accepted/denied by a moderator.

Needs backend change.

Nade Approval widget

Allow moderators to quickly approve / decline nades.
Also auto generate slugs.

  • Video has no clutter
  • Video has good crosshair
  • Lineup image good
  • Result image good

OS Darkmode detect

Check users OS preference if they prefer dark mode. Default to that unless explicitly changes by user.

Nade page back button

Remember last page of navigation.
Use history back if page was a map page. Otherwise use hard link.

This will keep the scroll history when navigating back.

Rotate Map for better reading

Map rotation should be optional to help users read the map locations.
(Have code ready to PR, just need permissions to create PR)

NadeFilter disable grenade button

If there are no nades for a specific type (smoke/flash/molotov/grenade) then the button to filter by that type should not be visible.

The check should be in this component.
Will need to pass down the count from different nades.

User Settings

Allow users to control the following settings:

  • Expanded / Compact filter
  • HD/SD preference on video
  • Tick preference

Fake Admin in developement

Add a button only visible in developement that sets the currently signed in user to admin so all pages and options are available in developement.

This will not allow the user to do any calls to the API that require admin privileges, but at least see some hidden pages.

Full screen Nade page

When navigating to a nade page, make it full screen.
Layout for nade page needs to be different, without header and sidebar.
Either move layout to pages, or do a check in layout to render custom one for nade page

Help text for markdown in nade description

Add hints for how you can format text with markdown in the description on edit nade and new nade page.
Probably best to add a (?) icon that when clicked shows the help for markdown.

Include:

  • bold
  • italic
  • links

Use SVGs for map icons

Need to swap out low res icons for smoke, flash, molotov etc.
As I don't have the Illustrator files I need to redraw them.

New map overlay images

Create new map overlay images with transparent background so it works on both light/dark mode.

At the moment the map overlay images have a set dark background color.

Filter by CT/T

Allow filtering nades for CT/T/Both

  • Default to Both
  • Clicking CT shows CT nades
  • Clicking the same option again resets it to Both

Changes needed

  • New key in NadeModel on frontend: teamSide
  • Include selector in create nade page
  • Include selector in update nade page
  • Add button to filter by team

Nade position copy

Add setpos coordinates to nades that can be copied to clipboard to teleport to nade position.

Changes needed:

  • New field on nade model with coordinates (backend)
  • New nade/Edit nade page input field to set this position
  • Icon to the right of video for copy'ing coordinates

Levels

Allow users to gain points by completing tasks such as:

  1. Adding a nade
  2. Getting a nade improvement accepted
  3. First 10 nades favorited
  4. Having csgonades.com in Steam username

Gaining points will increase your level (names TBA) and perhaps gain perk.

1 and 3 can be retrospectively calculated, but 2 must be enabled once that feature is enabled.

Needs backend change.

Typo in READ.md

Currently -> Sarting dev server
Desired Text -> Starting dev server

I would like to work on this if this is a valid issue @mellet .
Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.