vuexy 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>