vodle icon indicating copy to clipboard operation
vodle copied to clipboard

simplify first-time user's start

Open mensch72 opened this issue 2 years ago • 5 comments

When being invited to a poll, a first-time vodle user should be presented with the poll's welcome page immediately rather than with the login page. Such a user should be able to use the main parts of the voting gui without having to log in first. Only for transmitting their waps they should be required to log in.

In particular, the voting gui (=poll page) for a non-logged-in invited user should:

  • disable the "live results", "agreement details", "add option", and "delegate" buttons
  • present a privacy agreement checkbox as an overlay at the bottom of the page
  • disable sliders as long as the privacy agreement checkbox is not checked
  • show a banner at the top explaining that assigned waps are only getting effective after logging in, and presenting a two login buttons: "guest login" and "personal login"
  • show the login page as an overlay when clicking these buttons
  • do not submit any waps to the poll database before user is logged in

In addition, the login page could also be shortened by skipping the language selection whenever the browser specifies a preferred language that is supported by vodle.

mensch72 avatar Oct 04 '22 09:10 mensch72

Hello! Can I work on this one? 🚀

kata-kas avatar Oct 27 '22 19:10 kata-kas

Dear @catalin-casuneanu , of course! Thank you so much!

It will be some work I guess though...

The most relevant code parts are here (*.page.ts and *.page.html are relevant):

  • The current page first-time users see when clicking an invite link is the "login" page: https://github.com/pik-gane/vodle/tree/main/src/app/login
  • The page they should see instead first (currently they see this only after logging in) is the "joinpoll" page: https://github.com/pik-gane/vodle/tree/main/src/app/joinpoll
  • The voting page they are then getting to, which needs the largest modifications, is the "poll" page: https://github.com/pik-gane/vodle/tree/main/src/app/poll
  • We might have to make small adjustments to the underlying "Poll" class as well (e.g. to prevent submission of waps before login): https://github.com/pik-gane/vodle/blob/main/src/app/poll.service.ts

Some more things:

  • The checkbox, text, and link for the privacy statement in the overlay at the bottom should be the same as on the login page.
  • The login page for returning users should stay as it is, but we may be able to make the same code also work in an overlay to the poll page for first-time users, to avoid redundant code?

mensch72 avatar Oct 28 '22 09:10 mensch72

Thank you for the information! I'm experiencing some errors on setup, because I'm on a M1 Macbook, so I will uninstall node-sass (which is deprecated anyway) and install sass to fix it. I can then switch back before I create a PR, if you don't want to switch to sass instead of node-sass permanently. More details on the error here

kata-kas avatar Oct 28 '22 18:10 kata-kas

Good to know, hopefully that won't break any dependencies.

mensch72 avatar Oct 29 '22 06:10 mensch72

Happy holidays, @catalin-casuneanu ! Are you making progress? Do you need anything from me?

mensch72 avatar Dec 20 '22 16:12 mensch72