vuexy 0.1.0 → 0.1.1

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
2
  SHA256:
3
- metadata.gz: 107b7e5cbde18c4b82b1466d492a39eba5528cc47e9e78c03040c67ee84b5ba6
4
- data.tar.gz: 73ec2046b4e0de7d0d1b3d162b554bef69b83a74012c4bf7df58185261ddb70e
3
+ metadata.gz: 5b7c34bf933902d4394edce21712fe57984331982e2709e8038e24bb36b9e0b1
4
+ data.tar.gz: 1897476285b7ad769e9274af83bfc994460cabec5885e934dc5ba6d50a4c1fa8
5
5
  SHA512:
6
- metadata.gz: 60ae4369ba8272f68b3ee8809d35ff3ca2919c0b42188a0a52cc32f9c45951b88e324ae6573e4319c7d41b862ecd315ce8cd0f908f73f78dce1d15e4ec215431
7
- data.tar.gz: 4e9edb9c9b1bf60141b83999a14ca31464d05e7c3318a806aec7cc3ead167a5ba391a3b6548cd5ed4e7b6cf74c7039bf89f9c6e1d8ca932ba5bb39d835228f57
6
+ metadata.gz: add7bd9c300244f5f9727b39865a97438e1af50b4ee4d8834495c8113345e90b0b70d12392f19e49fe3a3b100154fd6a91e6bf7551c8dd4e3344a6a9b87dee84
7
+ data.tar.gz: 18c61b78fb4d341693d9935ed5307090dea79b43084bea4aa041aa78fec06c64b38bab25338128db4a8f7f2d7192ff77db1ebde97871434e6edc5c2c6129e0d8
@@ -1,6 +1,7 @@
1
1
  //= link_tree ../fonts
2
2
 
3
3
  //= link_directory ../javascripts/vendors/js .js
4
+ //= link_directory ../javascripts/vendors/js/forms/validation .js
4
5
  //= link_directory ../javascripts/vuexy .js
5
6
 
6
7
  //= link_directory ../stylesheets/bootstrap .css
@@ -9,3 +10,9 @@
9
10
 
10
11
  //= link vuexy/core/app-menu.js
11
12
  //= link vuexy/core/app.js
13
+
14
+ //= link vuexy/scripts/pages/auth-login.js
15
+ //= link vuexy/pages/authentication.css
16
+ //= link vuexy/plugins/forms/form-validation.css
17
+ //= link vuexy/pages/modal-create-app.css
18
+ //= link vuexy/scripts/pages/modal-create-app.js
@@ -2,4 +2,4 @@
2
2
  // ? TIP: It is recommended to use this file for overriding bootstrap variables.
3
3
  // ================================================================================================
4
4
 
5
- $primary: #00cfe8;
5
+ // $primary: #00cfe8;
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vuexy
4
+ module Components
5
+ module Base
6
+ # include Rails.application.routes.url_helpers
7
+
8
+ def load_yaml(file:)
9
+ YAML.safe_load(
10
+ ERB.new(
11
+ File.read(
12
+ File.join(Rails.root, 'app', 'views', controller_path.split('/').first, "#{file}.yml")
13
+ )
14
+ ).result
15
+ )
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vuexy
4
+ module Components
5
+ module Header
6
+ extend ActiveSupport::Concern
7
+ include Base
8
+
9
+ included do
10
+ before_action :build_header
11
+ end
12
+
13
+ private
14
+
15
+ def build_header
16
+ @vuexy_header = load_yaml(file: 'header')
17
+ end
18
+ end
19
+ end
20
+ end
@@ -4,15 +4,16 @@ module Vuexy
4
4
  module Components
5
5
  module Navigation
6
6
  extend ActiveSupport::Concern
7
+ include Base
7
8
 
8
9
  included do
9
- before_action :build_vuexy_navigation
10
+ before_action :build_navigation
10
11
  end
11
12
 
12
13
  private
13
14
 
14
- def build_vuexy_navigation
15
- @vuexy_navigation = YAML.load(ERB.new(File.read(File.join(Rails.root, 'app', 'views', controller_path.split('/').first, 'navigation.yml'))).result)
15
+ def build_navigation
16
+ @vuexy_navigation = load_yaml(file: 'navigation')
16
17
  end
17
18
  end
18
19
  end
@@ -1,13 +1,15 @@
1
1
  !!! 5
2
2
  %html.loading{ class: ('dark-layout' if Vuexy.config.dark_mode?) }
3
3
  %head
4
- %title= "#{yield :title} : Web Base"
4
+ %title= "#{yield :title} : #{Vuexy.config.app_name}"
5
5
  %meta{ name: 'viewport', content: 'width=device-width,initial-scale=1' }
6
6
  = csrf_meta_tags
7
7
  = csp_meta_tag
8
- = stylesheet_link_tag 'vuexy/application'
8
+ - vuexy_assets_css
9
+ - @vuexy_assets_css&.each do |css|
10
+ = stylesheet_link_tag css
9
11
 
10
- %body.horizontal-layout.horizontal-menu.blank-page.navbar-floating.footer-static{ data: { open: 'hover', menu: 'horizontal-menu', col: 'blank-page' } }
12
+ %body.vertical-layout.vertical-menu-modern.blank-page.navbar-floating.footer-static{ data: { open: 'click', menu: 'vertical-menu-modern', col: 'blank-page' } }
11
13
  -# BEGIN: Content
12
14
  .app-content.content
13
15
  .content-overlay
@@ -15,19 +17,17 @@
15
17
  .content-wrapper
16
18
  .content-header.row
17
19
  .content-body
18
- .row
19
- .col-12.p-4
20
+ -# .row
21
+ -# .col-12.p-4
20
22
 
21
- - if notice
22
- .alert.alert-primary
23
- .alert-body= notice
24
- - if alert
25
- .alert.alert-primary
26
- .alert-body= alert
23
+ - if notice
24
+ .alert.alert-primary
25
+ .alert-body= notice
26
+ - if alert
27
+ .alert.alert-primary
28
+ .alert-body= alert
27
29
 
28
- = yield
30
+ = yield
29
31
 
30
- = javascript_include_tag 'vendors/js/vendors.min'
31
- = javascript_include_tag 'vuexy/core/app-menu'
32
- = javascript_include_tag 'vuexy/core/app'
33
- = javascript_include_tag 'vuexy/application'
32
+ - @vuexy_assets_js&.each do |js|
33
+ = javascript_include_tag js
@@ -1,7 +1,7 @@
1
1
  !!! 5
2
2
  %html.loading{ class: ('dark-layout' if Vuexy.config.dark_mode?) }
3
3
  %head
4
- %title= "#{yield :title} : Web Base"
4
+ %title= "#{yield :title} : #{Vuexy.config.app_name}"
5
5
  %meta{ name: 'viewport', content: 'width=device-width,initial-scale=1' }
6
6
  = csrf_meta_tags
7
7
  = csp_meta_tag
@@ -1,14 +1,23 @@
1
1
  !!! 5
2
2
  %html.loading{ class: ('dark-layout' if Vuexy.config.dark_mode?) }
3
3
  %head
4
- %title= "#{yield :title} : Web Base"
4
+ %title= "#{yield :title} : #{Vuexy.config.app_name}"
5
5
  %meta{ name: 'viewport', content: 'width=device-width,initial-scale=1' }
6
6
  = csrf_meta_tags
7
7
  = csp_meta_tag
8
- = stylesheet_link_tag 'vuexy/application'
8
+ - vuexy_assets_css
9
+ - @vuexy_assets_css&.each do |css|
10
+ = stylesheet_link_tag css
9
11
 
10
12
  %body.vertical-layout.vertical-menu-modern.navbar-floating.footer-static{ data: { open: 'click', menu: 'vertical-menu-modern', col: '' } }
11
13
 
14
+ -# BEGIN: Header
15
+ - if @vuexy_header
16
+ = render partial: 'vuexy/components/header'
17
+
18
+ -# = render layout: 'vuexy/components/header' do
19
+ -# = yield :header
20
+
12
21
  -# BEGIN: Primary Navigation
13
22
  - if @vuexy_navigation
14
23
  = render partial: 'vuexy/components/side_nav'
@@ -22,7 +31,7 @@
22
31
  .content-header-left.col-md-9.col-12.mb-2
23
32
  .row.breadcrumbs-top
24
33
  .col-12
25
- %h2.content-header-title.float-start.mb-0= content_for(:title)
34
+ %h2.content-header-title.float-start.mb-0= yield :title
26
35
  .breadcrumb-wrapper
27
36
  %ol.breadcrumb
28
37
  -# = render_breadcrumbs :tag => :li, :seperator => ''
@@ -41,7 +50,5 @@
41
50
  .sidenav-overlay
42
51
  .drag-target
43
52
 
44
- = javascript_include_tag 'vendors/js/vendors.min'
45
- = javascript_include_tag 'vuexy/core/app-menu'
46
- = javascript_include_tag 'vuexy/core/app'
47
- = javascript_include_tag 'vuexy/application'
53
+ - @vuexy_assets_js&.each do |js|
54
+ = javascript_include_tag js
@@ -0,0 +1,36 @@
1
+ %nav.header-navbar.navbar.navbar-expand-lg.align-items-center.floating-nav.navbar-dark.navbar-shadow.container-xxl
2
+ .navbar-container.d-flex.content
3
+ .bookmark-wrapper.d-flex.align-items-center
4
+
5
+ -# BEGIN MENU TOGGLE
6
+ %ul.nav.navbar-nav.d-xl-none
7
+ %li.nav-item
8
+ = link_to '#', class: 'nav-link menu-toggle' do
9
+ %i.ficon{ data: { feather: 'menu' }, width: '14', height: '14' }
10
+
11
+ -# BEGIN BOOKMARKS
12
+ - @vuexy_header['bookmarks']&.each do |bookmark|
13
+ %ul.nav.navbar-nav.bookmark-icons
14
+ %li.nav-item.d-none.d-lg-block
15
+ %a{ href: bookmark['path'] || '#', class: 'nav-link', aria: { label: bookmark['text'] }, data: { bs: { toggle: 'tooltip', placement: 'bottom', 'original-title': bookmark['text'] } } }
16
+ %i.ficon{ data: { feather: bookmark['icon'] }, width: '14', height: '14' }
17
+
18
+ -# BEGIN USER DROPDOWN
19
+ - if user = @vuexy_header['user']
20
+ %ul.nav.navbar-nav.align-items-center.ms-auto
21
+ %li.nav-item.dropdown.dropdown-user
22
+ = link_to '#', class: 'nav-link dropdown-toggle dropdown-user-link', id: 'dropdown-user', data: { 'bs-toggle': 'dropdown' }, aria: { haspopup: true, expanded: false } do
23
+ .user-nav.d-sm-flex.d-none
24
+ %span.user-name.fw-bolder= user['name']&.titleize
25
+ %span.user-status= user['status']&.titleize
26
+ %span.avatar
27
+ %img.round{ src: user['avatar'], height: 40, width: 40, alt: 'avatar' }
28
+ %span.avatar-status-online
29
+ .dropdown-menu.drop-menu-end{ aria: { labelledby: 'dropdown-user' } }
30
+ - user['links']&.each do |link|
31
+ - if link.keys.include? 'divider'
32
+ .dropdown-divider
33
+ - else
34
+ = link_to link['path'] || '#', class: 'dropdown-item', method: (link['method'] if link['method']) do
35
+ %i.me-50{ data: { feather: link['icon'] } }
36
+ = link['text']
@@ -0,0 +1,7 @@
1
+ .modal.fade{ id: local_assigns[:id], tabindex: -1, aria: { labeledby: "#{local_assigns[:id]}Title", hidden: true } }
2
+ .modal-dialog.modal-dialog-centered.modal-md
3
+ .modal-content
4
+ .modal-header.bg-transparent
5
+ %button.btn-close{ type: 'button', data: { bs: { dismiss: 'modal' } }, aria: { label: 'Close' } }
6
+ .modal-body.px-sm5.mx-50.pb-4
7
+ = capture(&block) unless block.nil?
@@ -26,7 +26,7 @@
26
26
  %span.menu-item.text-truncate Agent
27
27
 
28
28
  -# BEGIN DYNAMIC LINKS
29
- - @vuexy_navigation['navigation'].each do |nav|
29
+ - @vuexy_navigation['navigation']&.each do |nav|
30
30
  - if nav.keys.include? 'header'
31
31
  %li.navigation-header
32
32
  %span= nav['header']
@@ -36,3 +36,15 @@
36
36
  %a.d-flex.align-items-center{ href: nav['link']['path'], target: nav['link']['target'] }
37
37
  %i{ data: { feather: nav['link']['icon'] } }
38
38
  %span.menu-item.text-truncate= nav['link']['text']
39
+ - if nav['link']['links']
40
+ %ul.menu-content
41
+ - nav['link']['links']&.each do |link|
42
+ %li{ class: ('active' if current_page?(link['path'])) }
43
+ = link_to link['path'], class: 'd-flex align-items-center' do
44
+ %i{ data: { feather: link['icon'] } }
45
+ %span.menu-item.text-truncate= link['text']
46
+ - if link['links']
47
+ %ul.menu-content
48
+ - link['links']&.each do |sub_link|
49
+ %li{ class: ('active' if current_page?(sub_link['path'])) }
50
+ = link_to sub_link['text'], sub_link['path'], class: 'd-flex align-items-center'
@@ -0,0 +1,10 @@
1
+ .auth-wrapper.auth-basic.px-2
2
+ .auth-inner.my-2
3
+ .card.mb-0
4
+ .card-body
5
+ -# LOGO GOES HERE
6
+
7
+ %h4.card-title.mb-1= local_assigns[:title]
8
+ %p.card-text.mb-2= local_assigns[:text]
9
+
10
+ = capture(&block) unless block.nil?
@@ -0,0 +1,15 @@
1
+ .auth-wrapper.auth-cover
2
+ .auth-inner.row.m-0
3
+
4
+ -# BEGIN COVER
5
+ .d-none.d-lg-flex.col-lg-8.align-items-center.p-5
6
+ .w-100.d-lg-flex.align-items-center.justify-content-center.px-5
7
+ %img.img-fluid{ src: local_assigns[:image] }
8
+
9
+ -# BEGIN LOGIN
10
+ .d-flex.col-lg-4.align-items-center.auth-bg.px-2.p-lg-5
11
+ .col-12.col-sm-8.col-md-6.col-lg-12.px-xl-2.mx-auto
12
+ %h2.card-title.fw-bold.mb-1= local_assigns[:title]
13
+ %p.card-text.mb-2= local_assigns[:text]
14
+
15
+ = capture(&block) unless block.nil?
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  Vuexy.configure do |c|
4
+ c.app_name = 'App Dashboard'
4
5
  c.dark_mode = true
5
6
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vuexy
4
+ module Components
5
+ module Nick
6
+ def self.included(_base)
7
+ # something
8
+ end
9
+
10
+ # def something
11
+ # @whatever = 'o_O'
12
+ # end
13
+ end
14
+ end
15
+ end
data/lib/vuexy/config.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Vuexy
4
- class Configuration < Struct.new(:dark_mode)
4
+ class Configuration < Struct.new(:app_name, :dark_mode)
5
5
  def dark_mode?
6
6
  dark_mode
7
7
  end
data/lib/vuexy/engine.rb CHANGED
@@ -1,5 +1,13 @@
1
+ require 'vuexy/helpers'
2
+
1
3
  module Vuexy
2
4
  class Engine < ::Rails::Engine
3
5
  isolate_namespace Vuexy
6
+
7
+ initializer 'vuexy.helpers' do
8
+ ActiveSupport.on_load(:action_view) do
9
+ include Vuexy::Helpers
10
+ end
11
+ end
4
12
  end
5
13
  end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vuexy
4
+ module Helpers
5
+ module Components
6
+ def vuexy_login_basic(title: nil, text: nil, &block)
7
+ assets_for(:authentication)
8
+ render(
9
+ partial: 'vuexy/components/authentication/login_basic',
10
+ locals: {
11
+ title: title,
12
+ text: text,
13
+ block: block
14
+ }
15
+ )
16
+ end
17
+
18
+ def vuexy_login_cover(title: nil, text: nil, image: nil, &block)
19
+ assets_for(:authentication)
20
+ render(
21
+ partial: 'vuexy/components/authentication/login_cover',
22
+ locals: {
23
+ title: title,
24
+ text: text,
25
+ image: image,
26
+ block: block
27
+ }
28
+ )
29
+ end
30
+
31
+ def vuexy_modal(id, &block)
32
+ render(
33
+ partial: 'vuexy/components/modal',
34
+ locals: {
35
+ id: id,
36
+ block: block
37
+ }
38
+ )
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vuexy
4
+ module Helpers
5
+ module Core
6
+ def assets_for(type)
7
+ css = @vuexy_assets_css ||= ['vuexy/application']
8
+ js = @vuexy_assets_js ||= [
9
+ 'vendors/js/vendors.min',
10
+ 'vendors/js/forms/validation/jquery.validate.min',
11
+ 'vuexy/core/app-menu',
12
+ 'vuexy/core/app',
13
+ 'vuexy/application'
14
+ ]
15
+ case type
16
+ when :authentication
17
+ css << 'vuexy/plugins/forms/form-validation'
18
+ css << 'vuexy/pages/authentication'
19
+ js << 'vuexy/scripts/pages/auth-login.min'
20
+ when :calendar
21
+ # TODO
22
+ when :chat
23
+ css << 'vuexy/pages/app-chat'
24
+ css << 'vuexy/pages/app-chat-list'
25
+ js << 'vuexy/scripts/pages/app-chat'
26
+ when :email
27
+ css << 'vendor/editors/quill/katex.min'
28
+ css << 'vendor/editors/quill/monokai-sublime.min'
29
+ css << 'vendor/editors/quill/quill.snow'
30
+ css << 'vendor/extensions/toastr.min'
31
+ css << 'vendor/forms/select/select2.min'
32
+ css << 'vuexy/plugins/forms/form-quill-editor'
33
+ css << 'vuexy/extensions/ext-component-toastr'
34
+ css << 'vuexy/pages/app-email'
35
+ js << 'vendors/js/editors/quill/katex.min'
36
+ js << 'vendors/js/editors/quill/highlight.min'
37
+ js << 'vendors/js/editors/quill/quill.min'
38
+ js << 'vendors/js/extensions/toastr.min'
39
+ js << 'vendors/js/forms/select/select2.full.min'
40
+ js << 'vuexy/scripts/pages/app-email.min'
41
+ when :kanban
42
+ # TODO
43
+ when :todo
44
+ css << 'vendor/editors/quill/katex.min'
45
+ css << 'vendor/editors/quill/monokai-sublime.min'
46
+ css << 'vendor/editors/quill/quill.snow'
47
+ css << 'vendor/forms/select/select2.min'
48
+ css << 'vendor/pickers/flatpickr/flatpickr.min'
49
+ css << 'vendor/extensions/dragula.min'
50
+ css << 'vendor/extensions/toastr.min'
51
+ js << 'vendors/js/editors/quill/katex.min'
52
+ js << 'vendors/js/editors/quill/highlight.min'
53
+ js << 'vendors/js/editors/quill/quill.min'
54
+ js << 'vendors/js/forms/select/select2.full.min'
55
+ js << 'vendors/js/pickers/flatpickr/flatpickr.min'
56
+ js << 'vendors/js/extensions/dragula.min'
57
+ js << 'vendors/js/extensions/toastr.min'
58
+ js << 'vuexy/scripts/pages/app-todo.min'
59
+ end
60
+ @vuexy_assets_css = css.uniq
61
+ @vuexy_assets_js = js.uniq
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vuexy
4
+ module Helpers
5
+ module Tags
6
+ def vuexy_assets_css
7
+ assets_for(nil) # Init
8
+ # stylesheet_link_tag @vuexy_assets_css.join(', ')
9
+ end
10
+
11
+ def vuexy_assets_js
12
+ assets_for(nil) # Init
13
+ end
14
+
15
+ def vuexy_icon(icon, style: nil)
16
+ tag.i class: 'ficon', data: { feather: icon }, style: style
17
+ end
18
+
19
+ def vuexy_modal_close
20
+ { bs: { dismiss: 'modal' } }
21
+ end
22
+
23
+ def vuexy_modal_trigger(target)
24
+ { bs: { toggle: 'modal', target: "##{target}" } }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'vuexy/helpers/core'
4
+ require 'vuexy/helpers/tags'
5
+ require 'vuexy/helpers/components'
6
+
7
+ module Vuexy
8
+ module Helpers
9
+ include Core
10
+ include Tags
11
+ include Components
12
+ end
13
+ end
data/lib/vuexy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vuexy
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/vuexy.rb CHANGED
@@ -2,6 +2,8 @@ require 'vuexy/version'
2
2
  require 'vuexy/engine'
3
3
  require 'vuexy/config'
4
4
 
5
+ require 'vuexy/components/nick'
6
+
5
7
  module Vuexy
6
8
  # Your code goes here...
7
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vuexy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholaus Brabant
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-15 00:00:00.000000000 Z
11
+ date: 2022-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: haml
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 7.0.2.3
33
+ version: 7.0.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 7.0.2.3
40
+ version: 7.0.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sassc
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -1488,6 +1488,8 @@ files:
1488
1488
  - app/assets/stylesheets/vuexy/themes/bordered-layout.scss
1489
1489
  - app/assets/stylesheets/vuexy/themes/dark-layout.scss
1490
1490
  - app/assets/stylesheets/vuexy/themes/semi-dark-layout.scss
1491
+ - app/controllers/concerns/vuexy/components/base.rb
1492
+ - app/controllers/concerns/vuexy/components/header.rb
1491
1493
  - app/controllers/concerns/vuexy/components/navigation.rb
1492
1494
  - app/controllers/concerns/vuexy/layouts/blank.rb
1493
1495
  - app/controllers/concerns/vuexy/layouts/horizontal_menu.rb
@@ -1496,24 +1498,33 @@ files:
1496
1498
  - app/jobs/vuexy/application_job.rb
1497
1499
  - app/mailers/vuexy/application_mailer.rb
1498
1500
  - app/models/vuexy/application_record.rb
1499
- - app/views/layouts/vuexy/application.html.erb
1500
1501
  - app/views/layouts/vuexy/blank.haml
1501
1502
  - app/views/layouts/vuexy/horizontal-menu.haml
1502
1503
  - app/views/layouts/vuexy/vertical-menu.haml
1504
+ - app/views/vuexy/components/_header.haml
1505
+ - app/views/vuexy/components/_modal.haml
1503
1506
  - app/views/vuexy/components/_side_nav.haml
1507
+ - app/views/vuexy/components/authentication/_login_basic.haml
1508
+ - app/views/vuexy/components/authentication/_login_cover.haml
1504
1509
  - config/routes.rb
1505
1510
  - lib/generators/vuexy/install/USAGE
1506
1511
  - lib/generators/vuexy/install/install_generator.rb
1507
1512
  - lib/generators/vuexy/install/templates/initializer.rb
1508
1513
  - lib/tasks/vuexy_tasks.rake
1509
1514
  - lib/vuexy.rb
1515
+ - lib/vuexy/components/nick.rb
1510
1516
  - lib/vuexy/config.rb
1511
1517
  - lib/vuexy/engine.rb
1518
+ - lib/vuexy/helpers.rb
1519
+ - lib/vuexy/helpers/components.rb
1520
+ - lib/vuexy/helpers/core.rb
1521
+ - lib/vuexy/helpers/tags.rb
1512
1522
  - lib/vuexy/version.rb
1513
1523
  homepage: https://hattricksoftware.com/
1514
1524
  licenses:
1515
- - GPL
1525
+ - LGPL
1516
1526
  metadata:
1527
+ allowed_push_host: https://rubygems.org/
1517
1528
  homepage_uri: https://hattricksoftware.com/
1518
1529
  source_code_uri: https://gitlab.com/hat-trick/vuexy
1519
1530
  changelog_uri: https://gitlab.com/hat-trick/vuexy/CHANGELOG.md
@@ -1,15 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Vuexy</title>
5
- <%= csrf_meta_tags %>
6
- <%= csp_meta_tag %>
7
-
8
- <%= stylesheet_link_tag "vuexy/application", media: "all" %>
9
- </head>
10
- <body>
11
-
12
- <%= yield %>
13
-
14
- </body>
15
- </html>