123

Pen Settings

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URL's added here will be added as <link>s in order, and before the CSS in the editor. If you link to another Pen, it will include the CSS from that Pen. If the preprocessor matches, it will attempt to combine them before processing.

+ add another resource

You're using npm packages, so we've auto-selected Babel for you here, which we require to process imports and make it all work. If you need to use a different JavaScript preprocessor, remove the packages in the npm tab.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Use npm Packages

We can make npm packages available for you to use in your JavaScript. We use webpack to prepare them and make them available to import. We'll also process your JavaScript with Babel.

⚠️ This feature can only be used by logged in users.

Code Indentation

     

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

HTML Settings

Here you can Sed posuere consectetur est at lobortis. Donec ullamcorper nulla non metus auctor fringilla. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.

            
              <h1><span class="tomato"></span>Pomodoro Clock<span class="tomato"></span></h1>
<h2>freeCodeCamp project</h2>

<div class="clock pauser">
  <div class="clock-content">
    <span class="clock-text">
      <button class="subtract-time">-</button><span class="remaining-time"></span><button class="add-time">+</button>
    </span>
    <button class='timer start'></button>
  </div>
  <span class="paused-indicator"></span>
</div>

<p><a href="https://en.wikipedia.org/wiki/Pomodoro_Technique">Wikipedia entry on the Pomodoro Technique</a></p>
<p>When timer is running, click anywhere within the circle (outside the "Reset" button) to pause or resume the timer.</p>

<audio id="end-sound" src="data:audio/mp3;base64,SUQzAwAAAAAPdlRZRVIAAAALAAAB//4yADAAMQAxAFRQRTEAAAA3AAAB//5NAGkAawBlACAASwBvAGUAbgBpAGcAIABTAG8AdQBuAGQAQgBpAGIAbABlAC4AYwBvAG0AVElUMgAAABUAAAH//lMAaABpAHAAIABCAGUAbABsAENPTU0AAAAkAAABAAAAAAD//lMAbwB1AG4AZABCAGkAYgBsAGUALgBjAG8AbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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" />
            
          
!
            
              /***************************** 
 GENERAL
**************************** */
body {
  font-family: sans-serif;
  text-align: center;
}

h2 {
  font-size: 18px;
  font-style: italic;
  margin-top: -10px;
}

a {
  text-decoration: none;
}

.tomato {
  display: inline-block;
  color: #700;
  margin-right: 10px;
  margin-left: 10px;
}

.tomato:before {
  content: '\1f345';
}

/***************************** 
 CLOCK
**************************** */
.clock {
  position: relative;
  display: inline-block;
  text-align: center;
  border-radius: 50%;
  border: 1px solid #333;
  margin-top: 10px;
  z-index: 0;
}

.clock-content {
  position: relative;
  top: -25px;
  z-index: 2;
}

.clock-text { 
  padding: 150px;
  display: inline-block;
  font-size: 42px;
  z-index: 3;
}

.clock-text button {
  font-size: 42px;
  background-color: transparent;
  display: inline-block;
  width: 50px;
  position: absolute;
}

.paused-indicator {
  position: absolute;
  top: 50px;
  transform: translateX(-50%);
  font-size: 130px;
  opacity: 0.0;
  transition: opacity 0.5s;
  color: #ddd;
  z-index: 1;
}

.clock.paused .paused-indicator,
.clock.play .paused-indicator {
  opacity: 0.6;
}

.clock.paused .paused-indicator:after {
  content: '\275a\275a';
}

.clock.play .paused-indicator:after {
  content: '\25b6';
}

/***************************** 
 BUTTONS
**************************** */
button {
  border-radius: 5px;
}

button.timer {
  position: absolute;
  display: block;
  width: 40%;
  top: 60%;
  left: 30%;
  margin-top: 20px;
  padding: 20px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: bold;
  transition: color 0.3s, background-color 0.3s;
}

button.timer:hover {
  background-color: #333;
  color: #eee;
}

button.start:before {
  content: 'Start';
}

button.reset:before {
  content: 'Reset';
}

button.add-time,
button.subtract-time {
  transition: box-shadow 0.3s;
}

button.add-time:hover,
button.subtract-time:hover {
  box-shadow: 3px 3px 10px #333;
}

button.add-time {
  right: 80px;
  margin-left: 20px;
}

button.subtract-time {
  left: 80px;
  margin-right: 20px;
}

            
          
!
            
              /*
Generic minute-precision timer.

Exposes the following methods:

  getCurrentTimeStr  - Remaining time as formatted string (e.g. "04:59")
  getPercentComplete - Return percent complete, as float.
  getTimerLength     - Return total number of minutes timer set for
  isExpired          - Return boolean indicating whether timer has reached 0:00 and ended.
  pause              - Pauses the timer (resume is possible).
  reset              - Resets the timer (to timerLength), clearing any progress
  resume             - Resumes timer from paused state (actually an alias to start()).
  setTimerLength     - Set total number of minutes timer should run
  start              - Starts timer initially
*/
var timer = (function () {
  var timerLength; // In minutes
  var minutes;
  var seconds;
  var intervalId;
  var paused = false;
  
  function end() {
    stop();
    minutes = 0;
    seconds = 0;
  };
  
  function getCurrentTimeStr() {
    return leftPadNum(minutes) + ':' + leftPadNum(seconds);
  }
  
  function getTimerLength() {
    return timerLength;
  }
  
  function leftPadNum(n) {
    return ("0" + n).slice(-2);
  };
  
  function reset() {
    stop();
    minutes = timerLength;
    seconds = 0;
  }
  
  function setTimerLength(min) {
    timerLength = Math.min(Math.max(min, 0), 99);
    reset();
  }
  
  function start() {
    intervalId = setInterval(step, 1000);
  }
  
  function step() {
    seconds -= 1;

    if (seconds < 0) {
      seconds = 59;
      minutes -= 1;
    }
    
    if (minutes < 0) {
      end();
    }
  }
  
  function stop() {
    clearInterval(intervalId);
  }

  setTimerLength(25);
  
  return {
    'getCurrentTimeStr' : getCurrentTimeStr,
    'getPercentComplete' : function() {
      return 100 * (1 - ((minutes * 60 + seconds) / (timerLength * 60)));
    },
    'getTimerLength' : function() {
      return timerLength;
    },
    'isExpired' : function() {
      return minutes == 0 && seconds == 0;
    },
    'isPaused' : function() {
      return paused;
    },
    'pause' : function() {
      stop();
      paused = true;
    },
    'reset' : reset,
    'resume' : function() {
      start();
      paused = false;
    },
    'setTimerLength' : setTimerLength,
    'start' : start,
  }
})();

/* 
Controls the UI elements of a Pomodoro clock, making use of the timer object defined above for the timing elements.

Exposes the following methods:
  addMinute      - Add 1 minute to total timer length.
  init           - Initialize timer UI. Should be called immediatlely after document ready.
  isRunning      - Return Boolean indicating whether timer is currently running or stopped/paused/finished.
  pause          - Temporarily stop timer (can be resumed).
  reset          - Reset timer to initial state.
  resume         - Resume timer from paused state.
  start          - Starts timer.
  subtractMinute - Subtract 1 minute from total timer length
*/
var pomodoroClockUI = (function() {
  var fillColor = '#99ccff';
  var bgColor = 'white';
  var intervalId = null;
  
  function addMinute() {
    timer.setTimerLength(timer.getTimerLength() + 1);
    updateTimeStr();
  }
  
  function init() {
    updateTimeStr();
  }
  
  function pause() {
    timer.pause();
    stop();
    $('.pause').addClass('resume').removeClass('pause');
  }
  
  function reset() {
    timer.reset();
    stop();
    $('button.reset').addClass('start').removeClass('reset');
    $('button.add-time, button.subtract-time').css('visibility', 'visible');
    $('.clock').css('background-image', 'none');
    updateTimeStr();
  }
  
  function resume() {
    timer.resume();
    intervalId = setInterval(step, 1000);
    $('button.resume').addClass('pause').removeClass('resume');
    $('.pauser').prop("disabled", false);
  }
  
  function start() {
    timer.start();
    intervalId = setInterval(step, 1000);
    $('button.start').addClass('reset').removeClass('start');
    $('button.add-time, button.subtract-time').css('visibility', 'hidden');
    $('.pauser').prop("disabled", false);
  }
  
  function step() {
    updateTimeStr();
    updateVisualProgress();
    
    if (timer.isExpired()) {
      stop();
      $('#end-sound').get(0).play();
    }
  }
  
  function stop() {
    clearInterval(intervalId);
    intervalId = null;
  }
  
  function subtractMinute() {
    timer.setTimerLength(timer.getTimerLength() - 1);
    updateTimeStr();
  }
  
  function updateTimeStr() {
    $('.remaining-time').text(timer.getCurrentTimeStr());
  }
  
  function updateVisualProgress() {
    var per = timer.getPercentComplete();
    var clock = $('.clock');
    
    if (per > 50) {
      clock.css('background', 'linear-gradient(0deg, ' + fillColor + ' ' + per + '%, ' + bgColor + ' ' + (100 - per) + '%)');
    }
    else {
      clock.css('background', 'linear-gradient(180deg, ' + bgColor + ' ' + (100 - per) + '%, ' + fillColor + ' ' + per + '%)');
    }
  };
  
  return {
    'addMinute' : addMinute,
    'init' : init,
    'isRunning' : function() {
      return intervalId !== null;
    },
    'pause' : pause,
    'reset' : reset,
    'resume' : resume,
    'start' : start,
    'subtractMinute' : subtractMinute,
  };
})();

$(document).ready(function() {
  var pcui = pomodoroClockUI;
  
  pcui.init();
  
  $('button.timer').click(function(event) {
    event.stopPropagation();
    
    if (pcui.isRunning() || timer.isExpired()) {
      pcui.reset();
    }
    else {
      pcui.start();
    }
  });
  
  $('.pauser').click(function() {
    if (pcui.isRunning()) {
      pcui.pause();
      $(this).addClass('paused');
    }
    else if (timer.isPaused()) {
      var p = this;
      pcui.resume();
      $(this).removeClass('paused');
      $(this).addClass('play');
      setTimeout(function() { $(p).removeClass('play'); }, 1000);
    }
  });

  $('button.add-time').click(function(event) {
    event.stopPropagation();
    pcui.addMinute();
  });
  
  $('button.subtract-time').click(function(event) {
    event.stopPropagation();
    pcui.subtractMinute();
  });
});
            
          
!
999px
🕑 One or more of the npm packages you are using needs to be built. You're the first person to ever need it! We're building it right now and your preview will start updating again when it's ready.

Console