mekari_lvsg 0.1.0.pre.beta

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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +30 -0
  4. data/Rakefile +22 -0
  5. data/app/assets/config/mekari_lvsg_manifest.js +2 -0
  6. data/app/assets/javascripts/mekari_lvsg/mekari.js.erb +19 -0
  7. data/app/assets/javascripts/mekari_lvsg/ms_base.js +2 -0
  8. data/app/assets/javascripts/mountain_view/styleguide.js +3 -0
  9. data/app/assets/javascripts/pages/demo.js +4 -0
  10. data/app/assets/stylesheets/mekari_lvsg/components.scss +21 -0
  11. data/app/assets/stylesheets/mekari_lvsg/mekari.css.erb +22 -0
  12. data/app/assets/stylesheets/mekari_lvsg/ms_base.less +3 -0
  13. data/app/assets/stylesheets/mekari_lvsg/ms_base/legacy_variables.less +20 -0
  14. data/app/assets/stylesheets/mekari_lvsg/ms_base/plugins/jquery.daterangepicker.less +4 -0
  15. data/app/assets/stylesheets/mekari_lvsg/ms_base/typography.less +23 -0
  16. data/app/assets/stylesheets/mekari_lvsg/ms_base/variables.less +71 -0
  17. data/app/assets/stylesheets/mekari_lvsg/theme.css +4 -0
  18. data/app/assets/stylesheets/mekari_lvsg/variables.scss +37 -0
  19. data/app/assets/stylesheets/mountain_view/override.less +5 -0
  20. data/app/components/footer/_footer.html.slim +35 -0
  21. data/app/components/footer/footer.js +0 -0
  22. data/app/components/footer/footer.less +150 -0
  23. data/app/components/footer/footer.yml +21 -0
  24. data/app/components/header/_header.html.slim +39 -0
  25. data/app/components/header/header.js +0 -0
  26. data/app/components/header/header.less +132 -0
  27. data/app/components/header/header.yml +80 -0
  28. data/app/components/header/header_component.rb +13 -0
  29. data/app/controllers/mekari_lvsg/application_controller.rb +5 -0
  30. data/app/helpers/mekari_lvsg/application_helper.rb +4 -0
  31. data/app/jobs/mekari_lvsg/application_job.rb +4 -0
  32. data/app/mailers/mekari_lvsg/application_mailer.rb +6 -0
  33. data/app/models/mekari_lvsg/application_record.rb +5 -0
  34. data/app/views/layouts/mekari_lvsg/application.html.slim +13 -0
  35. data/app/views/mountain_view/extra_pages/buttons.html.slim +0 -0
  36. data/app/views/mountain_view/extra_pages/colors.html.slim +0 -0
  37. data/app/views/mountain_view/extra_pages/device_width.html.slim +17 -0
  38. data/app/views/mountain_view/extra_pages/grid.html.slim +0 -0
  39. data/config/routes.rb +4 -0
  40. data/lib/mekari_lvsg.rb +8 -0
  41. data/lib/mekari_lvsg/engine.rb +56 -0
  42. data/lib/mekari_lvsg/version.rb +3 -0
  43. data/lib/mountain_view/presenter/view_context_extension.rb +15 -0
  44. data/lib/tasks/mekari_lvsg_tasks.rake +4 -0
  45. metadata +283 -0
@@ -0,0 +1,21 @@
1
+ -
2
+ :footer_logo_path: https://mekari.com/wp-content/uploads/2019/03/logo-mekari.svg
3
+ :footer_logo_alt: "Mekari"
4
+ :footer_logo_link: "Mekari"
5
+ :footer_nav_items:
6
+ - :name: 'About Us'
7
+ :url: '/about_us'
8
+ - :name: 'Products'
9
+ :url: '/products'
10
+ - :name: 'Careers'
11
+ :url: '/careers'
12
+ - :name: 'News'
13
+ :url: '/news'
14
+ :footer_social: "Follow us: "
15
+ :footer_social_fb: https://facebook.com
16
+ :footer_social_tw: https://twitter.com
17
+ :copyright: "PT Mid Solusi Nusantara. All rights reserved."
18
+ :term_path: "https://mekari.com/"
19
+ :term_text: "Terms of Use "
20
+ :privacy_path: "https://mekari.com/"
21
+ :privacy_text: "Privacy Policy"
@@ -0,0 +1,39 @@
1
+ .main-header class=(properties[:background_class])
2
+ .ui.container
3
+ .main-navigation.ui.menu
4
+ .main-header__logo.item
5
+ a.logo__link href=(logo[:link])
6
+ = image_tag logo[:src], alt: logo[:alt]
7
+ .ui.menu.navigation
8
+ - (properties[:navigation_items] || []).each do |navigation_item|
9
+ - if has_submenu?(navigation_item)
10
+ - submenu_items = navigation_item[:submenu_items]
11
+ - if navigation_item[:submenu_items_type].eql?('full_header')
12
+ .mega-dropdown.navigation__item
13
+ a.browse.item data-target=(navigation_item[:target]) href=(navigation_item[:url]) = navigation_item[:name]
14
+ .megamenu
15
+ .ui.container(id=navigation_item[:target])
16
+ .ui.three.column.relaxed.equal.height.top.aligned.stackable.grid
17
+ - submenu_items.try(:each) do |submenu_item|
18
+ - next if submenu_item[:path].present?
19
+ .column
20
+ h4.ui.header = submenu_item[:subtitle]
21
+ .ui.link.list
22
+ - submenu_item[:links].try(:each) do |link|
23
+ a.item href=(link[:path]) = link[:name]
24
+ - else
25
+ .ui.simple.dropdown.item.navigation__item
26
+ a.item href=(navigation_item[:url]) = navigation_item[:name]
27
+ .menu
28
+ - submenu_items.try(:each) do |submenu_item|
29
+ - submenu_item[:links].try(:each) do |link|
30
+ a.item href=(link[:path]) = link[:name]
31
+ - else
32
+ .navigation__item
33
+ a.item href=(navigation_item[:url]) = navigation_item[:name]
34
+ .ui.right.menu.user-menu
35
+ .user-menu__login.item
36
+ a href=(properties[:path_login]) = properties[:link_login]
37
+ a.item.mobile__trigger
38
+ |
39
+ = properties[:menu_name]
File without changes
@@ -0,0 +1,132 @@
1
+ @import "mekari_lvsg/ms_base/variables.less";
2
+
3
+ .blue-background {
4
+ background-color: @true-blue;
5
+ }
6
+
7
+ .marine-blue-background {
8
+ background-color: @marine-blue;
9
+ }
10
+
11
+ .green-background {
12
+ background-color: @smart-green;
13
+ }
14
+
15
+ .main-header {
16
+ position: relative;
17
+
18
+ .ui.menu {
19
+ border: none;
20
+ border-radius: 0;
21
+ box-shadow: none;
22
+ height: 50px;
23
+
24
+ .item {
25
+ &.mobile__trigger {
26
+ color: @snow-white;
27
+ font-size: 16px;
28
+ font-weight: 600;
29
+ display: none;
30
+
31
+ &:hover {
32
+ color: @smart-green;
33
+ }
34
+
35
+ @media only screen and (max-width: @largestTabletScreen) {
36
+ display: flex;
37
+ }
38
+ }
39
+
40
+ a {
41
+ color: @snow-white;
42
+ font-size: 16px;
43
+ line-height: 20px;
44
+ display: flex;
45
+
46
+ &.active,
47
+ &:hover {
48
+ color: @smart-green;
49
+ }
50
+ }
51
+
52
+ .button {
53
+ &__signup {
54
+ padding: 3px 8px;
55
+ font-size: 12px;
56
+ line-height: 16px;
57
+ }
58
+ }
59
+ }
60
+
61
+ .navigation,
62
+ .user-menu .item {
63
+ @media only screen and (max-width: @largestTabletScreen) {
64
+ display: none;
65
+ }
66
+ }
67
+ }
68
+
69
+ .navigation {
70
+ &.menu {
71
+ .navigation__item {
72
+ a.item {
73
+ color: @snow-white;
74
+ font-size: 16px;
75
+ line-height: 20px;
76
+ padding-left: 24px;
77
+ padding-right: 24px;
78
+ &.active,
79
+ &:hover {
80
+ color: @smart-green;
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
86
+
87
+ .megamenu {
88
+ background-color: @snow-white;
89
+ position: absolute;
90
+ left: 0;
91
+ right: 0;
92
+ padding: 24px;
93
+ display: none;
94
+ margin-top: 0;
95
+ z-index: 9;
96
+
97
+ .ui.header {
98
+ font-size: 16px;
99
+ line-height: 20px;
100
+ margin-bottom: 12px;
101
+ color: @pepper-grey;
102
+ }
103
+
104
+ .ui.link.list {
105
+ margin-top: 0;
106
+
107
+ > .item {
108
+ font-size: 16px;
109
+ line-height: 20px;
110
+ color: @pepper-grey;
111
+ padding-bottom: 8px;
112
+ padding-left: 0;
113
+ font-weight: 300;
114
+ &:hover {
115
+ color: @shallow-blue;
116
+ }
117
+ }
118
+ }
119
+ }
120
+
121
+ .mega-dropdown {
122
+ &:hover {
123
+ > .megamenu {
124
+ display: block;
125
+ }
126
+ }
127
+ }
128
+
129
+ .logo__link {
130
+ max-height: 20px;
131
+ }
132
+ }
@@ -0,0 +1,80 @@
1
+ -
2
+ :background_class: "blue-background"
3
+ :logo:
4
+ :src: https://mekari.com/wp-content/uploads/2019/03/logo-mekari.svg
5
+ :alt: "Mekari"
6
+ :link: "/"
7
+ :navigation_items:
8
+ - :name: "About Us"
9
+ :url: "/about_us"
10
+ - :name: "Products"
11
+ :url: "#"
12
+ :target: "menu-products"
13
+ :submenu_items:
14
+ - :links:
15
+ -
16
+ :name: 'Sleekr'
17
+ :path: '/submenu_1'
18
+ -
19
+ :name: 'Talenta'
20
+ :path: '/submenu_2'
21
+ -
22
+ :name: 'Jurnal'
23
+ :path: '/submenu_3'
24
+ -
25
+ :name: 'Klikpajak'
26
+ :path: '/submenu_3'
27
+ :submenu_items_type: ''
28
+ - :name: "Careers"
29
+ :url: "/careers"
30
+ :class: "careers"
31
+ - :name: "News"
32
+ :url: "/news"
33
+ :link_login: "Log In"
34
+ :path_login: "/login"
35
+
36
+ -
37
+ :background_class: "marine-blue-background"
38
+ :logo:
39
+ :src: https://mekari.com/wp-content/uploads/2019/03/logo-mekari.svg
40
+ :alt: "Mekari"
41
+ :link: "/"
42
+ :navigation_items:
43
+ - :name: "Products"
44
+ :url: "#"
45
+ :target: "menu-products"
46
+ :submenu_items:
47
+ - :subtitle: 'Payroll Automation & HR Solution'
48
+ :links:
49
+ -
50
+ :name: 'Sleekr'
51
+ :path: '/submenu_1'
52
+ -
53
+ :name: 'Talenta'
54
+ :path: '/submenu_2'
55
+ - :subtitle: 'Accounting Software'
56
+ :links:
57
+ -
58
+ :name: 'Jurnal'
59
+ :path: '/submenu_3'
60
+ - :subtitle: 'Accounting Software'
61
+ :links:
62
+ -
63
+ :name: 'Tax Management Platform'
64
+ :path: '/submenu_4'
65
+ :submenu_items_type: 'full_header'
66
+ - :name: "Company"
67
+ :url: "#"
68
+ :submenu_items:
69
+ - :links:
70
+ -
71
+ :name: 'About Us'
72
+ :path: '/about_us'
73
+ -
74
+ :name: 'Careers'
75
+ :path: '/careers'
76
+ -
77
+ :name: 'News'
78
+ :path: '/news'
79
+ :link_login: "Log In"
80
+ :path_login: "/login"
@@ -0,0 +1,13 @@
1
+ # app/components/header/header_component.rb
2
+ class HeaderComponent < MountainView::Presenter
3
+ properties :logo, default: { src: '', alt: '' }
4
+ property :menu, default: []
5
+
6
+ def title
7
+ properties[:title].titleize
8
+ end
9
+
10
+ def has_submenu?(navigation_item)
11
+ navigation_item[:submenu_items].present?
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ module MekariLvsg
2
+ class ApplicationController < ActionController::Base
3
+ protect_from_forgery with: :exception
4
+ end
5
+ end
@@ -0,0 +1,4 @@
1
+ module MekariLvsg
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module MekariLvsg
2
+ class ApplicationJob < ActiveJob::Base
3
+ end
4
+ end
@@ -0,0 +1,6 @@
1
+ module MekariLvsg
2
+ class ApplicationMailer < ActionMailer::Base
3
+ default from: 'from@example.com'
4
+ layout 'mailer'
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ module MekariLvsg
2
+ class ApplicationRecord < ActiveRecord::Base
3
+ self.abstract_class = true
4
+ end
5
+ end
@@ -0,0 +1,13 @@
1
+ doctype html
2
+ html
3
+ head
4
+ meta content=("text/html; charset=UTF-8") http-equiv="Content-Type" /
5
+ title Mekari lvsg
6
+
7
+ = stylesheet_link_tag "mekari_lvsg/moneysmart", media: "all"
8
+ = stylesheet_link_tag "mekari_lvsg/styles", media: "all"
9
+ = javascript_include_tag "mekari_lvsg/mekari"
10
+
11
+ = csrf_meta_tags
12
+ body
13
+ = yield
@@ -0,0 +1,17 @@
1
+ h2 Device Width Definition
2
+
3
+ table.ui.table
4
+ thead
5
+ tr
6
+ th
7
+ th Mobile
8
+ th Tablet
9
+ th Small Monitor
10
+ th Large Monitor
11
+ tbody
12
+ tr
13
+ th Device Width
14
+ td below 768px
15
+ td 768px - 991px
16
+ td 992px - 1200px
17
+ td above 1200px
data/config/routes.rb ADDED
@@ -0,0 +1,4 @@
1
+ MekariLvsg::Engine.routes.draw do
2
+ get 'page/example'
3
+ mount MountainView::Engine => "/"
4
+ end
@@ -0,0 +1,8 @@
1
+ require 'font-awesome-less'
2
+ require 'momentjs-rails'
3
+ require "mekari_lvsg/engine"
4
+ require 'mountain_view/presenter/view_context_extension'
5
+
6
+ module MekariLvsg
7
+ # Your code goes here...
8
+ end
@@ -0,0 +1,56 @@
1
+ require "slim-rails"
2
+ require "jquery-rails"
3
+ require "jquery-ui-rails"
4
+ require "mountain_view"
5
+ require "less/rails/semantic_ui"
6
+
7
+ module MekariLvsg
8
+ class Engine < ::Rails::Engine
9
+ isolate_namespace MekariLvsg
10
+
11
+ initializer :assets do |config|
12
+ Rails.application.config.assets.precompile += %w(
13
+ mekari_lvsg/mekari.css
14
+ mekari_lvsg/mekari.js
15
+ mekari_lvsg/theme.css
16
+ )
17
+ Rails.application.config.assets.paths << root.join("app", "assets", "images")
18
+ end
19
+
20
+ config.generators do |g|
21
+ g.test_framework :rspec
22
+ g.template_engine :slim
23
+ end
24
+
25
+ MountainView.configure do |c|
26
+ c.components_path ||= root.join("app", "components")
27
+ c.included_stylesheets = ["mekari_lvsg/theme.css"]
28
+ c.extra_pages = [:grid, :buttons, :colors, :device_width]
29
+ end
30
+
31
+ initializer "mountain_view.load_component_classes",
32
+ before: :set_autoload_paths do |app|
33
+ component_paths = "#{MountainView.configuration.components_path}/{*}"
34
+ app.config.autoload_paths += Dir[component_paths]
35
+ end
36
+
37
+ initializer "mountain_view.assets" do |app|
38
+ Rails.application.config.assets.paths << MountainView.configuration.components_path
39
+ Rails.application.config.assets.precompile += %w( mountain_view/styleguide.css
40
+ mountain_view/styleguide.js )
41
+ end
42
+
43
+ initializer "mountain_view.append_view_paths" do |app|
44
+ ActiveSupport.on_load :action_controller do
45
+ append_view_path MountainView.configuration.components_path
46
+ end
47
+ end
48
+
49
+ initializer "mountain_view.add_helpers" do
50
+ ActiveSupport.on_load :action_controller do
51
+ ::ActionController::Base.helper MountainView::StyleguideHelper
52
+ ::ActionController::Base.helper MountainView::ComponentHelper
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,3 @@
1
+ module MekariLvsg
2
+ VERSION = '0.1.0-beta'
3
+ end