diff --git a/app/assets/stylesheets/tailwind.css.scss b/app/assets/stylesheets/tailwind.css.scss new file mode 100644 index 00000000..95953b81 --- /dev/null +++ b/app/assets/stylesheets/tailwind.css.scss @@ -0,0 +1,55 @@ +.mega-menu { + display: none; + left: 0; + position: absolute; + text-align: left; + width: 100%; +} + +.hoverable { + position: static; +} + +.hoverable > a:after { + content: "\25BC"; + font-size: 10px; + padding-left: 6px; + position: relative; + top: -1px; +} + +.hoverable:hover .mega-menu { + display: block; +} + +.toggleable > label:after { + content: "\25BC"; + font-size: 10px; + padding-left: 6px; + position: relative; + top: -1px; +} + +.toggle-input { + display: none; +} +.toggle-input:not(checked) ~ .mega-menu { + display: none; +} + +.toggle-input:checked ~ .mega-menu { + display: block; +} + +.toggle-input:checked + label { + color: white; + background: #2c5282; /*@apply bg-blue-800 */ +} + +.toggle-input:checked ~ label:after { + content: "\25B2"; + font-size: 10px; + padding-left: 6px; + position: relative; + top: -1px; +} \ No newline at end of file diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb index 354b80fa..7dfa77fa 100644 --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -1,10 +1,11 @@ # Controller for top-level pages of the site that do not have # an associated model class MainController < ApplicationController - layout 'landing', only: [:index, :about_notebook, :for_writers, :for_roleplayers, :for_friends] + layout 'tailwind/landing', only: [:index, :about_notebook, :for_writers, :for_roleplayers, :for_friends] before_action :authenticate_user!, only: [:dashboard, :prompts, :notes, :recent_content] before_action :cache_linkable_content_for_each_content_type, only: [:dashboard, :prompts] + before_action :set_page_meta_tags before_action do if !user_signed_in? && params[:referral] @@ -100,4 +101,11 @@ class MainController < ApplicationController @content = @current_user_content.except(*%w(Timeline Document)).values.flatten.sample @attribute_field_to_question = SerendipitousService.question_for(@content) end + + def set_page_meta_tags + set_meta_tags( + site: "The smart notebook for worldbuilders - Notebook.ai", + page: '' + ) + end end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index d7f8e238..9e6ddf3a 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -2,8 +2,6 @@ <%= render 'layouts/common_head' %> - - + + + + <%= csrf_meta_tags %> + + <%= stylesheet_link_tag 'application', media: 'all' %> + + + + <%= render 'layouts/favicon' %> + <%= javascript_include_tag 'application' %> + <%= javascript_pack_tag 'application' %> + <%= render 'layouts/seo' %> + + + + + + <%= render 'layouts/sidenav' if user_signed_in? %> + <%= render 'layouts/recent_edits_sidenav' if user_signed_in? %> + <%= render 'layouts/navbar' %> + +
+ <%= yield :full_width_page_header %> + <%= yield :full_width_page_content %> + <%= render 'cards/ui/alert' %> + <%= render 'cards/ui/notice' %> +
+
+ <%= yield %> +
+
+
+ + <%= react_component("Footer") unless defined?(@show_footer) && !@show_footer %> + <%= render 'layouts/quick_add_fab' unless defined?(@show_footer) && !@show_footer %> + + + + <%= render partial: 'content/keyboard_controls_help_modal' %> + <%= render 'layouts/ganalytics' %> + + diff --git a/app/views/layouts/tailwind/_navbar.html.erb b/app/views/layouts/tailwind/_navbar.html.erb new file mode 100644 index 00000000..03a33104 --- /dev/null +++ b/app/views/layouts/tailwind/_navbar.html.erb @@ -0,0 +1,6 @@ +<% if user_signed_in? %> + <%= render partial: 'layouts/tailwind/navbar/logged_in' %> + +<% else %> + <%= render partial: 'layouts/tailwind/navbar/logged_out' %> +<% end %> \ No newline at end of file diff --git a/app/views/layouts/tailwind/landing.html.erb b/app/views/layouts/tailwind/landing.html.erb new file mode 100644 index 00000000..71a375bc --- /dev/null +++ b/app/views/layouts/tailwind/landing.html.erb @@ -0,0 +1,28 @@ + + + + + <%= csrf_meta_tags %> + + <%= render 'layouts/favicon' %> + <%= javascript_include_tag 'application' %> + <%= javascript_pack_tag 'application' %> + <%= render 'layouts/seo' %> + + <%= stylesheet_link_tag 'application', media: 'all' %> + + + + + + + <%= render 'layouts/tailwind/navbar' %> + +
+ <%= yield %> +
+ + <%= react_component("Footer") unless defined?(@show_footer) && !@show_footer %> + <%= render 'layouts/ganalytics' %> + + diff --git a/app/views/layouts/tailwind/navbar/_logged_in.html.erb b/app/views/layouts/tailwind/navbar/_logged_in.html.erb new file mode 100644 index 00000000..bf1d4067 --- /dev/null +++ b/app/views/layouts/tailwind/navbar/_logged_in.html.erb @@ -0,0 +1,181 @@ +
+
+ <%= link_to 'Notebook.ai', root_path, class: 'hover:text-blue-100' %> +
+ + +
\ No newline at end of file diff --git a/app/views/layouts/tailwind/navbar/_logged_out.html.erb b/app/views/layouts/tailwind/navbar/_logged_out.html.erb new file mode 100644 index 00000000..dca9d0fa --- /dev/null +++ b/app/views/layouts/tailwind/navbar/_logged_out.html.erb @@ -0,0 +1,14 @@ +
+
+ <%= link_to 'Notebook.ai', root_path, class: 'block p-3 mt-1 tracking-wider hover:shadow-lg' %> +
+ + +