timestamper/www/css/ts-screen.css
Jonathan Bernard 036177cfed Duration display, time formatting, UI tweaks.
Client Behaviour (ts.js)
========================

- Created EntryView.getViewModel: translates model data to view data,
  specifically synthesizes the start time and duration from the timestamp.
- Added nextModel option to EntryView, needed for calculating the entry
  duration.
- Created EntryView.formatStart: given the timestamp, return the start time,
  in HH:MM format. Code is written for both 24hr and 12hr format, still need
  to write a selector mechanism. For now, uses 12hr format.
- Created EntryView.formatDuration: Get the duration of the entry based on
  this entry's timestamp and and the next entry's timestamp in a display-able
  form. If nextModel is `null` or `undefined` it is assumed that `model`
  is the most recent model and duration is calculated against the current time.
- Changed EntryView.render to use getViewModel.
- Added 'blur' listeners to the mark and timestamp input fields to close them
  without persisting the changes.
- Created EntryView.update: Refresh the display based on the model using the
  existing DOM elements.
- EntryView.save() now uses EntryView.update() instead of EntryView.render()
  and no longer includes an implicit close()
- EntryView.close() has been split into seperate save() and close() functions,
  to persist the changes and hide the input dialogs, respectively.
- EntryListView.addOne now passes the nextModel to EntryViews is creates.
- EntryListView.createNewEntryOnEnter() now clear the new intry input after
  creating a new entry.
- EntryListView.render() now uses a for-structure to traverse the entry
  collection and passes the nextModel (if there is one) to EntryListView.addOne.

Client UI (ts-screen.scss)
==========================

- Font size, family, and color adjusted on timeline and user input fields.
- Day seperator secondary header colors adjusted.
- Mark column width shortened, timestamp and duration columns widened.
- Styles added for notes UI

Client UI (index.yaws)
======================

- Markup changes needed for getViewModel chanes.
- Expanded day seperator.
2011-05-07 21:31:30 -05:00

227 lines
5.5 KiB
CSS

/*
* author: Jonathan Bernard
* TimeStamper main CSS for screen media types
*/
/* _rounded.scss */
* {
color: inherit;
margin: 0;
padding: 0; }
body {
color: #222222;
width: 75%;
margin: auto; }
input {
border: solid thin #555555;
-webkit-box-shadow: inset 0px 2px 4px #CCC;
box-shadow: inset 0px 2px 4px #CCC;
margin-bottom: 0.5em;
font-family: Cantarell; }
#top {
background: #222222;
color: #eeeeee;
padding: 0.5em 0;
padding: 0.5rem 0;
position: fixed;
top: 0px;
width: 75%; }
#top #fade-bar {
background: url("img/fade.png") repeat-x;
height: 32px;
width: 100%; }
#timeline {
border-bottom: thin solid #eeeeee;
font-family: Arvo;
font-size: 1.5em;
padding: 0 2em;
padding: 0 2rem; }
#timeline .timeline-desc {
display: inline-block;
width: 70%; }
#timeline .timeline-desc-input {
width: 70%; }
#timeline .timeline-id {
display: inline-block; }
#timeline .timeline-desc-input, #timeline .timeline-id-input {
font-family: inherit;
font-size: inherit;
color: #222222;
display: none; }
#timeline.edit-id .timeline-id-input {
display: inline-block; }
#timeline.edit-id .timeline-id {
display: none; }
#timeline.edit-desc .timeline-desc-input {
display: inline-block; }
#timeline.edit-desc .timeline-desc {
display: none; }
#timeline .drop-menu {
text-align: right;
display: inline-block;
width: 29%; }
#timeline .drop-menu .drop-menu-items {
text-align: right;
right: 0;
width: 172.41%; }
#timeline .drop-menu .drop-menu-items .timeline-link {
font-size: medium; }
#login {
background: white;
color: #eeeeee;
opacity: 1;
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100em;
z-index: 10; }
#login div.container {
background: #222222;
border-radius: 10px;
font-family: Cantarell;
margin-left: auto;
margin-right: auto;
margin-top: 4em;
padding: 1em;
width: 20em; }
#login div.container h2 {
border-bottom: thin solid #eeeeee;
font-family: Arvo;
padding-bottom: 0.5em;
margin-bottom: 0.5em; }
#login div.container label {
display: inline-block;
width: 6em; }
#login div.container input {
color: #222222; }
#login div.container #login-button {
text-align: right;
margin-top: 0.5em;
font-family: Arvo;
font-size: 1.2em; }
#login div.container #login-button .validate-tips {
font-size: 1em; }
#login div.container #login-button a {
color: #eeeeee; }
#user {
font-family: "Josefin Sans";
margin-top: -0.3em;
padding: 0 2em;
margin-top: -0.3rem;
padding: 0 2rem;
width: 100%; }
#user .fullname, #user .username {
display: inline-block;
font-size: larger; }
#user .fullname-input {
font-family: inherit;
font-size: inherit;
color: #222222;
display: none; }
#user.edit-fullname .fullname-input {
display: inline-block; }
#user.edit-fullname .fullname {
display: none; }
#user .drop-menu {
display: inline-block; }
#user .drop-menu .drop-menu-items {
margin-top: -0.5em;
text-align: right;
right: 0;
list-style: none;
width: 10em; }
#entry-list {
margin-top: 6em;
padding-bottom: 1em;
margin-top: 6rem;
padding-bottom: 1rem; }
#entry-list .day-seperator {
background: #cccccc;
color: #222222;
font-family: Cantarell;
font-weight: bold;
margin-top: 1em;
padding: 0 2em;
margin-top: 1rem;
padding: 0 2rem; }
#entry-list .day-seperator h4, #entry-list .day-seperator h5 {
display: inline-block; }
#entry-list .day-seperator h5 {
color: #667; }
#entry-list #new-entry {
margin-top: 0.5em;
padding: 0 2em;
margin-top: 0.5rem;
padding: 0 2rem; }
#entry-list .timestamp, #entry-list .timestamp-input, #entry-list .duration {
text-align: right;
width: 14%; }
#entry-list .mark, #entry-list .mark-input {
width: 70%; }
#entry-list .entry {
font-family: Cantarell;
padding: 0 2em;
padding: 0 2rem; }
#entry-list .entry div {
display: inline-block; }
#entry-list .entry .mark-input, #entry-list .entry .timestamp-input {
display: none; }
#entry-list .entry .notes, #entry-list .entry .notes-input {
display: none; }
#entry-list .entry.edit-mark .mark-input {
display: inline-block; }
#entry-list .entry.edit-mark .mark {
display: none; }
#entry-list .entry.edit-timestamp .timestamp-input {
display: inline-block; }
#entry-list .entry.edit-timestamp .timestamp {
display: none; }
#entry-list .entry.edit-notes .notes-input {
display: block; }
.drop-menu {
position: relative; }
.drop-menu .drop-menu-items {
display: none;
list-style: none;
position: absolute; }
.drop-menu .drop-menu-items li {
display: inline-block;
padding-left: 0.5em; }
.drop-menu:hover .drop-menu-items, .drop-menu .drop-menu-items:hover {
display: block; }
.drop-menu a {
display: inline-block;
text-decoration: none; }
.drop-menu a:hover {
text-decoration: underline; }
.footer {
background: #222222;
color: #eeeeee;
font-family: Bentham;
padding: 1em 0;
padding: 1rem 0;
text-align: center;
width: 100%; }
.footer a {
color: white;
text-decoration: none; }
.footer a:hover {
text-decoration: underline; }
.logo {
font-family: Bentham;
text-decoration: overline underline;
color: inherit; }
.hidden {
display: none; }