2013-03-06 00:47:08 +00:00
|
|
|
|
// 1. Set up color classes
|
|
|
|
|
|
// ========================
|
|
|
|
|
|
|
2013-03-05 19:16:10 +00:00
|
|
|
|
// color variables
|
2013-03-06 00:47:08 +00:00
|
|
|
|
$worst = rgb(230, 184, 175)
|
|
|
|
|
|
$worse = rgb(244, 204, 204)
|
|
|
|
|
|
$bad = rgb(252, 229, 205)
|
|
|
|
|
|
$neutral = rgb(255, 242, 204)
|
|
|
|
|
|
$good = rgb(217, 234, 211)
|
|
|
|
|
|
$better = rgb(208, 224, 227)
|
|
|
|
|
|
$best = rgb(201, 218, 248)
|
|
|
|
|
|
$completed = rgb(217, 217, 217)
|
|
|
|
|
|
|
|
|
|
|
|
// array of keywords and their associated color vars
|
|
|
|
|
|
$stages = (worst $worst) (worse $worse) (bad $bad) (neutral $neutral) (good $good) (better $better) (best $best)
|
|
|
|
|
|
|
|
|
|
|
|
// for each color stage, generate a named class w/ the appropriate color
|
|
|
|
|
|
for $stage in $stages
|
|
|
|
|
|
.color-{$stage[0]}
|
|
|
|
|
|
background-color: $stage[1]
|
2013-03-06 05:49:02 +00:00
|
|
|
|
.action-yesno label,
|
|
|
|
|
|
.task-action-btn
|
2013-03-06 00:47:08 +00:00
|
|
|
|
background-color: darken($stage[1], 30%)
|
2013-03-06 05:49:02 +00:00
|
|
|
|
&:hover, &:focus
|
|
|
|
|
|
background-color: darken($stage[1], 40%)
|
2013-03-06 00:47:08 +00:00
|
|
|
|
|
|
|
|
|
|
// completed has to be outside the loop to override the color class
|
2013-03-05 01:36:11 +00:00
|
|
|
|
.completed
|
2013-03-06 00:47:08 +00:00
|
|
|
|
background-color: $completed
|
|
|
|
|
|
color: #999
|
2013-03-05 19:16:10 +00:00
|
|
|
|
.task-checker label
|
2013-03-06 00:47:08 +00:00
|
|
|
|
background-color: darken($completed, 30%)
|
2013-03-06 05:49:02 +00:00
|
|
|
|
.task-action-btn
|
|
|
|
|
|
background-color: darken($completed, 30%)
|
2013-03-06 00:47:08 +00:00
|
|
|
|
|
2013-03-05 01:36:11 +00:00
|
|
|
|
.reward
|
2013-02-08 18:29:09 +00:00
|
|
|
|
background-color: white
|
|
|
|
|
|
|
2013-03-06 00:47:08 +00:00
|
|
|
|
|
2013-02-08 18:29:09 +00:00
|
|
|
|
|
2013-03-06 03:06:45 +00:00
|
|
|
|
// 2. Columns & Tasks
|
|
|
|
|
|
// ===================
|
2013-03-05 00:42:48 +00:00
|
|
|
|
|
2013-03-06 03:06:45 +00:00
|
|
|
|
// main columns
|
|
|
|
|
|
// ------------
|
2013-03-05 01:36:11 +00:00
|
|
|
|
.task-column
|
|
|
|
|
|
padding: 1.5em
|
|
|
|
|
|
background: #f5f5f5
|
2013-03-06 02:03:35 +00:00
|
|
|
|
border: 1px solid #ccc
|
2013-03-05 01:36:11 +00:00
|
|
|
|
font-family: 'Lato', sans-serif
|
2013-03-06 03:06:45 +00:00
|
|
|
|
|
|
|
|
|
|
.task-column_title
|
2013-03-05 01:36:11 +00:00
|
|
|
|
margin: 0 0 0.5em
|
|
|
|
|
|
padding: 0
|
2013-03-05 19:16:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
2013-03-06 03:06:45 +00:00
|
|
|
|
// add new task form
|
|
|
|
|
|
// -----------------
|
|
|
|
|
|
.addtask-form
|
2013-03-05 19:16:10 +00:00
|
|
|
|
margin-bottom: 0.75em
|
2013-03-06 03:06:45 +00:00
|
|
|
|
outline: 1px solid rgba(0,0,0,0.15)
|
|
|
|
|
|
outline-offset: -1px
|
2013-03-06 06:29:13 +00:00
|
|
|
|
background-color: white
|
2013-03-09 03:26:01 +00:00
|
|
|
|
// box-shadow: 0 0 3px rgba(0,0,0,0.15)
|
|
|
|
|
|
position: relative
|
2013-03-06 03:06:45 +00:00
|
|
|
|
|
|
|
|
|
|
// the input field
|
|
|
|
|
|
.addtask-field
|
2013-03-09 03:26:01 +00:00
|
|
|
|
display: block
|
|
|
|
|
|
width: 100%
|
2013-03-06 03:06:45 +00:00
|
|
|
|
input
|
|
|
|
|
|
font-family: 'Lato', sans-serif
|
|
|
|
|
|
border: 0
|
|
|
|
|
|
outline: 0
|
|
|
|
|
|
border-radius: 0
|
|
|
|
|
|
box-shadow: none
|
|
|
|
|
|
background-color: white
|
2013-03-06 07:16:51 +00:00
|
|
|
|
height: 3em
|
2013-03-06 03:06:45 +00:00
|
|
|
|
padding: 0 0 0 0.5em
|
|
|
|
|
|
width: 100%
|
|
|
|
|
|
&:focus
|
2013-03-09 03:26:01 +00:00
|
|
|
|
box-shadow: inset 0 0 3px darken($best, 20%),inset -1px 0 1px darken($best, 30%)
|
2013-03-06 03:06:45 +00:00
|
|
|
|
|
|
|
|
|
|
// the button
|
|
|
|
|
|
.addtask-btn
|
2013-03-09 03:26:01 +00:00
|
|
|
|
position: absolute
|
|
|
|
|
|
right: 0
|
|
|
|
|
|
top: 0
|
2013-03-06 03:06:45 +00:00
|
|
|
|
// important for overriding bootstrap, remove later
|
2013-03-06 07:16:51 +00:00
|
|
|
|
width: 1.81818em !important
|
|
|
|
|
|
height: 1.88em
|
2013-03-06 03:06:45 +00:00
|
|
|
|
padding: 0
|
2013-03-06 07:16:51 +00:00
|
|
|
|
font-size: 1.61em
|
|
|
|
|
|
line-height: 1.7
|
2013-03-06 03:06:45 +00:00
|
|
|
|
outline: 0
|
|
|
|
|
|
border: 0
|
2013-03-06 06:58:07 +00:00
|
|
|
|
border-radius: 0 //required to nuke BB-playbook user agent styles
|
2013-03-06 03:06:45 +00:00
|
|
|
|
background-color: darken($best, 20%)
|
|
|
|
|
|
opacity: 0.75
|
|
|
|
|
|
&:hover,
|
|
|
|
|
|
&:focus
|
|
|
|
|
|
opacity: 1
|
|
|
|
|
|
background-color: darken($best, 20%)
|
|
|
|
|
|
&:active
|
|
|
|
|
|
background-color: darken($best, 30%)
|
|
|
|
|
|
opacity: 1
|
|
|
|
|
|
|
2013-03-05 01:36:11 +00:00
|
|
|
|
|
2013-03-06 03:06:45 +00:00
|
|
|
|
// an individual task entry
|
|
|
|
|
|
// ------------------------
|
2013-03-05 01:36:11 +00:00
|
|
|
|
.task
|
2013-03-15 16:18:57 +00:00
|
|
|
|
overflow: hidden
|
2013-03-05 19:16:10 +00:00
|
|
|
|
list-style: none
|
2013-03-05 01:36:11 +00:00
|
|
|
|
clear: both
|
2013-03-06 02:03:35 +00:00
|
|
|
|
padding: 0 0.5em 0 0.5em
|
2013-03-06 07:16:51 +00:00
|
|
|
|
min-height: 3em
|
|
|
|
|
|
line-height: 3
|
|
|
|
|
|
margin-bottom: 0.75em
|
2013-03-05 20:13:59 +00:00
|
|
|
|
outline: 1px solid rgba(0,0,0,0.1)
|
|
|
|
|
|
outline-offset: -1px
|
2013-03-06 03:06:45 +00:00
|
|
|
|
&:hover
|
|
|
|
|
|
cursor: move
|
2013-03-05 01:36:11 +00:00
|
|
|
|
&:last-child
|
|
|
|
|
|
margin-bottom: 0
|
|
|
|
|
|
|
2013-03-06 03:06:45 +00:00
|
|
|
|
// task content
|
|
|
|
|
|
.task-text
|
|
|
|
|
|
display: inline
|
|
|
|
|
|
|
2013-03-09 03:26:01 +00:00
|
|
|
|
// when a task is being dragged
|
|
|
|
|
|
.task.ui-sortable-helper {
|
|
|
|
|
|
box-shadow: 0 0 3px rgba(0,0,0,0.15), 0 0 5px rgba(0,0,0,0.1)
|
|
|
|
|
|
transform: scale(1.05)
|
|
|
|
|
|
outline: 1px solid rgba(0,0,0,0.2)
|
|
|
|
|
|
}
|
2013-03-06 03:06:45 +00:00
|
|
|
|
|
|
|
|
|
|
// primary task commands
|
|
|
|
|
|
// ----------------------
|
2013-03-05 19:16:10 +00:00
|
|
|
|
.task-controls
|
|
|
|
|
|
display: inline
|
2013-03-06 02:03:35 +00:00
|
|
|
|
margin-left: -0.5em
|
|
|
|
|
|
margin-right: 0.5em
|
2013-03-05 19:16:10 +00:00
|
|
|
|
|
2013-03-06 05:49:02 +00:00
|
|
|
|
// plus/minus commands
|
|
|
|
|
|
.task-action-btn
|
|
|
|
|
|
display: inline-block
|
2013-03-06 07:16:51 +00:00
|
|
|
|
width: 2.12765em
|
|
|
|
|
|
height: 2.12765em
|
2013-03-06 05:49:02 +00:00
|
|
|
|
padding: 0
|
|
|
|
|
|
font-size: 1.41em
|
2013-03-06 07:16:51 +00:00
|
|
|
|
line-height: 2.12765
|
2013-03-06 05:49:02 +00:00
|
|
|
|
text-align: center
|
|
|
|
|
|
color: #222
|
|
|
|
|
|
vertical-align: top
|
|
|
|
|
|
border-right: 1px solid rgba(0,0,0,0.25)
|
|
|
|
|
|
&:last-child
|
|
|
|
|
|
border: 0
|
|
|
|
|
|
&:hover, &:focus
|
|
|
|
|
|
color: #222
|
|
|
|
|
|
text-decoration: none
|
|
|
|
|
|
|
|
|
|
|
|
// checkbox
|
|
|
|
|
|
.task-checker input[type=checkbox]
|
|
|
|
|
|
margin: 0
|
|
|
|
|
|
padding: 0
|
|
|
|
|
|
visibility: hidden
|
|
|
|
|
|
|
|
|
|
|
|
.task-checker label
|
|
|
|
|
|
display: inline-block
|
2013-03-06 07:16:51 +00:00
|
|
|
|
width: 3em
|
|
|
|
|
|
height: 3em
|
2013-03-06 05:49:02 +00:00
|
|
|
|
margin: 0
|
|
|
|
|
|
vertical-align: top
|
|
|
|
|
|
cursor: pointer
|
|
|
|
|
|
|
|
|
|
|
|
// plus/minus checkbox
|
|
|
|
|
|
.action-plusminus
|
|
|
|
|
|
label
|
|
|
|
|
|
margin-right: 1.5em
|
|
|
|
|
|
label:after
|
|
|
|
|
|
font-size: 1.41em
|
2013-03-06 07:16:51 +00:00
|
|
|
|
width: 2.12765em
|
|
|
|
|
|
height: 2.12765em
|
|
|
|
|
|
line-height: 2.12765
|
2013-03-06 03:06:45 +00:00
|
|
|
|
text-align: center
|
2013-03-06 05:49:02 +00:00
|
|
|
|
display: inline-block
|
|
|
|
|
|
vertical-align top
|
|
|
|
|
|
opacity: 0.3
|
|
|
|
|
|
background-color: #ddd
|
|
|
|
|
|
outline: 1px solid rgba(0,0,0,0.5)
|
|
|
|
|
|
color: #222
|
|
|
|
|
|
label[for$="plus"]:after
|
|
|
|
|
|
content: '+'
|
|
|
|
|
|
label[for$="minus"]:after
|
|
|
|
|
|
content: '−'
|
|
|
|
|
|
|
|
|
|
|
|
&.select-toggle input[type=checkbox]:checked + label:after
|
|
|
|
|
|
opacity: 1
|
|
|
|
|
|
|
|
|
|
|
|
// yes/no checkbox
|
|
|
|
|
|
.action-yesno
|
2013-03-09 07:10:33 +00:00
|
|
|
|
position: relative
|
2013-03-06 05:49:02 +00:00
|
|
|
|
// uncompleted icon
|
2013-03-09 07:10:33 +00:00
|
|
|
|
label:after, label:before
|
|
|
|
|
|
content: '▨'
|
|
|
|
|
|
// content: '◯'
|
2013-03-06 05:49:02 +00:00
|
|
|
|
display: block
|
2013-03-09 03:26:01 +00:00
|
|
|
|
height: 1.714285714em
|
|
|
|
|
|
width: 1.714285714em
|
|
|
|
|
|
font-size: 1.75em
|
|
|
|
|
|
line-height: 1.714285714em
|
2013-03-06 05:49:02 +00:00
|
|
|
|
text-align: center
|
2013-03-06 03:06:45 +00:00
|
|
|
|
color: black
|
2013-03-09 03:26:01 +00:00
|
|
|
|
opacity: 0.2
|
2013-03-06 03:06:45 +00:00
|
|
|
|
|
2013-03-09 07:10:33 +00:00
|
|
|
|
label:before
|
|
|
|
|
|
position: absolute
|
|
|
|
|
|
left: 0
|
2013-03-06 05:49:02 +00:00
|
|
|
|
// hint at completed icon
|
|
|
|
|
|
label:hover:after,
|
|
|
|
|
|
label:focus:after
|
|
|
|
|
|
content: '¬'
|
2013-03-09 03:26:01 +00:00
|
|
|
|
font-size: 3.2em
|
|
|
|
|
|
line-height: 0.9375em
|
|
|
|
|
|
height: 0.9375em
|
|
|
|
|
|
width: 1.15em
|
2013-03-09 02:01:04 +00:00
|
|
|
|
text-align: center
|
2013-03-06 05:49:02 +00:00
|
|
|
|
transform: rotate(135deg)
|
|
|
|
|
|
opacity: 0.5 !important
|
|
|
|
|
|
label:active:after
|
|
|
|
|
|
opacity: 0.75 !important
|
2013-03-05 19:16:10 +00:00
|
|
|
|
|
2013-03-06 03:06:45 +00:00
|
|
|
|
// completed icon
|
2013-03-06 05:49:02 +00:00
|
|
|
|
input[type=checkbox]:checked + label:after
|
2013-03-05 20:13:59 +00:00
|
|
|
|
content: '¬'
|
2013-03-09 03:26:01 +00:00
|
|
|
|
font-size: 3.2em
|
|
|
|
|
|
line-height: 0.9375em
|
|
|
|
|
|
height: 0.9375em
|
|
|
|
|
|
width: 1.15em
|
2013-03-09 02:01:04 +00:00
|
|
|
|
text-align: center
|
2013-03-05 20:13:59 +00:00
|
|
|
|
transform: rotate(135deg)
|
2013-03-06 02:03:35 +00:00
|
|
|
|
opacity: 0.75
|
2013-03-05 19:16:10 +00:00
|
|
|
|
|
2013-03-05 01:36:11 +00:00
|
|
|
|
|
2013-03-06 03:06:45 +00:00
|
|
|
|
// secondary task commands
|
|
|
|
|
|
// -----------------------
|
|
|
|
|
|
.task-meta-controls
|
|
|
|
|
|
float: right
|
|
|
|
|
|
margin-left: 0.25em
|
|
|
|
|
|
opacity: 0.25
|
|
|
|
|
|
a > i
|
|
|
|
|
|
margin-left: 0.125em
|
|
|
|
|
|
.task-notes
|
|
|
|
|
|
margin-left: 0.125em
|
|
|
|
|
|
|
|
|
|
|
|
.task:hover .task-meta-controls
|
|
|
|
|
|
opacity: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-06 05:49:02 +00:00
|
|
|
|
// task editing
|
|
|
|
|
|
// ------------
|
|
|
|
|
|
.task-options
|
|
|
|
|
|
padding: 0 0.5em
|
|
|
|
|
|
margin-top: 1.25em
|
|
|
|
|
|
color: #333
|
|
|
|
|
|
|
|
|
|
|
|
.option-group
|
|
|
|
|
|
border-bottom: 1px solid rgba(0,0,0,0.1)
|
|
|
|
|
|
padding: 0 0 1em
|
|
|
|
|
|
margin-bottom: 1em
|
|
|
|
|
|
|
|
|
|
|
|
.option-title
|
|
|
|
|
|
font-size: 1em
|
|
|
|
|
|
margin: 0 0 0.5em
|
|
|
|
|
|
line-height: 1.5
|
|
|
|
|
|
border: 0
|
|
|
|
|
|
padding: 0
|
|
|
|
|
|
color: #333
|
|
|
|
|
|
font-style: italic
|
|
|
|
|
|
&:not(.mega):after
|
|
|
|
|
|
content: ':'
|
|
|
|
|
|
&.mega
|
|
|
|
|
|
cursor: pointer
|
|
|
|
|
|
font-style: normal
|
|
|
|
|
|
font-weight: bold
|
|
|
|
|
|
text-decoration: underline
|
|
|
|
|
|
|
|
|
|
|
|
.option-content
|
|
|
|
|
|
height: 2.5em
|
|
|
|
|
|
width: 100%
|
|
|
|
|
|
margin: 0 0 1em
|
|
|
|
|
|
padding: 0 0 0 0.5em
|
|
|
|
|
|
outline: 0
|
|
|
|
|
|
border: 1px solid rgba(0,0,0,0.2)
|
|
|
|
|
|
box-shadow: none
|
|
|
|
|
|
border-radius: 0
|
|
|
|
|
|
font-family: 'Lato', sans-serif //bootstrap override
|
|
|
|
|
|
|
|
|
|
|
|
textarea.option-content
|
|
|
|
|
|
height: 5em
|
|
|
|
|
|
padding-top: 0.25em
|
|
|
|
|
|
resize: none
|
|
|
|
|
|
margin-bottom: 0
|
|
|
|
|
|
|
|
|
|
|
|
// button-group
|
|
|
|
|
|
.task-controls.tile-group
|
|
|
|
|
|
display: block
|
|
|
|
|
|
text-align: center
|
|
|
|
|
|
margin: 0
|
|
|
|
|
|
|
|
|
|
|
|
.task-action-btn.tile
|
|
|
|
|
|
border: 0
|
|
|
|
|
|
font-size: 1.15em
|
|
|
|
|
|
font-weight: 300
|
|
|
|
|
|
outline: 1px solid rgba(0,0,0,0.2)
|
|
|
|
|
|
outline-offset: -1px
|
|
|
|
|
|
margin: 0 0 0 3px
|
|
|
|
|
|
font-family: 'Lato', sans-serif
|
|
|
|
|
|
text-align: inherit
|
|
|
|
|
|
opacity: 0.5
|
|
|
|
|
|
width: auto
|
|
|
|
|
|
padding: 0 0.5em
|
|
|
|
|
|
&.active
|
|
|
|
|
|
opacity: 1
|
2013-03-06 03:06:45 +00:00
|
|
|
|
|
2013-03-06 06:15:45 +00:00
|
|
|
|
.tile.spacious
|
|
|
|
|
|
margin: 0.75em 0
|
|
|
|
|
|
font-size: 1.5em
|
|
|
|
|
|
opacity: 1
|
|
|
|
|
|
.tile.bright
|
|
|
|
|
|
background-color: lighten($best, 20%)
|
|
|
|
|
|
&:hover, &:focus
|
|
|
|
|
|
background-color: lighten($best, 40%)
|
2013-03-09 06:34:15 +00:00
|
|
|
|
.tile.flush
|
|
|
|
|
|
margin-left: 0
|
|
|
|
|
|
border: 1px solid rgba(0,0,0,0.2)
|
|
|
|
|
|
outline: 0
|
|
|
|
|
|
line-height: 2em
|
|
|
|
|
|
&:first-child
|
|
|
|
|
|
border-right: 0
|
2013-03-09 03:26:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// todos ui
|
|
|
|
|
|
// --------
|
|
|
|
|
|
|
|
|
|
|
|
// context switching
|
2013-03-06 06:15:45 +00:00
|
|
|
|
.context-enabled
|
|
|
|
|
|
.display-context-dependant,
|
|
|
|
|
|
.task-list li
|
|
|
|
|
|
display: none
|
|
|
|
|
|
|
|
|
|
|
|
&.context-completed
|
|
|
|
|
|
.show-for-completed, .completed
|
|
|
|
|
|
display: block
|
|
|
|
|
|
|
|
|
|
|
|
&.context-uncompleted
|
|
|
|
|
|
.show-for-uncompleted, .uncompleted
|
|
|
|
|
|
display: block
|
|
|
|
|
|
|
2013-03-09 03:26:01 +00:00
|
|
|
|
|
2013-03-06 06:15:45 +00:00
|
|
|
|
// nav tabs
|
|
|
|
|
|
.nav-tabs
|
|
|
|
|
|
margin-top: 1.5em
|
|
|
|
|
|
.nav-tabs > li
|
|
|
|
|
|
&.active > a
|
|
|
|
|
|
color: #333
|
|
|
|
|
|
&:hover
|
|
|
|
|
|
margin-top: 1px
|
|
|
|
|
|
> a
|
|
|
|
|
|
border-radius: 0 !important
|
|
|
|
|
|
margin-top: 1px
|
|
|
|
|
|
color: #333
|
|
|
|
|
|
&:hover
|
|
|
|
|
|
border-top: 0
|
|
|
|
|
|
margin-top: 2px
|