kiteboard 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +109 -0
- data/Rakefile +6 -0
- data/app/assets/fonts/fontawesome-webfont.eot +0 -0
- data/app/assets/fonts/fontawesome-webfont.svg +414 -0
- data/app/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/app/assets/fonts/fontawesome-webfont.woff +0 -0
- data/app/assets/javascripts/clock.js +13 -0
- data/app/assets/javascripts/digit.js +37 -0
- data/app/assets/javascripts/graph.js +46 -0
- data/app/assets/javascripts/kiteboard.js +53 -0
- data/app/assets/javascripts/list.js +17 -0
- data/app/assets/javascripts/meter.js +13 -0
- data/app/assets/javascripts/temperature.js +30 -0
- data/app/assets/javascripts/text.js +11 -0
- data/app/assets/stylesheets/base.scss +263 -0
- data/app/assets/stylesheets/font-awesome.scss +1338 -0
- data/app/assets/stylesheets/jquery.gridster.css +121 -0
- data/app/assets/stylesheets/kiteboard.css +15 -0
- data/app/assets/stylesheets/widgets/clock.scss +13 -0
- data/app/assets/stylesheets/widgets/digit.scss +39 -0
- data/app/assets/stylesheets/widgets/graph.scss +58 -0
- data/app/assets/stylesheets/widgets/list.scss +61 -0
- data/app/assets/stylesheets/widgets/meter.scss +35 -0
- data/app/assets/stylesheets/widgets/temperature.scss +52 -0
- data/app/assets/stylesheets/widgets/text.scss +32 -0
- data/app/views/kiteboard/_clock.html.erb +4 -0
- data/app/views/kiteboard/_digit.html.erb +16 -0
- data/app/views/kiteboard/_graph.html.erb +11 -0
- data/app/views/kiteboard/_list.html.erb +9 -0
- data/app/views/kiteboard/_meter.html.erb +15 -0
- data/app/views/kiteboard/_temperature.html.erb +7 -0
- data/app/views/kiteboard/_text.html.erb +11 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/kiteboard.gemspec +24 -0
- data/lib/kiteboard.rb +5 -0
- data/lib/kiteboard/engine.rb +10 -0
- data/lib/kiteboard/version.rb +3 -0
- data/vendor/assets/javascripts/d3.layout.min.js +1 -0
- data/vendor/assets/javascripts/d3.min.js +5 -0
- data/vendor/assets/javascripts/jquery.gridster.js +3987 -0
- data/vendor/assets/javascripts/jquery.knob.js +646 -0
- data/vendor/assets/javascripts/rickshaw.min.js +3 -0
- metadata +133 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/*! gridster.js - v0.5.6 - 2014-09-25
|
|
2
|
+
* http://gridster.net/
|
|
3
|
+
* Copyright (c) 2014 ducksboard; Licensed MIT */
|
|
4
|
+
|
|
5
|
+
.gridster {
|
|
6
|
+
position:relative;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.gridster > * {
|
|
10
|
+
margin: 0 auto;
|
|
11
|
+
-webkit-transition: height .4s, width .4s;
|
|
12
|
+
-moz-transition: height .4s, width .4s;
|
|
13
|
+
-o-transition: height .4s, width .4s;
|
|
14
|
+
-ms-transition: height .4s, width .4s;
|
|
15
|
+
transition: height .4s, width .4s;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.gridster .gs-w {
|
|
19
|
+
z-index: 2;
|
|
20
|
+
position: absolute;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ready .gs-w:not(.preview-holder) {
|
|
24
|
+
-webkit-transition: opacity .3s, left .3s, top .3s;
|
|
25
|
+
-moz-transition: opacity .3s, left .3s, top .3s;
|
|
26
|
+
-o-transition: opacity .3s, left .3s, top .3s;
|
|
27
|
+
transition: opacity .3s, left .3s, top .3s;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.ready .gs-w:not(.preview-holder),
|
|
31
|
+
.ready .resize-preview-holder {
|
|
32
|
+
-webkit-transition: opacity .3s, left .3s, top .3s, width .3s, height .3s;
|
|
33
|
+
-moz-transition: opacity .3s, left .3s, top .3s, width .3s, height .3s;
|
|
34
|
+
-o-transition: opacity .3s, left .3s, top .3s, width .3s, height .3s;
|
|
35
|
+
transition: opacity .3s, left .3s, top .3s, width .3s, height .3s;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.gridster .preview-holder {
|
|
39
|
+
z-index: 1;
|
|
40
|
+
position: absolute;
|
|
41
|
+
background-color: #fff;
|
|
42
|
+
border-color: #fff;
|
|
43
|
+
opacity: 0.3;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.gridster .player-revert {
|
|
47
|
+
z-index: 10!important;
|
|
48
|
+
-webkit-transition: left .3s, top .3s!important;
|
|
49
|
+
-moz-transition: left .3s, top .3s!important;
|
|
50
|
+
-o-transition: left .3s, top .3s!important;
|
|
51
|
+
transition: left .3s, top .3s!important;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.gridster .dragging,
|
|
55
|
+
.gridster .resizing {
|
|
56
|
+
z-index: 10!important;
|
|
57
|
+
-webkit-transition: all 0s !important;
|
|
58
|
+
-moz-transition: all 0s !important;
|
|
59
|
+
-o-transition: all 0s !important;
|
|
60
|
+
transition: all 0s !important;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
.gs-resize-handle {
|
|
65
|
+
position: absolute;
|
|
66
|
+
z-index: 1;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.gs-resize-handle-both {
|
|
70
|
+
width: 20px;
|
|
71
|
+
height: 20px;
|
|
72
|
+
bottom: -8px;
|
|
73
|
+
right: -8px;
|
|
74
|
+
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg08IS0tIEdlbmVyYXRvcjogQWRvYmUgRmlyZXdvcmtzIENTNiwgRXhwb3J0IFNWRyBFeHRlbnNpb24gYnkgQWFyb24gQmVhbGwgKGh0dHA6Ly9maXJld29ya3MuYWJlYWxsLmNvbSkgLiBWZXJzaW9uOiAwLjYuMSAgLS0+DTwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DTxzdmcgaWQ9IlVudGl0bGVkLVBhZ2UlMjAxIiB2aWV3Qm94PSIwIDAgNiA2IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHZlcnNpb249IjEuMSINCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiDQl4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjZweCIgaGVpZ2h0PSI2cHgiDT4NCTxnIG9wYWNpdHk9IjAuMzAyIj4NCQk8cGF0aCBkPSJNIDYgNiBMIDAgNiBMIDAgNC4yIEwgNCA0LjIgTCA0LjIgNC4yIEwgNC4yIDAgTCA2IDAgTCA2IDYgTCA2IDYgWiIgZmlsbD0iIzAwMDAwMCIvPg0JPC9nPg08L3N2Zz4=');
|
|
75
|
+
background-position: top left;
|
|
76
|
+
background-repeat: no-repeat;
|
|
77
|
+
cursor: se-resize;
|
|
78
|
+
z-index: 20;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.gs-resize-handle-x {
|
|
82
|
+
top: 0;
|
|
83
|
+
bottom: 13px;
|
|
84
|
+
right: -5px;
|
|
85
|
+
width: 10px;
|
|
86
|
+
cursor: e-resize;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.gs-resize-handle-y {
|
|
90
|
+
left: 0;
|
|
91
|
+
right: 13px;
|
|
92
|
+
bottom: -5px;
|
|
93
|
+
height: 10px;
|
|
94
|
+
cursor: s-resize;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.gs-w:hover .gs-resize-handle,
|
|
98
|
+
.resizing .gs-resize-handle {
|
|
99
|
+
opacity: 1;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.gs-resize-handle,
|
|
103
|
+
.gs-w.dragging .gs-resize-handle {
|
|
104
|
+
opacity: 0;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.gs-resize-disabled .gs-resize-handle {
|
|
108
|
+
display: none!important;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
[data-max-sizex="1"] .gs-resize-handle-x,
|
|
112
|
+
[data-max-sizey="1"] .gs-resize-handle-y,
|
|
113
|
+
[data-max-sizey="1"][data-max-sizex="1"] .gs-resize-handle {
|
|
114
|
+
display: none !important;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* Uncomment this if you set helper : "clone" in draggable options */
|
|
118
|
+
/*.gridster .player {
|
|
119
|
+
opacity:0;
|
|
120
|
+
}
|
|
121
|
+
*/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
+
* listed below.
|
|
4
|
+
*
|
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
|
7
|
+
*
|
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
|
9
|
+
* compiled file, but it's generally better to create a new file per style scope.
|
|
10
|
+
*
|
|
11
|
+
*= require font-awesome
|
|
12
|
+
*= require jquery.gridster
|
|
13
|
+
*= require_directory ./widgets
|
|
14
|
+
*= require_tree .
|
|
15
|
+
*/
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
// Sass declarations
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
$background-color: #dc5945;
|
|
5
|
+
|
|
6
|
+
// ----------------------------------------------------------------------------
|
|
7
|
+
// Widget-clock styles
|
|
8
|
+
// ----------------------------------------------------------------------------
|
|
9
|
+
.widget-clock {
|
|
10
|
+
|
|
11
|
+
background-color: $background-color;
|
|
12
|
+
|
|
13
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
// Sass declarations
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
$background-color: #47bbb3;
|
|
5
|
+
$value-color: #fff;
|
|
6
|
+
|
|
7
|
+
$title-color: rgba(255, 255, 255, 0.7);
|
|
8
|
+
$moreinfo-color: rgba(255, 255, 255, 0.7);
|
|
9
|
+
|
|
10
|
+
// ----------------------------------------------------------------------------
|
|
11
|
+
// Widget-number styles
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
.widget-digit {
|
|
14
|
+
|
|
15
|
+
background-color: $background-color;
|
|
16
|
+
|
|
17
|
+
.title {
|
|
18
|
+
color: $title-color;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.value {
|
|
22
|
+
color: $value-color;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.change-rate {
|
|
26
|
+
font-weight: 500;
|
|
27
|
+
font-size: 30px;
|
|
28
|
+
color: $value-color;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.more-info {
|
|
32
|
+
color: $moreinfo-color;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.updated-at {
|
|
36
|
+
color: rgba(0, 0, 0, 0.3);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
// Sass declarations
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
$background-color: #B413EC;
|
|
5
|
+
|
|
6
|
+
$title-color: rgba(255, 255, 255, 0.7);
|
|
7
|
+
$moreinfo-color: rgba(255, 255, 255, 0.3);
|
|
8
|
+
$tick-color: rgba(0, 0, 0, 0.4);
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
// ----------------------------------------------------------------------------
|
|
12
|
+
// Widget-graph styles
|
|
13
|
+
// ----------------------------------------------------------------------------
|
|
14
|
+
.widget-graph {
|
|
15
|
+
|
|
16
|
+
background-color: $background-color;
|
|
17
|
+
position: relative;
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
svg {
|
|
21
|
+
position: absolute;
|
|
22
|
+
opacity: 0.4;
|
|
23
|
+
fill-opacity: 0.4;
|
|
24
|
+
left: 0px;
|
|
25
|
+
top: 0px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.title, .value {
|
|
29
|
+
position: relative;
|
|
30
|
+
z-index: 99;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.title {
|
|
34
|
+
color: $title-color;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.x_tick {
|
|
38
|
+
position: absolute;
|
|
39
|
+
bottom: 0;
|
|
40
|
+
.title {
|
|
41
|
+
font-size: 20px;
|
|
42
|
+
color: $tick-color;
|
|
43
|
+
opacity: 0.5;
|
|
44
|
+
padding-bottom: 3px;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.y_ticks {
|
|
49
|
+
font-size: 20px;
|
|
50
|
+
fill: $tick-color;
|
|
51
|
+
fill-opacity: 1;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.domain {
|
|
55
|
+
display: none;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
// Sass declarations
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
$background-color: #12b0c5;
|
|
5
|
+
$value-color: #fff;
|
|
6
|
+
|
|
7
|
+
$title-color: rgba(255, 255, 255, 0.7);
|
|
8
|
+
$label-color: rgba(255, 255, 255, 0.7);
|
|
9
|
+
$moreinfo-color: rgba(255, 255, 255, 0.7);
|
|
10
|
+
|
|
11
|
+
// ----------------------------------------------------------------------------
|
|
12
|
+
// Widget-list styles
|
|
13
|
+
// ----------------------------------------------------------------------------
|
|
14
|
+
.widget-list {
|
|
15
|
+
|
|
16
|
+
background-color: $background-color;
|
|
17
|
+
vertical-align: top !important;
|
|
18
|
+
|
|
19
|
+
.title {
|
|
20
|
+
color: $title-color;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
ol, ul {
|
|
24
|
+
margin: 0 15px;
|
|
25
|
+
text-align: left;
|
|
26
|
+
color: $label-color;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
ol {
|
|
30
|
+
list-style-position: inside;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
li {
|
|
34
|
+
margin-bottom: 5px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.list-nostyle {
|
|
38
|
+
list-style: none;
|
|
39
|
+
width: auto !important;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.label {
|
|
43
|
+
color: $label-color;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.value {
|
|
47
|
+
float: right;
|
|
48
|
+
margin-left: 12px;
|
|
49
|
+
font-weight: 600;
|
|
50
|
+
color: $value-color;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.updated-at {
|
|
54
|
+
color: rgba(0, 0, 0, 0.3);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.more-info {
|
|
58
|
+
color: $moreinfo-color;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
// Sass declarations
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
$background-color: #9c4274;
|
|
5
|
+
|
|
6
|
+
$title-color: rgba(255, 255, 255, 0.7);
|
|
7
|
+
$moreinfo-color: rgba(255, 255, 255, 0.3);
|
|
8
|
+
|
|
9
|
+
$meter-background: darken($background-color, 15%);
|
|
10
|
+
|
|
11
|
+
// ----------------------------------------------------------------------------
|
|
12
|
+
// Widget-meter styles
|
|
13
|
+
// ----------------------------------------------------------------------------
|
|
14
|
+
.widget-meter {
|
|
15
|
+
|
|
16
|
+
background-color: $background-color;
|
|
17
|
+
|
|
18
|
+
input.meter {
|
|
19
|
+
background-color: $meter-background;
|
|
20
|
+
color: #fff;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.title {
|
|
24
|
+
color: $title-color;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.more-info {
|
|
28
|
+
color: $moreinfo-color;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.updated-at {
|
|
32
|
+
color: rgba(0, 0, 0, 0.3);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
// Mixins
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
@mixin transition($transition-property, $transition-time, $method) {
|
|
5
|
+
-webkit-transition: $transition-property $transition-time $method;
|
|
6
|
+
-moz-transition: $transition-property $transition-time $method;
|
|
7
|
+
-o-transition: $transition-property $transition-time $method;
|
|
8
|
+
transition: $transition-property $transition-time $method;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// ----------------------------------------------------------------------------
|
|
12
|
+
// Sass declarations
|
|
13
|
+
// ----------------------------------------------------------------------------
|
|
14
|
+
$background-color: #000000;
|
|
15
|
+
$value-color: #FFFFFF;
|
|
16
|
+
$title-color: rgba(255, 255, 255, 0.7);
|
|
17
|
+
$updated-at-color: rgba(0, 0, 0, 0.3);
|
|
18
|
+
|
|
19
|
+
// ----------------------------------------------------------------------------
|
|
20
|
+
// Widget-hotness styles
|
|
21
|
+
// ----------------------------------------------------------------------------
|
|
22
|
+
.widget-hotness {
|
|
23
|
+
|
|
24
|
+
background-color: $background-color;
|
|
25
|
+
@include transition(background-color, 1s, linear);
|
|
26
|
+
|
|
27
|
+
.title {
|
|
28
|
+
color: $title-color;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.value {
|
|
32
|
+
color: $value-color;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.updated-at {
|
|
36
|
+
color: $updated-at-color;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.hotness0 { background-color: #00C176; }
|
|
42
|
+
.hotness1 { background-color: #88C100; }
|
|
43
|
+
.hotness2 { background-color: #FABE28; }
|
|
44
|
+
.hotness3 { background-color: #FF8A00; }
|
|
45
|
+
.hotness4 { background-color: #FF003C; }
|
|
46
|
+
|
|
47
|
+
// // More colour-blind friendly palette
|
|
48
|
+
// .hotness0 { background-color: #046D8B; }
|
|
49
|
+
// .hotness1 { background-color: #309292; }
|
|
50
|
+
// .hotness2 { background-color: #2FB8AC; }
|
|
51
|
+
// .hotness3 { background-color: #93A42A; }
|
|
52
|
+
// .hotness4 { background-color: #ECBE13; }
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
// Sass declarations
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
$background-color: #ec663c;
|
|
5
|
+
|
|
6
|
+
$title-color: rgba(255, 255, 255, 0.7);
|
|
7
|
+
$moreinfo-color: rgba(255, 255, 255, 0.7);
|
|
8
|
+
|
|
9
|
+
// ----------------------------------------------------------------------------
|
|
10
|
+
// Widget-text styles
|
|
11
|
+
// ----------------------------------------------------------------------------
|
|
12
|
+
.widget-text {
|
|
13
|
+
|
|
14
|
+
background-color: $background-color;
|
|
15
|
+
|
|
16
|
+
.title {
|
|
17
|
+
color: $title-color;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.more-info {
|
|
21
|
+
color: $moreinfo-color;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.updated-at {
|
|
25
|
+
color: rgba(255, 255, 255, 0.7);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
&.large h3 {
|
|
30
|
+
font-size: 65px;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<% icon ||= '' %>
|
|
2
|
+
|
|
3
|
+
<div class="widget widget-digit">
|
|
4
|
+
|
|
5
|
+
<i class="<%= icon %>"></i>
|
|
6
|
+
|
|
7
|
+
<h1 class="title"><%= title %></h1>
|
|
8
|
+
|
|
9
|
+
<h2 class="value" data-value="0">0</h2>
|
|
10
|
+
|
|
11
|
+
<p class="change-rate">
|
|
12
|
+
<i data-bind-class="arrow" class="fa"></i><span>0%</span>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p class="updated-at">Last updated at <%= Time.now.strftime('%H:%M:%S') %></p>
|
|
16
|
+
</div>
|