bandshell 0.0.21 → 0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bandshell/application/app.rb +10 -10
- data/lib/bandshell/application/public/images/elements/logomark.png +0 -0
- data/lib/bandshell/application/public/images/layout/pagebg.gif +0 -0
- data/lib/bandshell/application/public/images/layout/pagebg@2x.gif +0 -0
- data/lib/bandshell/application/public/{authenticate.js → javascripts/authenticate.js} +0 -0
- data/lib/bandshell/application/public/{network.js → javascripts/network.js} +2 -2
- data/lib/bandshell/application/public/{problem.js → javascripts/problem.js} +0 -0
- data/lib/bandshell/application/public/stylesheets/README +3 -0
- data/lib/bandshell/application/public/stylesheets/concerto-styles.css +5387 -0
- data/lib/bandshell/application/public/stylesheets/sass/common/concertocons.scss +122 -0
- data/lib/bandshell/application/public/stylesheets/sass/common/font-awesome.scss +1273 -0
- data/lib/bandshell/application/public/stylesheets/sass/common/mixins.scss +284 -0
- data/lib/bandshell/application/public/stylesheets/sass/common/reset.scss +125 -0
- data/lib/bandshell/application/public/stylesheets/sass/common/variables.scss +139 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/alerts-badges.scss +145 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/bootstrap-modals.scss +115 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/button-groups.scss +129 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/buttons.scss +236 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/datepicker.scss +337 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/display-blocks.scss +194 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/forms.scss +486 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/jquery.qtip2.scss +259 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/jquery.timepicker.css +8 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/jquery.timepicker.scss +8 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/lists-grid-stacked.scss +265 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/navs.scss +465 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/pagination.scss +64 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/scaffolding.scss +75 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/screenmodel.scss +66 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/sliders.scss +98 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/tables.scss +243 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/tiles.scss +169 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/topmenu.scss +218 -0
- data/lib/bandshell/application/public/stylesheets/sass/components/type.scss +259 -0
- data/lib/bandshell/application/public/stylesheets/sass/index-manifest.scss +32 -0
- data/lib/bandshell/application/public/stylesheets/sass/responsive/responsive-1200px-min.scss +31 -0
- data/lib/bandshell/application/public/stylesheets/sass/responsive/responsive-767px-max.scss +178 -0
- data/lib/bandshell/application/public/stylesheets/sass/responsive/responsive-768px-979px.scss +21 -0
- data/lib/bandshell/application/public/stylesheets/sass/responsive/responsive-utilities.scss +41 -0
- data/lib/bandshell/application/public/stylesheets/sass/views/setup.scss +5 -0
- data/lib/bandshell/application/public/stylesheets/sass/views/submissions.scss +36 -0
- data/lib/bandshell/application/public/stylesheets/sass/views/users.scss +15 -0
- data/lib/bandshell/application/views/authenticate.erb +15 -0
- data/lib/bandshell/application/views/main.erb +55 -0
- data/lib/bandshell/application/views/main.haml +2 -1
- data/lib/bandshell/application/views/netsettings.erb +147 -0
- data/lib/bandshell/application/views/netsettings.haml +1 -1
- data/lib/bandshell/application/views/password.erb +23 -0
- data/lib/bandshell/application/views/player_status.erb +16 -0
- data/lib/bandshell/application/views/problem.erb +20 -0
- data/lib/bandshell/application/views/setup.erb +58 -0
- metadata +52 -8
- data/lib/bandshell/application/public/stylesheet.css +0 -3
@@ -0,0 +1,32 @@
|
|
1
|
+
@import "common/variables";
|
2
|
+
@import "common/mixins";
|
3
|
+
@import "common/reset";
|
4
|
+
@import "common/font-awesome";
|
5
|
+
|
6
|
+
@import "components/scaffolding";
|
7
|
+
@import "components/type";
|
8
|
+
@import "components/forms";
|
9
|
+
@import "components/tables";
|
10
|
+
@import "components/navs";
|
11
|
+
@import "components/buttons";
|
12
|
+
@import "components/button-groups";
|
13
|
+
@import "components/pagination";
|
14
|
+
@import "components/jquery.timepicker";
|
15
|
+
@import "components/sliders";
|
16
|
+
@import "components/jquery.qtip2";
|
17
|
+
@import "components/display-blocks";
|
18
|
+
@import "components/lists-grid-stacked";
|
19
|
+
@import "components/topmenu";
|
20
|
+
@import "components/alerts-badges";
|
21
|
+
@import "components/screenmodel";
|
22
|
+
@import "components/datepicker";
|
23
|
+
@import "components/tiles";
|
24
|
+
|
25
|
+
@import "views/submissions";
|
26
|
+
@import "views/users";
|
27
|
+
@import "views/setup";
|
28
|
+
|
29
|
+
@import "responsive/responsive-utilities";
|
30
|
+
@import "responsive/responsive-767px-max";
|
31
|
+
@import "responsive/responsive-768px-979px";
|
32
|
+
@import "responsive/responsive-1200px-min";
|
@@ -0,0 +1,31 @@
|
|
1
|
+
// LARGE DESKTOP & UP
|
2
|
+
// ------------------
|
3
|
+
|
4
|
+
@media (min-width: 1200px) {
|
5
|
+
|
6
|
+
// Fixed grid
|
7
|
+
@include gridCore($gridColumnWidthLarge, $gridGutterWidthLarge);
|
8
|
+
|
9
|
+
// Fluid grid
|
10
|
+
@include gridFluid($fluidGridColumnWidthLarge, $fluidGridGutterWidthLarge);
|
11
|
+
|
12
|
+
// Input grid
|
13
|
+
@include gridInput($gridColumnWidthLarge, $gridGutterWidthLarge);
|
14
|
+
|
15
|
+
// Thumbnails
|
16
|
+
.thumbnails {
|
17
|
+
margin-left: -30px;
|
18
|
+
}
|
19
|
+
.thumbnails > li {
|
20
|
+
margin-left: 30px;
|
21
|
+
}
|
22
|
+
.row-fluid .thumbnails {
|
23
|
+
margin-left: 0;
|
24
|
+
}
|
25
|
+
|
26
|
+
.content-frame {
|
27
|
+
margin: 0 auto;
|
28
|
+
max-width: 1000px;
|
29
|
+
}
|
30
|
+
|
31
|
+
}
|
@@ -0,0 +1,178 @@
|
|
1
|
+
// UP TO LANDSCAPE PHONE
|
2
|
+
// ---------------------
|
3
|
+
|
4
|
+
@media (max-width: 480px) {
|
5
|
+
|
6
|
+
// Smooth out the collapsing/expanding nav
|
7
|
+
.nav-collapse {
|
8
|
+
-webkit-transform: translate3d(0, 0, 0); // activate the GPU
|
9
|
+
}
|
10
|
+
|
11
|
+
// Block level the page header small tag for readability
|
12
|
+
.page-header h1 small {
|
13
|
+
display: block;
|
14
|
+
line-height: $baseLineHeight;
|
15
|
+
}
|
16
|
+
|
17
|
+
// Update checkboxes for iOS
|
18
|
+
input[type="checkbox"], input[type="radio"] {
|
19
|
+
border: 1px solid #ccc;
|
20
|
+
}
|
21
|
+
|
22
|
+
// Remove the horizontal form styles
|
23
|
+
.form-horizontal .control-group > label {
|
24
|
+
float: none;
|
25
|
+
width: auto;
|
26
|
+
padding-top: 0;
|
27
|
+
text-align: left;
|
28
|
+
}
|
29
|
+
// Move over all input controls and content
|
30
|
+
.form-horizontal .controls {
|
31
|
+
margin-left: 0;
|
32
|
+
}
|
33
|
+
// Move the options list down to align with labels
|
34
|
+
.form-horizontal .control-list {
|
35
|
+
padding-top: 0; // has to be padding because margin collaspes
|
36
|
+
}
|
37
|
+
// Move over buttons in .form-actions to align with .controls
|
38
|
+
.form-horizontal .form-actions {
|
39
|
+
padding-left: 10px;
|
40
|
+
padding-right: 10px;
|
41
|
+
}
|
42
|
+
|
43
|
+
// Modals
|
44
|
+
.modal {
|
45
|
+
position: absolute;
|
46
|
+
top: 10px;
|
47
|
+
left: 10px;
|
48
|
+
right: 10px;
|
49
|
+
width: auto;
|
50
|
+
margin: 0;
|
51
|
+
&.fade.in { top: auto; }
|
52
|
+
}
|
53
|
+
.modal-header .close {
|
54
|
+
padding: 10px;
|
55
|
+
margin: -10px;
|
56
|
+
}
|
57
|
+
|
58
|
+
// Carousel
|
59
|
+
.carousel-caption {
|
60
|
+
position: static;
|
61
|
+
}
|
62
|
+
|
63
|
+
// fluid grid resets:
|
64
|
+
.row-fluid {
|
65
|
+
[class*="span"].collapse-right {
|
66
|
+
margin-right: 0px;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
// nav resets:
|
71
|
+
.nav-drawer-left {
|
72
|
+
@include border-radius(12px !important);
|
73
|
+
border-right: solid 4px $grayLight !important;
|
74
|
+
margin-top: 0px;
|
75
|
+
|
76
|
+
> li:first-child > a {
|
77
|
+
@include border-radius(8px 8px 0 0 !important);
|
78
|
+
}
|
79
|
+
> li:last-child > a {
|
80
|
+
@include border-radius(0 0 8px 8px !important);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
}
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
// LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET
|
89
|
+
// --------------------------------------------------
|
90
|
+
|
91
|
+
@media (max-width: 767px) {
|
92
|
+
|
93
|
+
// Negative indent the now static "fixed" navbar
|
94
|
+
.navbar-fixed-top, .navbar-fixed-bottom {
|
95
|
+
margin-left: -20px;
|
96
|
+
margin-right: -20px;
|
97
|
+
}
|
98
|
+
// Remove padding on container given explicit padding set on body
|
99
|
+
.container-fluid {
|
100
|
+
padding: 0;
|
101
|
+
}
|
102
|
+
|
103
|
+
// TYPOGRAPHY
|
104
|
+
// ----------
|
105
|
+
// Reset horizontal dl
|
106
|
+
.dl-horizontal {
|
107
|
+
dt {
|
108
|
+
float: none;
|
109
|
+
clear: none;
|
110
|
+
width: auto;
|
111
|
+
text-align: left;
|
112
|
+
}
|
113
|
+
dd {
|
114
|
+
margin-left: 0;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
118
|
+
// GRID & CONTAINERS
|
119
|
+
// -----------------
|
120
|
+
// Remove width from containers
|
121
|
+
.container {
|
122
|
+
width: auto;
|
123
|
+
}
|
124
|
+
// Fluid rows
|
125
|
+
.row-fluid {
|
126
|
+
width: 100%;
|
127
|
+
}
|
128
|
+
// Undo negative margin on rows and thumbnails
|
129
|
+
.row, .thumbnails {
|
130
|
+
margin-left: 0;
|
131
|
+
}
|
132
|
+
// Make all grid-sized elements block level again
|
133
|
+
[class*="span"], .row-fluid [class*="span"] {
|
134
|
+
float: none;
|
135
|
+
display: block;
|
136
|
+
width: auto;
|
137
|
+
margin-left: 0;
|
138
|
+
}
|
139
|
+
|
140
|
+
// FORM FIELDS
|
141
|
+
// -----------
|
142
|
+
// Make span* classes full width
|
143
|
+
.input-large, .input-xlarge, .input-xxlarge, input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditable-input {
|
144
|
+
@include input-block-level();
|
145
|
+
}
|
146
|
+
// But don't let it screw up prepend/append inputs
|
147
|
+
.input-prepend input, .input-append input, .input-prepend input[class*="span"], .input-append input[class*="span"] {
|
148
|
+
display: inline-block; // redeclare so they don't wrap to new lines
|
149
|
+
width: auto;
|
150
|
+
}
|
151
|
+
|
152
|
+
// fluid grid resets:
|
153
|
+
.row-fluid {
|
154
|
+
[class*="span"].collapse-right {
|
155
|
+
margin-right: 0px;
|
156
|
+
}
|
157
|
+
}
|
158
|
+
|
159
|
+
// nav resets:
|
160
|
+
.nav-drawer-left {
|
161
|
+
@include border-radius(12px !important);
|
162
|
+
border-right: solid 4px $grayLight !important;
|
163
|
+
margin-top: 0px;
|
164
|
+
|
165
|
+
> li:first-child > a {
|
166
|
+
@include border-radius(8px 8px 0 0 !important);
|
167
|
+
}
|
168
|
+
> li:last-child > a {
|
169
|
+
@include border-radius(0 0 8px 8px !important);
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
.approval-info {
|
174
|
+
width: auto !important;
|
175
|
+
margin: 0 auto;
|
176
|
+
}
|
177
|
+
|
178
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
// PORTRAIT TABLET TO DEFAULT DESKTOP
|
2
|
+
// ----------------------------------
|
3
|
+
|
4
|
+
@media (min-width: 768px) and (max-width: 979px) {
|
5
|
+
|
6
|
+
// Fixed grid
|
7
|
+
@include gridCore($gridColumnWidthTablet, $gridGutterWidthTablet);
|
8
|
+
|
9
|
+
// Fluid grid
|
10
|
+
@include gridFluid($fluidGridColumnWidthTablet, $fluidGridGutterWidthTablet);
|
11
|
+
|
12
|
+
// Input grid
|
13
|
+
@include gridInput($gridColumnWidthTablet, $gridGutterWidthTablet);
|
14
|
+
|
15
|
+
// No need to reset .thumbnails here since it's the same $gridGutterWidth
|
16
|
+
|
17
|
+
.approval-info {
|
18
|
+
width: auto !important;
|
19
|
+
margin: 0 auto;
|
20
|
+
}
|
21
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
// RESPONSIVE CLASSES
|
2
|
+
// ------------------
|
3
|
+
|
4
|
+
// Hide from screenreaders and browsers
|
5
|
+
// Credit: HTML5 Boilerplate
|
6
|
+
.hidden {
|
7
|
+
display: none;
|
8
|
+
visibility: hidden;
|
9
|
+
}
|
10
|
+
|
11
|
+
// Visibility utilities
|
12
|
+
|
13
|
+
// For desktops
|
14
|
+
.visible-phone { display: none !important; }
|
15
|
+
.visible-tablet { display: none !important; }
|
16
|
+
.visible-desktop { } // Don't set initially
|
17
|
+
.hidden-phone { }
|
18
|
+
.hidden-tablet { }
|
19
|
+
.hidden-desktop { display: none !important; }
|
20
|
+
|
21
|
+
// Phones only
|
22
|
+
@media (max-width: 767px) {
|
23
|
+
// Show
|
24
|
+
.visible-phone { display: inherit !important; } // Use inherit to restore previous behavior
|
25
|
+
// Hide
|
26
|
+
.hidden-phone { display: none !important; }
|
27
|
+
// Hide everything else
|
28
|
+
.hidden-desktop { display: inherit !important; }
|
29
|
+
.visible-desktop { display: none !important; }
|
30
|
+
}
|
31
|
+
|
32
|
+
// Tablets & small desktops only
|
33
|
+
@media (min-width: 768px) and (max-width: 979px) {
|
34
|
+
// Show
|
35
|
+
.visible-tablet { display: inherit !important; }
|
36
|
+
// Hide
|
37
|
+
.hidden-tablet { display: none !important; }
|
38
|
+
// Hide everything else
|
39
|
+
.hidden-desktop { display: inherit !important; }
|
40
|
+
.visible-desktop { display: none !important ; }
|
41
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
.approval {
|
2
|
+
text-align: center;
|
3
|
+
padding: 12px 0px;
|
4
|
+
}
|
5
|
+
|
6
|
+
.approval-info {
|
7
|
+
width: 800px !important;
|
8
|
+
margin: 0 auto;
|
9
|
+
}
|
10
|
+
|
11
|
+
.content-ticker {
|
12
|
+
background: $grayLightest;
|
13
|
+
border: solid 1px $grayLight;
|
14
|
+
text-align: center;
|
15
|
+
padding: 50px 20px 40px 20px;
|
16
|
+
@include border-radius(6px);
|
17
|
+
position: relative;
|
18
|
+
|
19
|
+
p {
|
20
|
+
font-size: 3em;
|
21
|
+
line-height: normal;
|
22
|
+
}
|
23
|
+
|
24
|
+
.quotemarks-top, .quotemarks-bottom {
|
25
|
+
position: absolute;
|
26
|
+
@include serif-font(bold, 30px, normal);
|
27
|
+
}
|
28
|
+
.quotemarks-top {
|
29
|
+
top: 15px;
|
30
|
+
left: 15px;
|
31
|
+
}
|
32
|
+
.quotemarks-bottom {
|
33
|
+
bottom: 0px;
|
34
|
+
right: 15px;
|
35
|
+
}
|
36
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<script src="/javascripts/authenticate.js"></script>
|
2
|
+
<h1>Concerto Player Authentication</h1>
|
3
|
+
<div id="no-js">
|
4
|
+
It looks like Javascript is disabled. The Concerto Display will not work.
|
5
|
+
</div>
|
6
|
+
<% unless @display_temp_token.nil? %>
|
7
|
+
<div id="instructions">
|
8
|
+
Please enter the following token when setting up the screen in the
|
9
|
+
Concerto Panel:
|
10
|
+
<%= @display_temp_token %>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
<div id="status">
|
14
|
+
Waiting for first update...
|
15
|
+
</div>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<title> - Concerto Player Network Configuration</title>
|
6
|
+
<meta name="application-name" content="Concerto Player Network Configuration"/>
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
8
|
+
<link rel="stylesheet" type="text/css" href="/stylesheets/concerto-styles.css">
|
9
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<%#= render :partial => "elements/topmenu_contents" %>
|
13
|
+
<%#= render :partial => "elements/render_flash" %>
|
14
|
+
|
15
|
+
<div id="main" class="container-fluid">
|
16
|
+
|
17
|
+
<section class="viewblock">
|
18
|
+
<header class="viewblock-header light-version">
|
19
|
+
<div class="default-padding" style="padding: 40px 12px; text-align: center;">
|
20
|
+
<h1 style="font-size: 5em; letter-spacing: -0.025em;">Welcome to Concerto Player.</h1>
|
21
|
+
<h3>Your Concerto Player has not yet been configured. Follow these instructions to get up and running fast.</h3>
|
22
|
+
</div>
|
23
|
+
</header>
|
24
|
+
|
25
|
+
<div class="viewblock-cont">
|
26
|
+
<div class="default-padding">
|
27
|
+
|
28
|
+
<div class="row-fluid">
|
29
|
+
<div class="span3">
|
30
|
+
|
31
|
+
</div>
|
32
|
+
<div class="span6">
|
33
|
+
|
34
|
+
<br />
|
35
|
+
<%= yield %>
|
36
|
+
<br />
|
37
|
+
|
38
|
+
</div>
|
39
|
+
<div class="span3">
|
40
|
+
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
</section>
|
47
|
+
<br />
|
48
|
+
<div class="center">
|
49
|
+
<img src="/images/elements/logomark.png" alt="Concerto Player" width="70" />
|
50
|
+
</div>
|
51
|
+
|
52
|
+
</div>
|
53
|
+
|
54
|
+
</body>
|
55
|
+
</html>
|
@@ -1,6 +1,7 @@
|
|
1
|
+
!!! 5
|
1
2
|
%html
|
2
3
|
%head
|
3
4
|
%title="Concerto Player Network Configuration"
|
4
5
|
%script{:src=>"https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"}
|
5
|
-
%link{:rel=>"stylesheet", :type=>"text/css", :href=>"/
|
6
|
+
%link{:rel=>"stylesheet", :type=>"text/css", :href=>"/stylesheets/concerto-styles.css"}
|
6
7
|
%body=yield
|