Reported on WhatsApp
Follow up Bug Report
If a user does not select a timezone(leaves drop down in default loaded state) and makes an error while filling out the required fields of the create account form (i.e. incorrect username), the Timezone component stops the form from reporting out to the user that they have made an error. If the user then updates the timezone component to a time zone, the form will report out properly that they have created an error.
@jambu, where is the full code? I'd love to use it, if it works. Thanks!
Thanks for your contribution, Jambu.
I'd appreciate a link to your repository, though.
Because coding "something similar" is a bit too vague for most of us, I guess. 😵
I made these changes to the source files so that the timezone is automatically set by the user's local timezone. I checked out the repo from github to branch and commit these, but it didn't have any of these files... Well this is not letting me put all the changes I made. But something like this:
I did something similar to this:
const local_timezone = Intl.DateTimeFormat().resolvedOptions().timeZone; var select = $('.timezone-dropdown'); var option = select.find("option:contains("+ local_timezone +")"); var optionTop = option.offset().top var selectTop = select.offset().top; select.scrollTop(select.scrollTop() + (optionTop - selectTop)); option.prop('selected', true);
(just to be clear, this was about time ZONES, not the exact city a user may be located in. Z-Man's response is correct that it's not easy to determine that. If you prefer the UTC offset of your time ZONE rather than the city usually associated with that timezone as my example displays, that's easy enough to find also, just read the stackoverflow post I linked)
(in reference to my last post)
since Goodwin specifically asked why users should have to go through the stress of locating their correct time zone, you could do something like the following:
easy peasy. alternatively you can give the user option to update their current timezone in their profile settings. I really don't see what's so difficult about this.
const tz = Intl.DateTimeFormat().resolvedOptions().timeZone; console.log(tz);
obviously its not going to be possible with a server side lang like php because timezone is set on the client side.
Hope that helps, Estee and Goodwin.