arctic_admin 2.1.0 → 4.0.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9c81c4c3f36dac95ddfccb6661eab8269f79458b
4
- data.tar.gz: 26d249a62455ba04523ae0e551ceac836d008276
2
+ SHA256:
3
+ metadata.gz: d80f79149e44a52c1d586e425e82313f2d83aea8455d59eaba12a72fb94abc30
4
+ data.tar.gz: ff9b250756327bb54eb0ee374d4cacb0a9cb7b6090da861ee85beceda2534f62
5
5
  SHA512:
6
- metadata.gz: a7f376f0675e4ee0147d3d00b238f67be7aadc4c536a2812461927eaa544aaadaeed93943ee2333456288d326b043da8d929d7229eb4d06384587d957adc87d5
7
- data.tar.gz: 50f3739270b41956e55ac44f6bb86b641aa54df211c3c9a9bb576acbaac5bd513e6f678eb4f338469a8d27768fa0f780e35a54ce47ada4c27bd1763b9ed3a2b6
6
+ metadata.gz: 6844d6c0fbd22ce592aa64c9f5f27e93033564f44bd7856a3e9d2f3f0ab52ffb5c8a44c106ec9eac85e7dd50c6213649930bfa303a451b4ea867405bc9ded0fd
7
+ data.tar.gz: 159bce7c3570d89754af6964c035497b6adbc0a87f6f709a06fa556c4ddfdd924a48866518336e6424a81cd0efa6ae87df472c3e9f8442d10bf4ef846bb62548
data/Readme.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # ArcticAdmin
2
2
  [![Gem Version](https://img.shields.io/gem/v/arctic_admin.svg)](https://rubygems.org/gems/arctic_admin)
3
3
  [![Gem Downloads](https://img.shields.io/gem/dt/arctic_admin.svg)](https://rubygems.org/gems/arctic_admin)
4
+ [![Gem Version](https://img.shields.io/npm/v/arctic_admin.svg)](https://www.npmjs.com/package/arctic_admin)
5
+ [![Gem Downloads](https://img.shields.io/npm/dt/arctic_admin.svg)](https://www.npmjs.com/package/arctic_admin)
4
6
 
5
7
  Simple theme for ActiveAdmin :ok_hand:
6
8
 
@@ -73,6 +75,41 @@ In your `active_admin.js`, include the js file:
73
75
 
74
76
  :exclamation: **Remove the line `//= require active_admin/base`**
75
77
 
78
+ ## Use with webpacker
79
+
80
+ ### 1 - Preparation
81
+
82
+ Install the assets from npm or yarn
83
+
84
+ ```
85
+ yarn add arctic_admin
86
+ ```
87
+
88
+
89
+ ### 2 - CSS
90
+
91
+ In your `app/javascript/stylesheets/active_admin.scss`, add the line:
92
+
93
+ ```scss
94
+ @import '~arctic_admin/src/scss/main';
95
+ ```
96
+
97
+ Remove:
98
+
99
+ ```scss
100
+ @import "~@activeadmin/activeadmin/src/scss/mixins";
101
+ @import "~@activeadmin/activeadmin/src/scss/base";
102
+ ```
103
+
104
+ ### 3 - JS
105
+
106
+ In your `app/javascript/packs/active_admin.js`, add the line:
107
+
108
+ ```js
109
+ import 'arctic_admin'
110
+ ```
111
+
112
+
76
113
  ### Customization
77
114
 
78
115
  For this, you need to use sass to custom the theme.
@@ -1,77 +1,2 @@
1
- //= require jquery
2
- //= require jquery_ujs
3
1
  //= require active_admin/base
4
-
5
- $(function() {
6
- $(document).on('click touchstart', '#sidebar', function(e) {
7
- var position = $(this).position();
8
- var width = $(this).width();
9
- var target = e.target;
10
- if ((e.pageX < position.left) && (target.tagName != 'SELECT') && (target.tagName != 'OPTION')) {
11
- if ($(this).css('right') == '0px') {
12
- $(this).css('position', 'fixed');
13
- $(this).animate({
14
- right: "-="+width
15
- }, 600, function() {
16
- $(this).removeAttr('style');
17
- animationFilterDone = true;
18
- });
19
- } else {
20
- $(this).animate({
21
- right: "+="+width
22
- }, 600, function() {
23
- $(this).css('position', 'absolute');
24
- animationFilterDone = true;
25
- });
26
- }
27
- }
28
- });
29
-
30
- var animationDone = true;
31
- $(document).on('click touchstart', '#utility_nav', function(e) {
32
- var position = $(this).position();
33
- var tabs = $('#tabs');
34
- var width = Math.round(tabs[0].getBoundingClientRect().width);
35
-
36
- if (e.pageX < (position.left + 40)) {
37
- if(animationDone == true) {
38
- animationDone = false;
39
- if (tabs.css('left') == '0px') {
40
- tabs.animate({
41
- left: "-="+width
42
- }, 400, function() {
43
- animationDone = true;
44
- });
45
- } else {
46
- tabs.animate({
47
- left: "+="+width
48
- }, 400, function() {
49
- animationDone = true;
50
- });
51
- }
52
- }
53
- }
54
- });
55
-
56
- $(document).on('click touchstart', 'body', function(e) {
57
- var tabs = $('#tabs');
58
- var width = Math.round(tabs[0].getBoundingClientRect().width);
59
- if (tabs.css('left') == '0px') {
60
- if (e.pageX > width && e.pageY > 60) {
61
- if(animationDone == true) {
62
- animationDone = false;
63
- tabs.animate({
64
- left: "-="+width
65
- }, 400, function() {
66
- animationDone = true;
67
- });
68
- }
69
- }
70
- }
71
- });
72
-
73
- $(document).on('click', '#tabs .has_nested', function(e) {
74
- e.stopPropagation();
75
- $(this).toggleClass('open');
76
- });
77
- });
2
+ //= require ./main
@@ -0,0 +1,50 @@
1
+ document.addEventListener('DOMContentLoaded', () => {
2
+
3
+ // right filter sidebar
4
+ const sidebar = document.querySelector('#sidebar')
5
+ if (sidebar) {
6
+ sidebar.addEventListener('click', event => {
7
+ const insideSection = document.querySelector('#filters_sidebar_section')
8
+ if (!(event.target === insideSection || insideSection.contains(event.target))) {
9
+ sidebar.classList.toggle('sidebar_open')
10
+ }
11
+ })
12
+ }
13
+
14
+ const menuButton = document.querySelector('#utility_nav')
15
+ const menu = document.querySelector('#tabs')
16
+
17
+ // toggle menu sidebar with the menu button
18
+ menuButton.addEventListener('click', event => {
19
+ const currentUser = document.querySelector('#current_user')
20
+ const logout = document.querySelector('#logout')
21
+ const forbiddenLinks = event.target === logout ||
22
+ logout.contains(event.target) ||
23
+ event.target === currentUser ||
24
+ currentUser.contains(event.target)
25
+ if (!forbiddenLinks) {
26
+ menu.classList.toggle('tabs_open')
27
+ }
28
+ })
29
+
30
+ // close left menu sidebar on any click outside
31
+ document.body.addEventListener('click', event => {
32
+ const forbiddenLinks = event.target === menu ||
33
+ menu.contains(event.target) ||
34
+ event.target === menuButton ||
35
+ menuButton.contains(event.target)
36
+ if (menu.classList.contains('tabs_open') && !forbiddenLinks) {
37
+ menu.classList.remove('tabs_open')
38
+ }
39
+ })
40
+
41
+ // toggle of nested menu items
42
+ const nestedMenuItem = document.querySelector('#tabs .has_nested')
43
+ if (nestedMenuItem) {
44
+ nestedMenuItem.addEventListener('click', (e) => {
45
+ e.stopPropagation()
46
+ nestedMenuItem.classList.toggle('open')
47
+ })
48
+ }
49
+
50
+ })
@@ -2,6 +2,11 @@ code {
2
2
  display: block;
3
3
  background-color: #272822;
4
4
  padding: 5px;
5
- margin: 10px 0;
6
5
  color: white;
7
6
  }
7
+
8
+ hr {
9
+ border: 1px solid $border-color;
10
+ color: $primary-color;
11
+ margin: 10px auto 25px auto;
12
+ }
@@ -0,0 +1,54 @@
1
+ @import 'reset';
2
+
3
+ @import './variables/variables';
4
+
5
+ @import './mixins/mixins';
6
+
7
+ @import 'common';
8
+ @import 'buttons';
9
+ @import 'grid';
10
+
11
+ @import './components/columns';
12
+ @import './components/comments';
13
+ @import './components/date_picker';
14
+ @import './components/dialogs';
15
+ @import './components/flash';
16
+ @import './components/form';
17
+ @import './components/inputs';
18
+ @import './components/pagination';
19
+ @import './components/panel_contents';
20
+ @import './components/select2';
21
+ @import './components/status_tag';
22
+ @import './components/tables';
23
+ @import './components/tabs';
24
+
25
+ @import './layouts/filter';
26
+ @import './layouts/footer';
27
+ @import './layouts/header';
28
+ @import './layouts/main_content';
29
+ @import './layouts/sidebar';
30
+ @import './layouts/wrapper';
31
+
32
+ @import './pages/form';
33
+ @import './pages/index';
34
+ @import './pages/login';
35
+ @import './pages/show';
36
+ body {
37
+ font-family: $font-family-body;
38
+ background-color: $body-background;
39
+ color: $text-color;
40
+ }
41
+
42
+ h1,
43
+ h2,
44
+ h3,
45
+ h4,
46
+ h5,
47
+ h6 {
48
+ margin-top: 0;
49
+ }
50
+
51
+ a {
52
+ color: $primary-color;
53
+ text-decoration: none;
54
+ }
@@ -35,4 +35,4 @@
35
35
  text-align: center;
36
36
  }
37
37
  }
38
- }
38
+ }
@@ -40,7 +40,7 @@
40
40
 
41
41
  .inline-hints {
42
42
  margin: 5px 0 20px 25%;
43
- font-size: 14px;
43
+ font-size: $font-size;
44
44
  font-style: italic;
45
45
  }
46
46
 
@@ -48,7 +48,7 @@
48
48
  color: $error;
49
49
  margin-top: 5px;
50
50
  margin-bottom: 20px;
51
- font-size: 14px;
51
+ font-size: $font-size;
52
52
  }
53
53
 
54
54
  label.error {
@@ -8,9 +8,9 @@ input[type="number"], textarea {
8
8
 
9
9
  display: block;
10
10
  width: 100%;
11
- height: 36px;
11
+ height: $input-height;
12
12
  padding: 6px 12px;
13
- font-size: 14px;
13
+ font-size: $font-size;
14
14
  line-height: 1.57142857;
15
15
  color: $text-color;
16
16
  background-color: #fff;
@@ -88,7 +88,7 @@ select {
88
88
  border: 1px solid $border-color;
89
89
  outline: 0;
90
90
  border-radius: $border-radius;
91
- font-size: 14px;
91
+ font-size: $font-size;
92
92
  color: #5a5a5a;
93
93
  @include transition(border-color ease-in-out .15s);
94
94
 
@@ -0,0 +1,50 @@
1
+ .select2-container--default .select2-selection--single .select2-selection__rendered{
2
+ line-height: $input-height;
3
+ color: $text-color;
4
+ font-size: $font-size;
5
+ }
6
+
7
+ .select2-container .select2-selection--single{
8
+ height: $input-height;
9
+ outline: 0;
10
+ }
11
+
12
+ .select2-container--default .select2-selection--single .select2-selection__arrow{
13
+ height: $input-height;
14
+ }
15
+
16
+ .select2-container--default .select2-selection--single {
17
+ border-color: $border-color;
18
+ }
19
+
20
+ .select2-container .select2-selection--single .select2-selection__rendered{
21
+ padding-left: 12px;
22
+ }
23
+
24
+ .select2-dropdown{
25
+ border-color: $border-color;
26
+ }
27
+
28
+ .select2-container--default .select2-results__option--highlighted[aria-selected]{
29
+ background-color: $primary_color;
30
+ }
31
+
32
+ .select2-container--default .select2-search--dropdown .select2-search__field{
33
+ border-color: $border-color;
34
+ }
35
+
36
+ .select2-container--default .select2-results__option[aria-selected=true]{
37
+ background_color: $body-background;
38
+ }
39
+
40
+ .select2-search--dropdown .select2-search__field{
41
+ padding-left: 12px;
42
+ }
43
+
44
+ .select2-results{
45
+ font-size: $font-size;
46
+ }
47
+
48
+ .select2-results__option{
49
+ padding-left: 12px;
50
+ }
@@ -6,12 +6,12 @@
6
6
  padding: 3px 5px 2px 5px;
7
7
  font-size: 0.8em;
8
8
  border-radius: $border-radius;
9
- }
10
9
 
11
- .status_tag.ok, .status_tag.published, .status_tag.complete, .status_tag.completed, .status_tag.green {
12
- background-color: $status-tag-background-valid-color;
13
- }
10
+ &.ok, &.published, &.complete, &.completed, &.green, &.yes {
11
+ background-color: $status-tag-background-valid-color;
12
+ }
14
13
 
15
- .status_tag.cancel, .status_tag.red {
16
- background-color: $status-tag-background-error-color;
17
- }
14
+ &.cancel, &.red, &.no {
15
+ background-color: $status-tag-background-error-color;
16
+ }
17
+ }
@@ -46,7 +46,7 @@ tbody tr {
46
46
  }
47
47
 
48
48
  th {
49
- font-size: 14px;
49
+ font-size: $font-size;
50
50
  }
51
51
 
52
52
  td {
@@ -2,11 +2,11 @@
2
2
  border: 1px solid $border-color;
3
3
 
4
4
  .nav {
5
- text-align: center;
6
5
  border-bottom: 1px solid $border-color;
7
6
 
8
7
  li {
9
8
  display: inline-block;
9
+ text-align: center;
10
10
  @include outline();
11
11
 
12
12
  a {
@@ -22,7 +22,7 @@
22
22
  }
23
23
 
24
24
  .input {
25
- margin-bottom: 15px;
25
+ margin-bottom: 10px;
26
26
 
27
27
  input, select {
28
28
  height: 30px;
@@ -49,6 +49,11 @@
49
49
  .filter_date_range input {
50
50
  width: 45%;
51
51
  display: inline-block;
52
+
53
+ // consistent look of all filters
54
+ &:nth-child(2) {
55
+ float: right;
56
+ }
52
57
  }
53
58
 
54
59
  input[type="submit"] {
@@ -56,9 +61,21 @@
56
61
  line-height: 31px;
57
62
  margin-right: 10px;
58
63
  }
64
+
65
+ &.panel {
66
+ position: relative;
67
+ }
59
68
  }
60
69
 
61
70
  #search-status-_sidebar_section {
62
71
  font-size: 14px;
63
72
  }
64
- }
73
+
74
+ // 'Filter' and 'Clear Filters' buttons
75
+ .buttons {
76
+ display: flex;
77
+ justify-content: space-between;
78
+ align-items: center;
79
+ margin-top: 1rem;
80
+ }
81
+ }
@@ -14,11 +14,11 @@ body.active_admin.logged_in {
14
14
  }
15
15
 
16
16
  #active_admin_content {
17
- padding: 30px 0;
17
+ padding: 20px 0;
18
18
  @include clear-fix();
19
19
 
20
20
  @media screen and (min-width: $lg-width) {
21
- padding: 30px 25px;
21
+ padding: 20px 25px;
22
22
  }
23
23
  }
24
24
  }
@@ -8,6 +8,12 @@
8
8
  z-index: 1;
9
9
  overflow: auto;
10
10
  left: - $header-width;
11
+ transition: .5s;
12
+ transition-timing-function: ease-in-out;
13
+
14
+ &.tabs_open {
15
+ left: 0;
16
+ }
11
17
 
12
18
  @media screen and (min-width: $sm-width) {
13
19
  top: 60px;
@@ -23,7 +29,7 @@
23
29
 
24
30
  li {
25
31
  width: 100%;
26
- font-size: 14px;
32
+ font-size: $font-size;
27
33
  line-height: 38px;
28
34
  cursor: pointer;
29
35
 
@@ -58,6 +58,6 @@
58
58
  text-rendering: auto;
59
59
  -webkit-font-smoothing: antialiased;
60
60
  -moz-osx-font-smoothing: grayscale;
61
- font: 900 normal normal 14px/1 'Font Awesome 5 Free';
61
+ font: 900 normal normal 14px/1 'Font Awesome 5 Free', 'Font Awesome 5 Pro';
62
62
  content: $code-icon;
63
63
  }
@@ -17,7 +17,7 @@ body.logged_in {
17
17
  margin: auto 0;
18
18
  padding-top: 8px;
19
19
  text-align: right;
20
- font-size: 14px;
20
+ font-size: $font-size;
21
21
 
22
22
  @media screen and (min-width: $sm-width) {
23
23
  padding-bottom: 0;
@@ -85,7 +85,7 @@ body.logged_in {
85
85
  }
86
86
 
87
87
  label {
88
- font-size: 14px;
88
+ font-size: $font-size;
89
89
  cursor: pointer;
90
90
  padding: 5px 5px 5px 0;
91
91
  }
@@ -6,7 +6,7 @@ body.index {
6
6
 
7
7
  .table_tools {
8
8
  margin-bottom: 20px;
9
- font-size: 14px;
9
+ font-size: $font-size;
10
10
 
11
11
  &:after {
12
12
  content: '';
@@ -47,7 +47,7 @@ body.index {
47
47
  }
48
48
 
49
49
  #index_footer {
50
- font-size: 14px;
50
+ font-size: $font-size;
51
51
  }
52
52
 
53
53
  .sortable {
@@ -62,7 +62,7 @@ body.index {
62
62
  @include transform(translateY(-50%));
63
63
 
64
64
  @media screen and (min-width: $md-width) {
65
- font-size: 14px/1;
65
+ font-size: $font-size/1;
66
66
  }
67
67
  }
68
68
 
@@ -76,13 +76,16 @@ body.index {
76
76
  }
77
77
 
78
78
  .table_actions {
79
+ margin-bottom: -4px;
80
+
79
81
  .member_link {
80
82
  @include primary-button($primary-color, white);
81
- padding: 2px 9px;
83
+ padding: 4px 8px;
82
84
  margin-right: 4px;
85
+ margin-bottom: 4px;
83
86
  }
84
87
  }
85
-
88
+
86
89
  .scopes {
87
90
  .scope {
88
91
  @include group-button($primary-color);
@@ -91,8 +94,14 @@ body.index {
91
94
 
92
95
  #sidebar {
93
96
  position: fixed;
97
+ transition: .5s;
98
+ transition-timing-function: ease-in-out;
94
99
  right: - $filter-width;
95
100
 
101
+ &.sidebar_open {
102
+ right: 0;
103
+ }
104
+
96
105
  @media screen and (min-width: $x-lg-width) {
97
106
  right: - $lg-filter-width;
98
107
  }
@@ -113,4 +122,4 @@ body.index {
113
122
  padding: 15px 10px;
114
123
  }
115
124
  }
116
- }
125
+ }
@@ -6,4 +6,7 @@ $lg-screen-header-width: calc(100% - 250px) !default;
6
6
  $filter-width: 230px !default;
7
7
  $screen-filter-width: calc(100% - 230px) !default;
8
8
  $lg-filter-width: 270px !default;
9
- $lg-screen-filter-width: calc(100% - 270px) !default;
9
+ $lg-screen-filter-width: calc(100% - 270px) !default;
10
+
11
+ $font-size: 14px !default;
12
+ $input-height: 36px !default;
@@ -1,3 +1,3 @@
1
1
  module ArcticAdmin
2
- VERSION = "2.1.0"
2
+ VERSION = "4.0.0.alpha"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arctic_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 4.0.0.alpha
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clément Prod'homme
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-01 00:00:00.000000000 Z
11
+ date: 2020-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -47,7 +47,7 @@ dependencies:
47
47
  version: 1.1.0
48
48
  - - "<"
49
49
  - !ruby/object:Gem::Version
50
- version: '2.0'
50
+ version: '3.0'
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,35 +57,21 @@ dependencies:
57
57
  version: 1.1.0
58
58
  - - "<"
59
59
  - !ruby/object:Gem::Version
60
- version: '2.0'
61
- - !ruby/object:Gem::Dependency
62
- name: jquery-rails
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :runtime
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
60
+ version: '3.0'
75
61
  - !ruby/object:Gem::Dependency
76
62
  name: font-awesome-sass
77
63
  requirement: !ruby/object:Gem::Requirement
78
64
  requirements:
79
65
  - - "~>"
80
66
  - !ruby/object:Gem::Version
81
- version: 5.6.1
67
+ version: '5.0'
82
68
  type: :runtime
83
69
  prerelease: false
84
70
  version_requirements: !ruby/object:Gem::Requirement
85
71
  requirements:
86
72
  - - "~>"
87
73
  - !ruby/object:Gem::Version
88
- version: 5.6.1
74
+ version: '5.0'
89
75
  description: A responsive theme for Active Admin
90
76
  email:
91
77
  executables: []
@@ -111,11 +97,13 @@ files:
111
97
  - app/assets/fonts/Lato-Regular.woff
112
98
  - app/assets/fonts/Lato-Regular.woff2
113
99
  - app/assets/javascripts/arctic_admin/base.js
100
+ - app/assets/javascripts/arctic_admin/main.js
114
101
  - app/assets/stylesheets/arctic_admin/_base.scss
115
102
  - app/assets/stylesheets/arctic_admin/_buttons.scss
116
103
  - app/assets/stylesheets/arctic_admin/_common.scss
117
104
  - app/assets/stylesheets/arctic_admin/_fonts.scss
118
105
  - app/assets/stylesheets/arctic_admin/_grid.scss
106
+ - app/assets/stylesheets/arctic_admin/_main.scss
119
107
  - app/assets/stylesheets/arctic_admin/_reset.scss
120
108
  - app/assets/stylesheets/arctic_admin/components/_columns.scss
121
109
  - app/assets/stylesheets/arctic_admin/components/_comments.scss
@@ -126,6 +114,7 @@ files:
126
114
  - app/assets/stylesheets/arctic_admin/components/_inputs.scss
127
115
  - app/assets/stylesheets/arctic_admin/components/_pagination.scss
128
116
  - app/assets/stylesheets/arctic_admin/components/_panel_contents.scss
117
+ - app/assets/stylesheets/arctic_admin/components/_select2.scss
129
118
  - app/assets/stylesheets/arctic_admin/components/_status_tag.scss
130
119
  - app/assets/stylesheets/arctic_admin/components/_tables.scss
131
120
  - app/assets/stylesheets/arctic_admin/components/_tabs.scss
@@ -150,7 +139,7 @@ files:
150
139
  - app/assets/stylesheets/arctic_admin/variables/_variables.scss
151
140
  - lib/arctic_admin.rb
152
141
  - lib/arctic_admin/version.rb
153
- homepage: https://github.com/cle61/arctic_admin
142
+ homepage: https://github.com/cprodhomme/arctic_admin
154
143
  licenses:
155
144
  - MIT
156
145
  metadata: {}
@@ -165,12 +154,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
154
  version: '0'
166
155
  required_rubygems_version: !ruby/object:Gem::Requirement
167
156
  requirements:
168
- - - ">="
157
+ - - ">"
169
158
  - !ruby/object:Gem::Version
170
- version: '0'
159
+ version: 1.3.1
171
160
  requirements: []
172
- rubyforge_project:
173
- rubygems_version: 2.6.8
161
+ rubygems_version: 3.0.3
174
162
  signing_key:
175
163
  specification_version: 4
176
164
  summary: Arctic Admin theme for ActiveAdmin