tramway-landing 2.1.0.2 → 2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/tramway/landing/block_types/header_with_form.css.scss +40 -0
- data/app/decorators/tramway/landing/block_decorator.rb +4 -0
- data/app/forms/admin/tramway/landing/block_form.rb +9 -2
- data/app/models/tramway/landing/block.rb +9 -1
- data/app/views/layouts/tramway/landing/_navbar.html.haml +17 -0
- data/app/views/layouts/tramway/landing/application.html.haml +15 -12
- data/app/views/tramway/landing/blocks/block_types/_header.html.haml +0 -18
- data/app/views/tramway/landing/blocks/block_types/_header_with_form.html.haml +33 -0
- data/app/views/tramway/landing/templates/_alert.html.haml +14 -0
- data/app/views/tramway/landing/{blocks/templates → templates}/_features_list.html.haml +0 -0
- data/app/views/tramway/landing/{blocks/templates → templates}/_full_page.html.haml +0 -0
- data/app/views/tramway/landing/{blocks/templates → templates}/_section_with_image_and_text.html.haml +0 -0
- data/app/views/tramway/landing/{blocks/templates → templates}/_text.html.haml +0 -0
- data/app/views/tramway/landing/templates/alerts/_close_button.html.haml +2 -0
- data/lib/tramway/landing/generates/install_generator.rb +1 -0
- data/lib/tramway/landing/generates/templates/add_values_to_tramway_landing_blocks.rb +7 -0
- data/lib/tramway/landing/version.rb +1 -1
- metadata +11 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 927598e0e4c4c014682f59b806a22588d1f45b446a3775f3dc35f18e3bb53448
|
4
|
+
data.tar.gz: 716e8d4401ef1f828d440ea9cc86efc026dd71b873289015aa12e6e505f25735
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e07c453830803a47b2708ba7df65c6b5d8bc2764a0ed144182cf7924753cecaf32300e6f0131c967db72ff2fe01998f597939ca60091e9dfff9f043ecbd95ac1
|
7
|
+
data.tar.gz: 29acc785378bfdab88365599c4af475440fbb286347cd5ae3fcf31d43ee8a51d25eac2b05bbb6c6334eaf05968d0a3fc3b70d0a12ecaa539099579dbe12f37ae
|
@@ -0,0 +1,40 @@
|
|
1
|
+
html, body, header, .view {
|
2
|
+
height: 100%;
|
3
|
+
}
|
4
|
+
|
5
|
+
@media (max-width: 740px) {
|
6
|
+
html, body, header, .view {
|
7
|
+
height: 1000px;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
11
|
+
@media (min-width: 800px) and (max-width: 850px) {
|
12
|
+
html, body, header, .view {
|
13
|
+
height: 650px;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
@media (min-width: 800px) and (max-width: 850px) {
|
17
|
+
.navbar:not(.top-nav-collapse) {
|
18
|
+
background: #1C2331!important;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
/* Navbar animation */
|
22
|
+
.navbar {
|
23
|
+
background-color: rgba(0, 0, 0, 0.3);
|
24
|
+
}
|
25
|
+
|
26
|
+
.top-nav-collapse {
|
27
|
+
background-color: #1C2331;
|
28
|
+
}
|
29
|
+
|
30
|
+
/* Adding color to the Navbar on mobile */
|
31
|
+
@media only screen and (max-width: 768px) {
|
32
|
+
.navbar {
|
33
|
+
background-color: #1C2331;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
/* Footer color for sake of consistency with Navbar */
|
38
|
+
.page-footer {
|
39
|
+
background-color: #1C2331;
|
40
|
+
}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
class Admin::Tramway::Landing::BlockForm < ::Tramway::Core::ExtendedApplicationForm
|
4
4
|
properties :title, :background, :view_state_event, :block_type, :position, :navbar_link, :anchor, :description,
|
5
|
-
:link_object_type, :link_object_id, :button_title, :button_link, :view_name
|
5
|
+
:link_object_type, :link_object_id, :button_title, :button_link, :view_name, :form_url
|
6
6
|
|
7
7
|
def initialize(object = nil)
|
8
8
|
super(object).tap do
|
@@ -20,7 +20,8 @@ class Admin::Tramway::Landing::BlockForm < ::Tramway::Core::ExtendedApplicationF
|
|
20
20
|
description: :ckeditor,
|
21
21
|
button_title: :string,
|
22
22
|
button_link: :string,
|
23
|
-
view_name: :string
|
23
|
+
view_name: :string,
|
24
|
+
form_url: :string
|
24
25
|
end
|
25
26
|
end
|
26
27
|
|
@@ -45,4 +46,10 @@ class Admin::Tramway::Landing::BlockForm < ::Tramway::Core::ExtendedApplicationF
|
|
45
46
|
model.button[:link] = value
|
46
47
|
model.save
|
47
48
|
end
|
49
|
+
|
50
|
+
def form_url=(value)
|
51
|
+
model.values ||= {}
|
52
|
+
model.values.merge! form_url: value
|
53
|
+
model.save
|
54
|
+
end
|
48
55
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class Tramway::Landing::Block < ::Tramway::Landing::ApplicationRecord
|
4
|
-
enumerize :block_type, in: %i[header footer page cards features contacts link page_with_button just_text view]
|
4
|
+
enumerize :block_type, in: %i[header header_with_form footer page cards features contacts link page_with_button just_text view]
|
5
5
|
enumerize :navbar_link, in: %i[exist not_exist], default: :not_exist
|
6
6
|
enumerize :link_object_type, in: ['Tramway::SportSchool::Document', 'Tramway::Page::Page']
|
7
7
|
|
@@ -28,4 +28,12 @@ class Tramway::Landing::Block < ::Tramway::Landing::ApplicationRecord
|
|
28
28
|
def link_object
|
29
29
|
link_object_type.constantize.find link_object_id
|
30
30
|
end
|
31
|
+
|
32
|
+
def header?
|
33
|
+
block_type.in? [ 'header', 'header_with_form']
|
34
|
+
end
|
35
|
+
|
36
|
+
def footer?
|
37
|
+
block_type.footer?
|
38
|
+
end
|
31
39
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
%nav.navbar.navbar-expand-lg.navbar-dark.indigo.scrolling-navbar.fixed-top
|
2
|
+
= link_to yield(:application_name), '#', class: 'navbar-brand'
|
3
|
+
%button.navbar-toggler{ type: :button, data: { toggle: :collapse, target: '#navbarSupportedContent' }, aria: { controls: 'navbarSupportedContent', expanded: 'false', label: 'Toggle navigation' } }
|
4
|
+
= fa_icon :bars
|
5
|
+
.collapse.navbar-collapse#navbarSupportedContent
|
6
|
+
- if @links&.any?
|
7
|
+
%ul.navbar-nav.mr-auto
|
8
|
+
- @links.each do |link|
|
9
|
+
- if link.is_a? Hash
|
10
|
+
.nav-item.dropdown
|
11
|
+
%a.nav-link.dropdown-toggle{ id: "dropdown_menu_button_#{link.keys.first}", aria: { expanded: :false, haspopup: :true }, data: { toggle: :dropdown } }
|
12
|
+
= t(".#{link.keys.first}")
|
13
|
+
.dropdown-menu.dropdown-primary{ aria: { labelledby: "dropdown_menu_button_#{link.keys.first}" } }
|
14
|
+
- link.values.first.each do |menu_item|
|
15
|
+
= link_to menu_item.title, menu_item.link, class: 'dropdown-item'
|
16
|
+
- else
|
17
|
+
= menu_item link.title, link.link
|
@@ -16,21 +16,24 @@
|
|
16
16
|
= stylesheet_link_tag 'https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.4.5/css/mdb.min.css'
|
17
17
|
= javascript_include_tag 'https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.4.5/js/mdb.js'
|
18
18
|
= javascript_include_tag 'https://cdn.rawgit.com/CezarLuiz0/anchor.js/master/dist/anchor.min.js'
|
19
|
+
= render 'layouts/tramway/landing/navbar'
|
19
20
|
- if @blocks&.any?
|
20
|
-
- headers = @blocks.select { |block| block.model.
|
21
|
-
- footers = @blocks.select { |block| block.model.
|
21
|
+
- headers = @blocks.select { |block| block.model.header? }
|
22
|
+
- footers = @blocks.select { |block| block.model.footer? }
|
22
23
|
- other_blocks = @blocks - headers - footers
|
23
|
-
-
|
24
|
-
|
25
|
-
|
24
|
+
- header_block = headers.first
|
25
|
+
- if header_block.present?
|
26
|
+
= render "tramway/landing/blocks/block_types/#{header_block.model.block_type.underscore}", block: header_block
|
26
27
|
%main.mt-5
|
27
|
-
.
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
28
|
+
- if other_blocks.any?
|
29
|
+
.container
|
30
|
+
- other_blocks.each_with_index do |block, index|
|
31
|
+
= render "tramway/landing/blocks/block_types/#{block.model.block_type}", block: block
|
32
|
+
- if index < other_blocks.count - 1
|
33
|
+
%hr
|
34
|
+
- if block_given?
|
35
|
+
.container-fluid
|
36
|
+
= yield
|
34
37
|
|
35
38
|
- footers = @blocks.select { |block| block.model.block_type&.footer? }
|
36
39
|
- if footers.first.present?
|
@@ -1,22 +1,4 @@
|
|
1
1
|
= javascript_include_tag 'tramway/landing/smooth-scroll'
|
2
|
-
- content_for(:navbar) do
|
3
|
-
%nav.navbar.navbar-expand-lg.navbar-dark.indigo.scrolling-navbar.fixed-top
|
4
|
-
= link_to yield(:application_name), '#', class: 'navbar-brand'
|
5
|
-
%button.navbar-toggler{ type: :button, data: { toggle: :collapse, target: '#navbarSupportedContent' }, aria: { controls: 'navbarSupportedContent', expanded: 'false', label: 'Toggle navigation' } }
|
6
|
-
= fa_icon :bars
|
7
|
-
.collapse.navbar-collapse#navbarSupportedContent
|
8
|
-
- if @links&.any?
|
9
|
-
%ul.navbar-nav.mr-auto
|
10
|
-
- @links.each do |link|
|
11
|
-
- if link.is_a? Hash
|
12
|
-
.nav-item.dropdown
|
13
|
-
%a.nav-link.dropdown-toggle{ id: "dropdown_menu_button_#{link.keys.first}", aria: { expanded: :false, haspopup: :true }, data: { toggle: :dropdown } }
|
14
|
-
= t(".#{link.keys.first}")
|
15
|
-
.dropdown-menu.dropdown-primary{ aria: { labelledby: "dropdown_menu_button_#{link.keys.first}" } }
|
16
|
-
- link.values.first.each do |menu_item|
|
17
|
-
= link_to menu_item.title, menu_item.link, class: 'dropdown-item'
|
18
|
-
- else
|
19
|
-
= menu_item link.title, link.link
|
20
2
|
= render 'tramway/landing/blocks/templates/full_page', block: OpenStruct.new(title: yield(:application_name), tagline: yield(:application_tagline), background: block.background), buttons: @links&.select { |link| !link.is_a? Hash }
|
21
3
|
%script
|
22
4
|
var scroll = new SmoothScroll('a[href*="#"]');
|
@@ -0,0 +1,33 @@
|
|
1
|
+
.view.full-page-intro{ style: "background-image: url('#{block.background.url}'); background-repeat: no-repeat; background-size: cover;" }
|
2
|
+
.mask.rgba-black-light.d-flex.justify-content-center.align-items-center
|
3
|
+
.container
|
4
|
+
.row.wow.fadeIn
|
5
|
+
.col-md-6.mb-4.white-text.text-center.text-md-left
|
6
|
+
%h1.display-4.font-weight-bold
|
7
|
+
= @application.public_name
|
8
|
+
%hr.hr-light
|
9
|
+
%p
|
10
|
+
%strong
|
11
|
+
= @application.tagline
|
12
|
+
%p.mb-4.d-none.d-md-block
|
13
|
+
%strong
|
14
|
+
= @application.short_description
|
15
|
+
.col-md-6.col-xl-5.mb-4
|
16
|
+
- if params[:flash] == 'success'
|
17
|
+
= render 'tramway/landing/templates/alert', alert_type: :success do
|
18
|
+
Sign up successful!
|
19
|
+
- if params[:flash] == 'error'
|
20
|
+
= render 'tramway/landing/templates/alert', alert_type: :danger do
|
21
|
+
There is some errors
|
22
|
+
.card
|
23
|
+
.card-body
|
24
|
+
= simple_form_for @header_with_form, url: block.form_url, method: :post, input_html: { class: 'form-vertical' } do |f|
|
25
|
+
%h3.dark-grey-text.text-center
|
26
|
+
%strong
|
27
|
+
= block.title
|
28
|
+
%hr
|
29
|
+
= hidden_field_tag :model, 'User'
|
30
|
+
= hidden_field_tag :redirect, request.path
|
31
|
+
- @header_with_form.properties.each do |property|
|
32
|
+
= render 'tramway/core/shared/input', property: property[0], object: :record, type: property[1], form: f, destination: :landing, record: @header_with_form, value: (params[:record].present? ? params[:record][property[0]] : '')
|
33
|
+
= f.button :submit, @header_with_form.submit_message
|
@@ -0,0 +1,14 @@
|
|
1
|
+
.alert{ role: :alert, class: "alert-#{alert_type}" }
|
2
|
+
- if defined? title
|
3
|
+
%h4.alert-heading
|
4
|
+
= title
|
5
|
+
- if defined? short_description
|
6
|
+
%p
|
7
|
+
= short_description
|
8
|
+
%hr/
|
9
|
+
%p.mb-0
|
10
|
+
= yield
|
11
|
+
= render 'tramway/landing/templates/alerts/close_button'
|
12
|
+
- else
|
13
|
+
= yield
|
14
|
+
= render 'tramway/landing/templates/alerts/close_button'
|
File without changes
|
File without changes
|
data/app/views/tramway/landing/{blocks/templates → templates}/_section_with_image_and_text.html.haml
RENAMED
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tramway-landing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: '2.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Kalashnikov
|
@@ -26,6 +26,7 @@ files:
|
|
26
26
|
- app/assets/javascripts/tramway/landing/footer.js
|
27
27
|
- app/assets/javascripts/tramway/landing/smooth-scroll.js
|
28
28
|
- app/assets/stylesheets/tramway/landing/application.sass
|
29
|
+
- app/assets/stylesheets/tramway/landing/block_types/header_with_form.css.scss
|
29
30
|
- app/assets/stylesheets/tramway/landing/collage.css.sass
|
30
31
|
- app/assets/stylesheets/tramway/landing/justified.css
|
31
32
|
- app/controllers/tramway/landing/application_controller.rb
|
@@ -44,6 +45,7 @@ files:
|
|
44
45
|
- app/models/tramway/landing/block.rb
|
45
46
|
- app/uploaders/tramway/landing/photo_versions.rb
|
46
47
|
- app/views/layouts/tramway/landing/_meta.html.haml
|
48
|
+
- app/views/layouts/tramway/landing/_navbar.html.haml
|
47
49
|
- app/views/layouts/tramway/landing/_yandex_metrika.html.haml
|
48
50
|
- app/views/layouts/tramway/landing/application.html.haml
|
49
51
|
- app/views/tramway/landing/blocks/block_types/_cards.html.haml
|
@@ -51,6 +53,7 @@ files:
|
|
51
53
|
- app/views/tramway/landing/blocks/block_types/_features.html.haml
|
52
54
|
- app/views/tramway/landing/blocks/block_types/_footer.html.haml
|
53
55
|
- app/views/tramway/landing/blocks/block_types/_header.html.haml
|
56
|
+
- app/views/tramway/landing/blocks/block_types/_header_with_form.html.haml
|
54
57
|
- app/views/tramway/landing/blocks/block_types/_just_text.html.haml
|
55
58
|
- app/views/tramway/landing/blocks/block_types/_link.html.haml
|
56
59
|
- app/views/tramway/landing/blocks/block_types/_page.html.haml
|
@@ -58,10 +61,12 @@ files:
|
|
58
61
|
- app/views/tramway/landing/blocks/block_types/_view.html.haml
|
59
62
|
- app/views/tramway/landing/blocks/block_types/contacts/_with_map.html.haml
|
60
63
|
- app/views/tramway/landing/blocks/block_types/contacts/_without_map.html.haml
|
61
|
-
- app/views/tramway/landing/
|
62
|
-
- app/views/tramway/landing/
|
63
|
-
- app/views/tramway/landing/
|
64
|
-
- app/views/tramway/landing/
|
64
|
+
- app/views/tramway/landing/templates/_alert.html.haml
|
65
|
+
- app/views/tramway/landing/templates/_features_list.html.haml
|
66
|
+
- app/views/tramway/landing/templates/_full_page.html.haml
|
67
|
+
- app/views/tramway/landing/templates/_section_with_image_and_text.html.haml
|
68
|
+
- app/views/tramway/landing/templates/_text.html.haml
|
69
|
+
- app/views/tramway/landing/templates/alerts/_close_button.html.haml
|
65
70
|
- config/initializers/assets.rb
|
66
71
|
- config/initializers/tramway.rb
|
67
72
|
- config/locales/en.forms.yml
|
@@ -79,6 +84,7 @@ files:
|
|
79
84
|
- lib/tramway/landing/generates/templates/add_link_object_id_to_tramway_landing_blocks.rb
|
80
85
|
- lib/tramway/landing/generates/templates/add_link_object_type_to_tramway_landing_blocks.rb
|
81
86
|
- lib/tramway/landing/generates/templates/add_navbar_link_to_tramway_landing_blocks.rb
|
87
|
+
- lib/tramway/landing/generates/templates/add_values_to_tramway_landing_blocks.rb
|
82
88
|
- lib/tramway/landing/generates/templates/add_view_name_to_tramway_landing_blocks.rb
|
83
89
|
- lib/tramway/landing/generates/templates/create_tramway_landing_blocks.rb
|
84
90
|
- lib/tramway/landing/version.rb
|