Giter VIP home page Giter VIP logo

time-tracking-dashboard's Introduction

Frontend Mentor - Time tracking dashboard solution

This is a solution to the Time tracking dashboard challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Note: Delete this note and update the table of contents based on what sections you keep.

Overview

The challenge

Users should be able to:

  • View the optimal layout for the site depending on their device's screen size
  • See hover states for all interactive elements on the page
  • Switch between viewing Daily, Weekly, and Monthly stats

Screenshot

image

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • CSS Grid
  • Mobile-first workflow
  • React - JS library

What I learned

I learn a lot about CSS Grid layouts and im very proud of the dinamic use of mi card component to render the 6 cards (work, play, study. etc)

export const TimeCard = (props) => {
  const timeFrameSelect = props.timeFrameSelect;
  console.log(timeFrameSelect);
  return data.map((time) => {
    const classNameTitle = time.title.split(" ").join("-").toLowerCase();
    let timeFrame;
    timeFrameSelect == "daily"
      ? (timeFrame = time.timeframes.daily)
      : timeFrameSelect == "weekly"
      ? (timeFrame = time.timeframes.weekly)
      : (timeFrame = time.timeframes.monthly);
    return (
      <div key={time.title} className={`time-tracking--card ${classNameTitle}`}>
        <article className="time-tracking--article-body">
          <header className="time-tracking--article-header">
            <h2>{time.title}</h2>
            <a type="" target={"#"}>
              dots
            </a>
          </header>
          <div className="time-tracking--article-timeframe">
            <p className="time-tracking--article-current">
              {timeFrame.current}hrs
            </p>
            <p className="time-tracking--article-previous">
              Last{" "}
              {timeFrameSelect == "daily"
                ? "day"
                : timeFrameSelect == "weekly"
                ? "week"
                : "month"}{" "}
              - {timeFrame.previous}hrs
            </p>
          </div>
        </article>
      </div>
    );
  });
};

Useful resources

Author

time-tracking-dashboard's People

Contributors

rolandoparadapuig avatar

Watchers

 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.