captive-admin 0.1.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: de70928a6c6a5f945fd2e3cb6fc87625ee195df6188760346a8409af948f3dec
4
+ data.tar.gz: 5976a7d3d9b960a6c112e0cc78ed56f1a4156cff2fc28e29d12e8c8633ba5620
5
+ SHA512:
6
+ metadata.gz: 4dda41f7c744488109b1eb258b051990a9b2715b3274299d7fdea0bd1466174b09f16be5f5c2d474006393a005352ccafa667f4c86b07c7db364b98d43300728
7
+ data.tar.gz: 93d3ba75fd9d5cfc5eb653345118d49738b4c50a53f7716382c86a8ad92d8e1708cdc77d1ee862e2ef51ed8afbc3255d831b54719b60f62849a764721a09a3d5
data/README.md ADDED
@@ -0,0 +1,38 @@
1
+ # captive-admin
2
+
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ [![Gem Version](https://img.shields.io/gem/v/captive-admin.svg)](https://rubygems.org/gems/captive-admin)
5
+
6
+ A UI theme for ActiveAdmin that follows [Captive](https://captive.fr)'s Design System
7
+
8
+ ![Screenshot](doc/screenshot.png)
9
+
10
+ ## Installation
11
+
12
+ - Add this to you Gemfile:
13
+
14
+ ```ruby
15
+ gem 'captive-admin'
16
+ ```
17
+
18
+ - Run `bundle install`
19
+
20
+ - Edit `active_admin.scss` file
21
+ - Remove these two lines
22
+ ```scss
23
+ @import "active_admin/mixins";
24
+ @import "active_admin/base";
25
+ ```
26
+ - Replace with these two lines
27
+ ```scss
28
+ @import "captive-admin/mixins";
29
+ @import "captive-admin/base";
30
+ ```
31
+
32
+ ## Contributing
33
+
34
+ Bug reports and pull requests are welcome on GitHub at https://github.com/Captive-Studio/captive-sdk.
35
+
36
+ ## License
37
+
38
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ require "rubocop/rake_task"
9
+
10
+ RuboCop::RakeTask.new
11
+
12
+ task default: %i(spec rubocop)
@@ -0,0 +1,19 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import 'active_admin/base';
3
+
4
+ /* Active Admin CSS */
5
+ @media screen {
6
+ @import './typography';
7
+ @import './header';
8
+ @import './forms';
9
+ @import './components/tables';
10
+ @import './components/links';
11
+ @import './components/panels';
12
+ @import './components/status_tags';
13
+ @import './pages/logged_out';
14
+ @import './structure/title_bar';
15
+
16
+ body {
17
+ color: $fg-default;
18
+ }
19
+ }
@@ -0,0 +1,16 @@
1
+ form {
2
+ fieldset {
3
+ &.inputs {
4
+ background-color: $bg-subtle;
5
+ }
6
+ }
7
+
8
+ /* Buttons */
9
+ input[type='submit'],
10
+ form input[type='button'],
11
+ form button {
12
+ @include primary-button;
13
+
14
+ cursor: pointer;
15
+ }
16
+ }
@@ -0,0 +1,34 @@
1
+ // ----------------------------------- Header
2
+ #header {
3
+ text-shadow: none;
4
+ background: $bg-emphasis;
5
+
6
+ h1 {
7
+ color: $fg-on-emphasis;
8
+ }
9
+
10
+ a,
11
+ a:link {
12
+ color: $fg-on-emphasis;
13
+ }
14
+
15
+ ul.tabs {
16
+ & > li {
17
+ &.current > a {
18
+ background: $accent-subtle;
19
+ color: $fg-default;
20
+ }
21
+
22
+ &:hover > a {
23
+ background: $accent-subtle;
24
+ color: $accent-fg;
25
+ }
26
+ }
27
+ }
28
+
29
+ #utility_nav {
30
+ a:hover {
31
+ color: $accent-fg;
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,3 @@
1
+ @import 'active_admin/mixins';
2
+
3
+ @import './mixins/all';
@@ -0,0 +1,16 @@
1
+ body {
2
+ @include body-family;
3
+ }
4
+
5
+ // Headings
6
+ h1,
7
+ h2,
8
+ h3,
9
+ h4,
10
+ h5,
11
+ h6 {
12
+ @include title-family;
13
+
14
+ letter-spacing: 0.5px;
15
+ margin-top: 0;
16
+ }
@@ -0,0 +1,5 @@
1
+ a,
2
+ a:link,
3
+ a:visited {
4
+ color: $accent-fg;
5
+ }
@@ -0,0 +1,11 @@
1
+ // ----------------------------------- Helper class to apply to elements to make them sections
2
+ .section,
3
+ .panel {
4
+ @include section;
5
+ }
6
+
7
+ // ----------------------------------- Sidebar Sections
8
+
9
+ .sidebar_section {
10
+ @include section;
11
+ }
@@ -0,0 +1,16 @@
1
+ .status_tag {
2
+ border: 1px solid;
3
+ border-radius: 12px;
4
+ letter-spacing: 0.5px;
5
+ padding: $spacer-1 $spacer-2;
6
+
7
+ &.yes {
8
+ background: $success-subtle;
9
+ color: $success-fg;
10
+ }
11
+
12
+ &.no {
13
+ background: $bg-subtle;
14
+ color: $fg-muted;
15
+ }
16
+ }
@@ -0,0 +1,35 @@
1
+ // --------- Index Tables
2
+
3
+ table.index_table {
4
+ @include shadow-xs;
5
+
6
+ border-radius: $border-radius-s;
7
+ overflow: hidden;
8
+
9
+ th {
10
+ a,
11
+ a:link,
12
+ a:visited {
13
+ color: $fg-muted;
14
+ }
15
+
16
+ &.sorted-asc,
17
+ &.sorted-desc {
18
+ background: $bg-default;
19
+ border-bottom: 2px solid $border-color-emphasis;
20
+ }
21
+
22
+ &:last-child {
23
+ border-right: none;
24
+ }
25
+ }
26
+
27
+ tr.even td {
28
+ background: $bg-subtle;
29
+ }
30
+
31
+ td {
32
+ border-bottom: none;
33
+ vertical-align: middle;
34
+ }
35
+ }
@@ -0,0 +1,5 @@
1
+ @import './variables';
2
+ @import './shadows';
3
+ @import './buttons';
4
+ @import './sections';
5
+ @import './typography';
@@ -0,0 +1,67 @@
1
+ @mixin basic-button {
2
+ // default AA style
3
+ @include rounded(200px);
4
+
5
+ display: inline-block;
6
+ font-weight: bold;
7
+ font-size: 1em;
8
+ @include sans-family;
9
+
10
+ line-height: 12px;
11
+ margin-right: 3px;
12
+ text-decoration: none;
13
+
14
+ &.disabled {
15
+ opacity: 0.5;
16
+ cursor: default;
17
+ }
18
+
19
+ // End default AA style
20
+ padding: $spacer-2 $spacer-4;
21
+ transition: background-color 0.3s;
22
+ box-shadow: $shadow-xs;
23
+ }
24
+ @mixin primary-button {
25
+ background-color: $primary-emphasis;
26
+ background-image: none;
27
+ color: $primary-on-emphasis;
28
+ border: none;
29
+ text-shadow: none;
30
+ box-shadow: $shadow-s;
31
+
32
+ &:not(.disabled) {
33
+ &:hover {
34
+ background-color: $primary-muted;
35
+ background-image: none;
36
+ }
37
+
38
+ &:active {
39
+ box-shadow: $shadow-xs;
40
+ background-image: none;
41
+ }
42
+ }
43
+ }
44
+
45
+ @mixin outline-button {
46
+ // style AA
47
+ @include basic-button;
48
+
49
+ outline: solid 1px;
50
+ color: $fg-muted;
51
+ background-color: $bg-subtle;
52
+
53
+ &:not(.disabled) {
54
+ &:hover {
55
+ background-color: $bg-default;
56
+ }
57
+
58
+ &:active {
59
+ background-color: $bg-emphasis;
60
+ color: $fg-on-emphasis;
61
+ }
62
+ }
63
+ }
64
+
65
+ @mixin light-button {
66
+ @include outline-button;
67
+ }
@@ -0,0 +1,24 @@
1
+ @mixin section-header {
2
+ // héritage AA
3
+
4
+ font-size: 1em;
5
+ font-weight: bold;
6
+ line-height: 18px;
7
+ margin-bottom: 0.5em;
8
+
9
+ // Fin héritage AA
10
+ padding: $spacer-2 $spacer-4;
11
+ color: $fg-muted;
12
+ background: $bg-subtle;
13
+ border-bottom: 1px solid $border-color;
14
+
15
+ // @include shadow-xs;
16
+ }
17
+
18
+ @mixin section-background {
19
+ background: $bg-subtle;
20
+ @include rounded($border-radius-s);
21
+ @include shadow-xs;
22
+
23
+ overflow: hidden;
24
+ }
@@ -0,0 +1,3 @@
1
+ @mixin shadow-xs {
2
+ box-shadow: $shadow-xs;
3
+ }
@@ -0,0 +1,11 @@
1
+ @mixin sans-family {
2
+ @include body-family;
3
+ }
4
+
5
+ @mixin body-family {
6
+ font-family: $default-font-family;
7
+ }
8
+
9
+ @mixin title-family {
10
+ font-family: $title-font-family;
11
+ }
@@ -0,0 +1 @@
1
+ @import 'captive-theme/variables';
@@ -0,0 +1,9 @@
1
+ body.logged_out {
2
+ background: $bg-subtle;
3
+
4
+ h2 {
5
+ background-color: $bg-emphasis;
6
+ background-image: none;
7
+ text-shadow: none;
8
+ }
9
+ }
@@ -0,0 +1,12 @@
1
+ #title_bar {
2
+ .action_items {
3
+ span.action_item {
4
+ & > a,
5
+ & > .dropdown_menu > a {
6
+ @include primary-button;
7
+
8
+ padding: $spacer-3 $spacer-4;
9
+ }
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,6 @@
1
+ module Captive
2
+ module Admin
3
+ class Engine < ::Rails::Engine
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "captive/admin/engine"
4
+
5
+ module Captive
6
+ module Admin
7
+ # Your code goes here...
8
+ end
9
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :captive_admin do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: captive-admin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0.alpha
5
+ platform: ruby
6
+ authors:
7
+ - Captive
8
+ - Stéphane Hanser
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2023-10-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 7.0.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 7.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: captive-theme
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '='
33
+ - !ruby/object:Gem::Version
34
+ version: 0.1.0.alpha
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '='
40
+ - !ruby/object:Gem::Version
41
+ version: 0.1.0.alpha
42
+ - !ruby/object:Gem::Dependency
43
+ name: rspec-rails
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ description: Un thème pour ActiveAdmin aux couleurs de Captive.
57
+ email:
58
+ - shanser@captive.fr
59
+ executables: []
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - README.md
64
+ - Rakefile
65
+ - app/assets/stylesheets/captive-admin/_base.scss
66
+ - app/assets/stylesheets/captive-admin/_forms.scss
67
+ - app/assets/stylesheets/captive-admin/_header.scss
68
+ - app/assets/stylesheets/captive-admin/_mixins.scss
69
+ - app/assets/stylesheets/captive-admin/_typography.scss
70
+ - app/assets/stylesheets/captive-admin/components/_links.scss
71
+ - app/assets/stylesheets/captive-admin/components/_panels.scss
72
+ - app/assets/stylesheets/captive-admin/components/_status_tags.scss
73
+ - app/assets/stylesheets/captive-admin/components/_tables.scss
74
+ - app/assets/stylesheets/captive-admin/mixins/_all.scss
75
+ - app/assets/stylesheets/captive-admin/mixins/_buttons.scss
76
+ - app/assets/stylesheets/captive-admin/mixins/_sections.scss
77
+ - app/assets/stylesheets/captive-admin/mixins/_shadows.scss
78
+ - app/assets/stylesheets/captive-admin/mixins/_typography.scss
79
+ - app/assets/stylesheets/captive-admin/mixins/_variables.scss
80
+ - app/assets/stylesheets/captive-admin/pages/_logged_out.scss
81
+ - app/assets/stylesheets/captive-admin/structure/_title_bar.scss
82
+ - lib/captive/admin.rb
83
+ - lib/captive/admin/engine.rb
84
+ - lib/tasks/captive/admin_tasks.rake
85
+ homepage: https://captive.fr/
86
+ licenses:
87
+ - MIT
88
+ metadata:
89
+ homepage_uri: https://captive.fr/
90
+ source_code_uri: https://github.com/Captive-Studio/captive-sdk/tree/v0.1.0.alpha/captive-admin
91
+ post_install_message:
92
+ rdoc_options: []
93
+ require_paths:
94
+ - lib
95
+ required_ruby_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: 2.6.0
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">"
103
+ - !ruby/object:Gem::Version
104
+ version: 1.3.1
105
+ requirements: []
106
+ rubygems_version: 3.3.26
107
+ signing_key:
108
+ specification_version: 4
109
+ summary: Un thème pour ActiveAdmin aux couleurs de Captive.
110
+ test_files: []