ecrire 0.29.0 → 0.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +9 -0
- data/lib/ecrire/app/assets/javascripts/admin/navigation/{help.js.coffee → help.coffee} +0 -0
- data/lib/ecrire/app/assets/javascripts/admin/navigation/{save.js.coffee → save.coffee} +0 -0
- data/lib/ecrire/app/assets/javascripts/admin/posts/{filter.js.coffee → filter.coffee} +0 -2
- data/lib/ecrire/app/assets/javascripts/admin/posts/filters/{tags.js.coffee → tags.coffee} +7 -7
- data/lib/ecrire/app/assets/javascripts/admin/posts/header.coffee +4 -1
- data/lib/ecrire/app/assets/javascripts/admin/posts/list.coffee +2 -0
- data/lib/ecrire/app/assets/javascripts/admin/posts/title.coffee +5 -1
- data/lib/ecrire/app/assets/javascripts/admin/posts/titles.coffee +10 -2
- data/lib/ecrire/app/assets/javascripts/admin/profiles/menu.coffee +6 -0
- data/lib/ecrire/app/assets/javascripts/shared/{overlay.js.coffee → overlay.coffee} +2 -1
- data/lib/ecrire/app/assets/javascripts/shared/{popup.js.coffee → popup.coffee} +3 -0
- data/lib/ecrire/app/assets/stylesheets/admin/base.scss +62 -43
- data/lib/ecrire/app/assets/stylesheets/admin/navigation.scss +159 -80
- data/lib/ecrire/app/assets/stylesheets/admin/{header.scss → posts/header.scss} +56 -87
- data/lib/ecrire/app/assets/stylesheets/admin/posts/search.scss +70 -0
- data/lib/ecrire/app/assets/stylesheets/admin/posts.scss +42 -183
- data/lib/ecrire/app/assets/stylesheets/admin/tags.scss +101 -131
- data/lib/ecrire/app/assets/stylesheets/admin/title.scss +71 -104
- data/lib/ecrire/app/assets/stylesheets/ecrire.scss +0 -1
- data/lib/ecrire/app/assets/stylesheets/shared/popup.scss +7 -8
- data/lib/ecrire/app/controllers/admin/posts/titles_controller.rb +2 -5
- data/lib/ecrire/app/controllers/admin/posts_controller.rb +18 -1
- data/lib/ecrire/app/controllers/admin/profiles_controller.rb +6 -0
- data/lib/ecrire/app/controllers/admin/tags_controller.rb +7 -0
- data/lib/ecrire/app/helpers/admin/tags_helper.rb +13 -0
- data/lib/ecrire/app/helpers/application_helper.rb +1 -13
- data/lib/ecrire/app/models/post.rb +1 -1
- data/lib/ecrire/app/models/tag.rb +1 -1
- data/lib/ecrire/app/models/title.rb +2 -2
- data/lib/ecrire/app/views/admin/_navigation.html.erb +39 -0
- data/lib/ecrire/app/views/admin/posts/_post.html.erb +15 -6
- data/lib/ecrire/app/views/admin/posts/_search.html.erb +33 -0
- data/lib/ecrire/app/views/admin/posts/edit.html.erb +23 -24
- data/lib/ecrire/app/views/admin/posts/header/_base.html.erb +43 -47
- data/lib/ecrire/app/views/admin/posts/index.html.erb +31 -53
- data/lib/ecrire/app/views/admin/posts/new.html.erb +27 -17
- data/lib/ecrire/app/views/admin/posts/show.html.erb +8 -4
- data/lib/ecrire/app/views/admin/posts/tags/_tags.html.erb +3 -0
- data/lib/ecrire/app/views/admin/posts/titles/_form.html.erb +25 -20
- data/lib/ecrire/app/views/admin/posts/titles/_title.html.erb +6 -5
- data/lib/ecrire/app/views/admin/posts/titles/create.js.erb +6 -0
- data/lib/ecrire/app/views/admin/posts/titles/index.js.erb +1 -1
- data/lib/ecrire/app/views/admin/posts/titles/update.js.erb +1 -1
- data/lib/ecrire/app/views/admin/profiles/_menu.html.erb +18 -0
- data/lib/ecrire/app/views/admin/profiles/show.html.erb +0 -0
- data/lib/ecrire/app/views/admin/profiles/show.js.erb +1 -0
- data/lib/ecrire/app/views/admin/tags/_tag.html.erb +6 -2
- data/lib/ecrire/app/views/admin/tags/index.html.erb +28 -14
- data/lib/ecrire/app/views/admin/tags/index.js.erb +1 -1
- data/lib/ecrire/app/views/layouts/admin/application.html.erb +3 -7
- data/lib/ecrire/routes.rb +10 -2
- data/lib/ecrire/theme/template/assets/stylesheets/shared/base.scss +4 -1
- data/lib/ecrire/theme/template/assets/stylesheets/shared/posts.scss +1 -1
- data/lib/ecrire/theme/template/views/layouts/application.html.erb +3 -3
- data/lib/ecrire/theme/template/views/posts/_post.html.erb +1 -1
- data/lib/ecrire/version.rb +1 -1
- data/test/editor/controllers/posts_controller_test.rb +1 -1
- data/test/editor/models/tag_test.rb +17 -0
- data/test/editor/models/title_test.rb +1 -1
- data/test/fixtures/posts.yml +4 -0
- data/test/fixtures/tags.yml +1 -0
- data/test/theme/helpers/application_helper_test.rb +1 -1
- metadata +21 -15
- data/lib/ecrire/app/views/admin/posts/tags/index.html.erb +0 -37
- data/lib/ecrire/app/views/admin/posts/titles/_index.html.erb +0 -10
- data/lib/ecrire/app/views/admin/posts/titles/_titles.html.erb +0 -6
- data/lib/ecrire/app/views/admin/posts/titles/index.html.erb +0 -3
- data/lib/ecrire/app/views/sessions/_navigation.html.erb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23d8ccb53d87bb00aba6e240fefbd0da621e5954
|
4
|
+
data.tar.gz: 35d8d3c29186530fb4e303b410fdced9a0a6fdd9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de6a9644b8a2ec963f10a3161cd553f0180e8e53e7b7f69fc3f9c87e75b1e4337b4cbaf88b78510565a6c97e01d48ca3a38b39cfd69f01dc9733e173d7c59a60
|
7
|
+
data.tar.gz: ae21a45067f498ff5376bfb365606687b17669eff3efe1d38c030f365443ae01ae6c08c575eeb7871fcd039a7abcab61716ea65a9f19c528d5fa4c3106956d60
|
data/Rakefile
CHANGED
@@ -85,6 +85,15 @@ namespace :template do
|
|
85
85
|
Ecrire::Commands::Server.new(Port: 3000).run!
|
86
86
|
end
|
87
87
|
|
88
|
+
desc 'Run console for template development'
|
89
|
+
task :console do
|
90
|
+
require 'ecrire/commands/console'
|
91
|
+
Dir.chdir 'lib/ecrire/theme/template'
|
92
|
+
Rails.env = ENV['RAILS_ENV'] = 'development'
|
93
|
+
Ecrire::Commands::Console.new.run!
|
94
|
+
end
|
95
|
+
|
96
|
+
desc 'Routes available in your current template configuration'
|
88
97
|
task :routes do
|
89
98
|
Dir.chdir 'lib/ecrire/theme/template'
|
90
99
|
Rails.env = ENV['RAILS_ENV'] = 'development'
|
File without changes
|
File without changes
|
@@ -3,7 +3,6 @@ ObserveJS.bind 'Posts.Filter', class
|
|
3
3
|
for el in @element().elements
|
4
4
|
switch el.type
|
5
5
|
when 'text', 'hidden' then @on 'input', el, @search
|
6
|
-
when 'radio' then @on 'change', el, @search
|
7
6
|
|
8
7
|
document.querySelector('input.search').focus()
|
9
8
|
|
@@ -12,7 +11,6 @@ ObserveJS.bind 'Posts.Filter', class
|
|
12
11
|
for el in @element().elements
|
13
12
|
switch el.type
|
14
13
|
when 'text', 'hidden' then xhr.data.set(el.name, el.value) if el.value.length > 0
|
15
|
-
when 'radio' then xhr.data.set(el.name, el.value) if el.checked == true && el.value.length > 0
|
16
14
|
xhr.send()
|
17
15
|
|
18
16
|
document.querySelector('input.search').focus()
|
@@ -17,25 +17,25 @@ ObserveJS.bind 'Posts.Filter.Tags', class
|
|
17
17
|
|
18
18
|
input = @element().querySelector('input[type=hidden]')
|
19
19
|
span = @retrieve('span.tag')
|
20
|
-
span.textContent = el.
|
20
|
+
span.textContent = el.dataset.name
|
21
21
|
input.value = el.getAttribute('oid')
|
22
22
|
|
23
23
|
@retrieve('svg.placeholder').remove()
|
24
|
-
@element().appendChild(span)
|
25
24
|
@element().appendChild(@retrieve('svg.clear'))
|
25
|
+
@element().appendChild(span)
|
26
26
|
@element().classList.add 'tagged'
|
27
27
|
|
28
28
|
document.querySelector("[as='Overlay']").instance.remove()
|
29
29
|
|
30
30
|
@changed(input)
|
31
31
|
|
32
|
-
action: =>
|
33
|
-
|
34
|
-
if @element().classList.contains('tagged')
|
32
|
+
action: (e) =>
|
33
|
+
if @retrieve('svg.clear').contains(e.target)
|
35
34
|
@retrieve('svg.clear').remove()
|
36
|
-
@retrieve('span
|
35
|
+
@retrieve('span').remove()
|
37
36
|
@element().appendChild(@retrieve('svg.placeholder'))
|
38
|
-
@element().classList.remove
|
37
|
+
@element().classList.remove 'tagged'
|
38
|
+
input = @element().querySelector('input[type=hidden]')
|
39
39
|
input.value = null
|
40
40
|
@changed(input)
|
41
41
|
else
|
@@ -19,7 +19,10 @@ ObserveJS.bind 'Post.Header', class
|
|
19
19
|
@resize()
|
20
20
|
|
21
21
|
resize: =>
|
22
|
-
|
22
|
+
if document.querySelector('main').classList.contains('overlayed')
|
23
|
+
return
|
24
|
+
|
25
|
+
height = @maxHeight - document.body.scrollTop
|
23
26
|
if height < 0
|
24
27
|
height = 0
|
25
28
|
|
@@ -2,10 +2,14 @@ ObserveJS.bind 'Post.Title', class
|
|
2
2
|
loaded: =>
|
3
3
|
@on 'titles:index', @show
|
4
4
|
@on 'titles:update', document, @refresh
|
5
|
+
@on 'titles:create', document, @refresh
|
5
6
|
|
6
7
|
show: (e) =>
|
8
|
+
e.HTML.dataset.y = document.body.scrollTop
|
7
9
|
document.body.appendChild(e.HTML)
|
10
|
+
e.HTML.querySelector('form input[type=text]').focus()
|
8
11
|
|
9
12
|
refresh: (e) =>
|
10
|
-
|
13
|
+
if e.HTML?
|
14
|
+
@element().textContent = e.HTML.dataset.name
|
11
15
|
|
@@ -1,8 +1,16 @@
|
|
1
1
|
ObserveJS.bind 'Post.Titles', class
|
2
2
|
loaded: =>
|
3
|
+
@on 'submit', @clear
|
3
4
|
@on 'titles:update', document, @refresh
|
4
5
|
@on 'titles:create', document, @refresh
|
5
6
|
|
6
|
-
refresh: (e) =>
|
7
|
-
@element().innerHTML = e.HTML.innerHTML
|
8
7
|
|
8
|
+
clear: =>
|
9
|
+
@element().querySelector('div.errors')?.remove()
|
10
|
+
|
11
|
+
refresh: (e) =>
|
12
|
+
if e.HTML?
|
13
|
+
e = new CustomEvent('dialog:close', {bubbles: true})
|
14
|
+
@element().dispatchEvent(e)
|
15
|
+
else if e.ErrorHTML?
|
16
|
+
@element().insertBefore(e.ErrorHTML, @element().querySelector('h2'))
|
@@ -2,8 +2,9 @@ ObserveJS.bind 'Overlay', class
|
|
2
2
|
loaded: =>
|
3
3
|
@on 'click', @clicked
|
4
4
|
@on 'keyup', document, @escaped
|
5
|
+
@on 'dialog:close', @remove
|
5
6
|
|
6
|
-
@y =
|
7
|
+
@y = @element().dataset.y || document.body.scrollTop
|
7
8
|
main = document.body.querySelector('main')
|
8
9
|
main.classList.add('overlayed')
|
9
10
|
main.style.top = "-#{@y}px"
|
@@ -14,6 +14,8 @@ html {
|
|
14
14
|
}
|
15
15
|
|
16
16
|
body {
|
17
|
+
@include background(linear-gradient(darken($bright-blue, 5%), $bright-blue));
|
18
|
+
|
17
19
|
margin: 0;
|
18
20
|
padding: 0;
|
19
21
|
font-family: $fonts;
|
@@ -23,7 +25,16 @@ body {
|
|
23
25
|
}
|
24
26
|
|
25
27
|
a {
|
28
|
+
|
29
|
+
@include transition(color 0.2s ease-in);
|
30
|
+
|
26
31
|
color: $link-color;
|
32
|
+
text-decoration: none;
|
33
|
+
|
34
|
+
&:hover {
|
35
|
+
color: darken($link-color, 25%);
|
36
|
+
}
|
37
|
+
|
27
38
|
}
|
28
39
|
|
29
40
|
ol.list {
|
@@ -34,13 +45,17 @@ h1, h2, h3, h4, h5 {
|
|
34
45
|
font-weight: 100;
|
35
46
|
}
|
36
47
|
|
48
|
+
h1 {
|
49
|
+
font-size: 2.5em;
|
50
|
+
}
|
51
|
+
|
37
52
|
ul, ol {
|
38
53
|
margin: 0;
|
39
54
|
padding: 0;
|
40
55
|
list-style-type: none;
|
41
56
|
|
42
57
|
li {
|
43
|
-
|
58
|
+
padding: 1em 0;
|
44
59
|
}
|
45
60
|
}
|
46
61
|
|
@@ -60,30 +75,66 @@ input {
|
|
60
75
|
outline: none;
|
61
76
|
}
|
62
77
|
|
63
|
-
button, input[type=submit] {
|
64
|
-
border
|
65
|
-
|
78
|
+
button, input[type=submit], .button {
|
79
|
+
@include transition(border-color 0.2s, background-color 0.2s, box-shadow 0.2s, color 0.2s);
|
80
|
+
|
81
|
+
padding: 4px 8px;
|
82
|
+
margin: 0 0.5em;
|
83
|
+
|
84
|
+
border: 1px solid rgba(black, 0.25);
|
85
|
+
border-radius: 2px;
|
86
|
+
|
87
|
+
color: lighten($navy-blue, 100%);
|
88
|
+
background-color: rgba(white, 0.05);
|
89
|
+
|
66
90
|
font-family: inherit;
|
67
|
-
font-size:
|
91
|
+
font-size: 0.8em;
|
68
92
|
font-weight: inherit;
|
93
|
+
|
94
|
+
text-decoration: none;
|
95
|
+
|
69
96
|
cursor: pointer;
|
70
|
-
color: inherit;
|
71
97
|
outline: none;
|
72
|
-
}
|
73
98
|
|
74
|
-
|
75
|
-
|
99
|
+
box-shadow: inset 0 1px 0 0 transparent;
|
100
|
+
|
101
|
+
&.selected {
|
102
|
+
background-color: rgba(black, 0.3);
|
103
|
+
border-color: rgba(black, 0.3);
|
104
|
+
box-shadow: none;
|
105
|
+
}
|
106
|
+
|
107
|
+
&:hover:not(.selected) {
|
108
|
+
background-color: rgba(white, 0.05);
|
109
|
+
color: white;
|
110
|
+
border-color: rgba(black, 0.3);
|
111
|
+
box-shadow: inset 0 1px 0 0 rgba(white, 0.35);
|
112
|
+
}
|
113
|
+
|
114
|
+
&:active:not(.selected) {
|
115
|
+
box-shadow: inset 0 1px 2px 0 rgba(black, 0.3);
|
116
|
+
background-color: rgba(black, 0.3);
|
117
|
+
}
|
76
118
|
}
|
77
119
|
|
78
120
|
main {
|
79
121
|
@include flex(1 100%);
|
80
122
|
@include display(flex);
|
81
|
-
|
123
|
+
|
82
124
|
position: relative;
|
83
|
-
width: 100%;
|
84
125
|
z-index: 1;
|
126
|
+
|
127
|
+
top: 0;
|
128
|
+
left:0;
|
129
|
+
right:0;
|
130
|
+
bottom:0;
|
85
131
|
}
|
86
132
|
|
133
|
+
main > section {
|
134
|
+
@include flex(0 1 60vw);
|
135
|
+
background: white;
|
136
|
+
margin: 0 auto 0 0;
|
137
|
+
}
|
87
138
|
|
88
139
|
.hidden {
|
89
140
|
display: none;
|
@@ -100,35 +151,3 @@ main {
|
|
100
151
|
color: #FEFEFE;
|
101
152
|
}
|
102
153
|
|
103
|
-
.button {
|
104
|
-
@include transition(border-color 0.1s, background-color 0.1s, box-shadow 0.2s, color 0.1s);
|
105
|
-
border: 1px solid rgba(black, 0.25);
|
106
|
-
border-radius: 2px;
|
107
|
-
text-decoration: none;
|
108
|
-
padding: 4px 8px;
|
109
|
-
margin: 0 0.5em;
|
110
|
-
font-size: 0.8em;
|
111
|
-
text-transform: uppercase;
|
112
|
-
font-weight: bold;
|
113
|
-
background-color: rgba(white, 0.05);
|
114
|
-
color: lighten($navy-blue, 100%);
|
115
|
-
box-shadow: inset 0 1px 0 0 transparent, 0 0 2px 0 transparent;
|
116
|
-
|
117
|
-
&.selected {
|
118
|
-
background-color: rgba(black, 0.3);
|
119
|
-
border-color: rgba(black, 0.3);
|
120
|
-
box-shadow: none;
|
121
|
-
}
|
122
|
-
|
123
|
-
&:hover:not(.selected) {
|
124
|
-
background-color: rgba(white, 0.05);
|
125
|
-
color: white;
|
126
|
-
border-color: rgba(black, 0.3);
|
127
|
-
box-shadow: inset 0 1px 0 0 rgba(white, 0.35), 0 0 2px 0 rgba(black, 0.2);
|
128
|
-
}
|
129
|
-
|
130
|
-
&:active:not(.selected) {
|
131
|
-
box-shadow: inset 0 1px 2px 0 rgba(black, 0.3), 0 0 2px 0 transparent;
|
132
|
-
background-color: rgba(black, 0.3);
|
133
|
-
}
|
134
|
-
}
|
@@ -1,106 +1,185 @@
|
|
1
|
-
|
1
|
+
#AdminNavigation {
|
2
2
|
@include display(flex);
|
3
|
-
|
3
|
+
@include flex-direction(column);
|
4
|
+
@include flex(1 0 180px);
|
5
|
+
max-width: 200px;
|
6
|
+
margin-left: auto;
|
7
|
+
color: $light-blue;
|
8
|
+
border-left: 1px solid rgba(0,0,0,0.1);
|
4
9
|
}
|
5
10
|
|
6
|
-
|
11
|
+
#AdminNavigation > a.home {
|
7
12
|
@include display(flex);
|
8
|
-
@include align-content(flex-start);
|
9
13
|
@include align-items(center);
|
10
|
-
@include justify-content(
|
11
|
-
@include flex-wrap(wrap);
|
14
|
+
@include justify-content(center);
|
12
15
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
16
|
+
padding: 8px 12px;
|
17
|
+
margin-top: auto;
|
18
|
+
|
19
|
+
&:hover > svg {
|
20
|
+
fill: lighten($light-blue, 45%);
|
21
|
+
}
|
22
|
+
|
23
|
+
& > svg {
|
24
|
+
@include transition(fill 0.2s ease-in);
|
25
|
+
width: 14px;
|
26
|
+
height: 14px;
|
27
|
+
margin-right: 12px;
|
23
28
|
|
24
|
-
|
25
|
-
color: darken($gray-blue, 30%);
|
26
|
-
border-bottom: 1px solid darken($gray-blue, 75%);
|
27
|
-
|
28
|
-
.button {
|
29
|
-
@include display(flex);
|
30
|
-
@include flex(0 0 auto);
|
31
|
-
@include align-items(center);
|
32
|
-
@include justify-content(center);
|
33
|
-
|
34
|
-
border-radius: 0;
|
35
|
-
border: none;
|
36
|
-
background: none;
|
37
|
-
|
38
|
-
height: 100%;
|
39
|
-
|
40
|
-
text-decoration: none;
|
41
|
-
padding: 4px 2em;
|
42
|
-
margin: 0;
|
43
|
-
font-size: 0.8em;
|
44
|
-
text-transform: uppercase;
|
45
|
-
font-weight: lighter;
|
46
|
-
color: inherit;
|
47
|
-
text-shadow: none;
|
48
|
-
|
49
|
-
&.selected {
|
50
|
-
color: lighten($navy-blue, 100%);
|
51
|
-
}
|
52
|
-
|
53
|
-
&:hover:not(.selected) {
|
54
|
-
text-decoration: underline;
|
55
|
-
box-shadow: none;
|
56
|
-
}
|
57
|
-
|
58
|
-
&:active:not(.selected) {
|
59
|
-
color: lighten($navy-blue, 100%);
|
60
|
-
text-decoration: underline;
|
61
|
-
box-shadow: none;
|
62
|
-
}
|
29
|
+
fill: $light-blue;
|
63
30
|
}
|
64
31
|
}
|
65
32
|
|
66
|
-
|
33
|
+
#AdminNavigation > div.current.user {
|
34
|
+
position: relative;
|
35
|
+
margin-bottom: 1vh;
|
36
|
+
}
|
37
|
+
|
38
|
+
#AdminNavigation > div.current.user > a.home {
|
39
|
+
text-align: center;
|
40
|
+
display: block;
|
41
|
+
font-size: 0.8em;
|
42
|
+
}
|
43
|
+
|
44
|
+
#AdminNavigation > div.current.user > a.profile.menu {
|
67
45
|
@include display(flex);
|
68
|
-
@include flex(0 0 auto);
|
69
46
|
@include align-items(center);
|
70
|
-
@include
|
47
|
+
@include align-content(center);
|
48
|
+
@include justify-content(space-between);
|
71
49
|
|
72
|
-
|
73
|
-
|
50
|
+
border-radius: 2px;
|
51
|
+
margin: 2vh 5% 0 5%;
|
52
|
+
background-color: rgba(darken($bright-blue, 25%), 0.2);
|
53
|
+
padding: 4px 8px;
|
74
54
|
|
75
|
-
|
76
|
-
|
55
|
+
&:hover svg {
|
56
|
+
fill: lighten($bright-blue, 25%);
|
57
|
+
}
|
58
|
+
}
|
77
59
|
|
78
|
-
|
79
|
-
|
60
|
+
#AdminNavigation > div.current.user > a.profile.menu > span {
|
61
|
+
text-align: center;
|
62
|
+
}
|
63
|
+
|
64
|
+
#AdminNavigation > div.current.user > a.profile.menu > svg {
|
65
|
+
@include transition(fill 0.1s ease-in);
|
80
66
|
|
81
|
-
|
82
|
-
|
67
|
+
width: 18px;
|
68
|
+
height: 18px;
|
69
|
+
fill: rgba(darken($bright-blue, 25%), 0.7);
|
70
|
+
}
|
83
71
|
|
84
|
-
|
85
|
-
|
72
|
+
#AdminNavigation h2 {
|
73
|
+
@include display(flex);
|
74
|
+
@include align-items(center);
|
86
75
|
|
87
|
-
|
88
|
-
|
76
|
+
font-size: 1.2em;
|
77
|
+
padding: 8px;
|
78
|
+
margin: 0 1vw;
|
79
|
+
font-weight: bold;
|
80
|
+
}
|
89
81
|
|
90
|
-
|
91
|
-
|
82
|
+
#AdminNavigation h2.selected, #AdminNavigation h2 + div > a.selected {
|
83
|
+
color: white;
|
92
84
|
font-weight: bold;
|
85
|
+
}
|
93
86
|
|
94
|
-
|
87
|
+
#AdminNavigation h2 > a {
|
88
|
+
@include flex(1);
|
89
|
+
color: inherit;
|
90
|
+
}
|
91
|
+
|
92
|
+
#AdminNavigation h2 + div {
|
93
|
+
@include display(flex);
|
94
|
+
@include flex-direction(column);
|
95
|
+
|
96
|
+
margin: 0 1vw 1vh 1vw;
|
97
|
+
}
|
95
98
|
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
+
#AdminNavigation h2 + div > a {
|
100
|
+
padding: 8px 20px;
|
101
|
+
color: $light-blue;
|
102
|
+
font-size: 0.8em;
|
103
|
+
}
|
99
104
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
105
|
+
#AdminNavigation a {
|
106
|
+
color: $light-blue;
|
107
|
+
&:hover {
|
108
|
+
color: lighten($light-blue, 45%);
|
104
109
|
}
|
110
|
+
}
|
105
111
|
|
112
|
+
#AdminNavigation form.logout {
|
113
|
+
margin-top: auto;
|
114
|
+
border-top: 1px solid $light-blue;
|
115
|
+
text-align: center;
|
106
116
|
}
|
117
|
+
|
118
|
+
#AdminNavigation form.logout input[type=submit] {
|
119
|
+
width: 100%;
|
120
|
+
}
|
121
|
+
|
122
|
+
#AdminNavigation [as='Popup'] {
|
123
|
+
position: absolute;
|
124
|
+
margin: 2vh 5% 0 5%;
|
125
|
+
top: 0;
|
126
|
+
left: 0;
|
127
|
+
right: 0;
|
128
|
+
width: auto;
|
129
|
+
|
130
|
+
background-color: $light-blue;
|
131
|
+
}
|
132
|
+
|
133
|
+
#AdminNavigation [as='Popup'] > div.current.user {
|
134
|
+
@include display(flex);
|
135
|
+
@include align-items(center);
|
136
|
+
@include align-content(center);
|
137
|
+
@include justify-content(space-between);
|
138
|
+
|
139
|
+
padding: 4px 8px;
|
140
|
+
}
|
141
|
+
|
142
|
+
#AdminNavigation [as='Popup'] > div.current.user > a {
|
143
|
+
@include display(flex);
|
144
|
+
@include flex(0 auto);
|
145
|
+
padding: 0;
|
146
|
+
cursor: pointer;
|
147
|
+
}
|
148
|
+
|
149
|
+
#AdminNavigation [as='Popup'] > div.current.user > a > svg {
|
150
|
+
width: 18px;
|
151
|
+
height: 18px;
|
152
|
+
margin-top: 2px;
|
153
|
+
fill: rgba(darken($bright-blue, 25%), 0.7);
|
154
|
+
}
|
155
|
+
|
156
|
+
#AdminNavigation [as='Popup'] > form.logout {
|
157
|
+
@include display(flex);
|
158
|
+
margin: 8px 0;
|
159
|
+
color: $red;
|
160
|
+
}
|
161
|
+
|
162
|
+
#AdminNavigation [as='Popup'] > form.logout > button {
|
163
|
+
@include display(flex);
|
164
|
+
@include align-items(center);
|
165
|
+
@include align-content(center);
|
166
|
+
|
167
|
+
width: 100%;
|
168
|
+
padding: 4px 8px;
|
169
|
+
margin: 8px;
|
170
|
+
font-weight: bold;
|
171
|
+
background: $red;
|
172
|
+
color: darken($red, 25%);
|
173
|
+
|
174
|
+
&:hover {
|
175
|
+
color: lighten($red, 50%);
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|
179
|
+
#AdminNavigation [as='Popup'] > form.logout > button > svg {
|
180
|
+
width: 12px;
|
181
|
+
height: 12px;
|
182
|
+
fill: darken($red, 15%);
|
183
|
+
margin: 1px 8px 0 0;
|
184
|
+
}
|
185
|
+
|