Coder Social home page Coder Social logo

react-calendar-challenge's Introduction

React Calendar

Let us discover the ancient art of the lost calendar... calendar-man

Structure of Calendar state is designed to make it simple to update in place

Schema

{
  "day": {
    "hour": {
      "events": [{
        {
          "name":"Event Name",
          "duration":1
        }
      }]
    }
  },
}

Example

{
  "tuesday":{
    "9:00":[],
    "11:00":[],
    "12:00":[],
    "13:00":[],
    "14:00":[],
    "15:00":[],
    "16:00":[],
    "17:00":[
      {
        "name": "Secret Valentine",
        "duration": 1,
      }
    ],
  }
}

How To Run App

yarn install && yarn dev

Picture of outcome

calendar

TODOs

If meeting/event is more or less than one hour

  • Set a max height on the event table data cell

  • Write inline css to dynamically increase the size to determine where it falls on the page.

  • For example

    • table data height is: 100px

    • event is 1.5 hours (90 mins) One normal 1 hour event means that each minute occupies (100/60)px of height

    • Simply multiply the duration of the event in minutes by the formula

    • 90 x (100/60) = 150px -> height pixels required

    • This will cause the event to overflow into the next row.

    • To ensure overflow I'll need to set a maximum height for the container otherwise it will likely expand

Ensuring no overlaps on longer duration meetings

  • This will likely require event-aware dynamic z-index and flexing.

react-calendar-challenge's People

Contributors

adrian-samuel avatar

Watchers

 avatar  avatar

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.