Giter VIP home page Giter VIP logo

zonestamp's Introduction

ZoneStamp!

ZoneStamp is a timezone converter for online events. It's simple, modern, and easy to use. Zonestamp is currently maintained by Derk-Jan Hartman but was orginally written by Raquel M. Smith. The current version runs at https://zonestamp.toolforge.org.

If you run online events with an audience located across different timezones, ZoneStamp makes it easy to create a "Stamp" for the date and time the event will be happening, then send the link for that stamp to your audience. When clicked, the ZoneStamp will automatically show the user what time the event will be happening in their timezone.

ZoneStamp is great for emails - instead of listing three different timezones that don't cover your whole audience, just list one and provide the link to the Stamp.

Also, it's free! Thanks for using ZoneStamp!

zonestamp's People

Contributors

bd808 avatar chicocvenancio avatar hartman avatar raquelmsmith avatar tgr avatar waldyrious avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

zonestamp's Issues

Switch from moment to Intl, date-fns or luxon

I want to rewrite this whole thing and get rid of the moment layer.

There are various possibilities, like pure Intl, or date-fns or luton.
The hard part is finding widgets in the associated programming framework that make use of the same frameworks.

Another missing piece was having a list of timezones, but apparently these can be fetched with Intl by using Intl.supportedValuesOf('timeZone')

We lose the timezone name in that case, but that might be acceptable. Another workaround for that:

new Date().toLocaleDateString(undefined, {day:'2-digit',timeZoneName: 'long' }).substring(4);

react-scripts seems abandoned by facebook

There are multiple react-scripts vuln right now. the package doesnt seem to have been updated for over a year (possibly related to ukraine war?).

Should consider ejecting from the tool, and have all dependencies as direct dependencies.

"Make your own zoneStamp" timestamp should floor() the seconds

Steps to reproduce

What happens?

  • URL contains a timestamp that, when converted back to human readable time, ends in a random number of seconds, such as :37 seconds

What should happen instead?

  • URL contains a timestamp that, when converted back to human readable time, ends in :00 seconds

Make 24h/12h option sticky

Could the switch from a 12 to a 24 hour clock please be made sticky?
This would probably require a cookie. This would work similar as the language settings cookie that is given as an example of the kind of cookie that doesn't require permission in this guide on the gdpr.

request by user @VDK

Add iCal option

Create an option to download the time as an ics iCal event

Could also use several arguments from the url like a description ?

Warning: componentWillMount has been renamed, and is not recommended for use.

I see this in the browser console:

Warning: componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.

* Move code with side effects to componentDidMount, and set initial state in the constructor.
* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.

Please update the following components: BrowserRouter, Route, Router, Switch
react-dom.development.js:88 Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.

* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.

Please update the following components: Route, Router, Switch

Invalid date

Hi! I'm trying to create a new Zonestamp, but when I enter the future date and time, the response is 'invalid date.' My colleague is having the same problem. I've been using the tool reliably for a couple of years and this is the first time I've encountered this issue. Thanks for your help!

Module.createRequire is not a function

Trying to set up zonestamp locally (via git clone; npm install; npm start using node 10.19.0, npm 6.14.4) resulted in

Html Webpack Plugin:
  Error: Child compilation failed:
  Module.createRequire is not a function
  
  - child-compiler.js:169 childCompiler.runAsChild
    [zonestamp]/[html-webpack-plugin]/lib/child-compiler.js:169:18
  
  - Compiler.js:551 finalCallback
    [zonestamp]/[webpack]/lib/Compiler.js:551:5
  
  - Compiler.js:577 compile
    [zonestamp]/[webpack]/lib/Compiler.js:577:11
  
  - Compiler.js:1196 hooks.afterCompile.callAsync.err
    [zonestamp]/[webpack]/lib/Compiler.js:1196:17
  
  
  - Hook.js:18 Hook.CALL_ASYNC_DELEGATE [as _callAsync]
    [zonestamp]/[tapable]/lib/Hook.js:18:14
  
  - Compiler.js:1192 compilation.seal.err
    [zonestamp]/[webpack]/lib/Compiler.js:1192:33
  
  - Compilation.js:2787 finalCallback
    [zonestamp]/[webpack]/lib/Compilation.js:2787:11
  
  - Compilation.js:3092 hooks.afterSeal.callAsync.err
    [zonestamp]/[webpack]/lib/Compilation.js:3092:11

Calendar timestamps are broken

Given this zonestamp:

https://zonestamp.toolforge.org/1696521600?enddate=1696525200&name=MCDC+community+open+session&description=Zoom+link:+https://wikimedia.zoom.us/meeting/register/tZcsc-uvrz4pHNyicRTaLYxiGbg1J3Shub9i

the calendar should generate an UTC 16h-17h, but actually it's 10h-10h (the day is correct).

The .ics has
DTSTART;TZID=Etc/GMT:20231005T100000
DTEND;TZID=Etc/GMT:20231005T100000

and also
DTSTART:19700101T000000
which, I don't know much about ics but seems wrong, but I guess that's an unrelated issue with the calendar widget itself.

Upgrade react-moment

ebfceda

We had to downgrade because the newer version didn't seem to detect changes to the state of the timezone.

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.