diff --git a/app/assets/images/ico-arrow-updown.svg b/app/assets/images/ico-arrow-updown.svg index ee7ad89..3e10859 100644 --- a/app/assets/images/ico-arrow-updown.svg +++ b/app/assets/images/ico-arrow-updown.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 9c529a5..f258144 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -222,6 +222,7 @@ main { border: 2px solid var(--clr-black); color: var(--clr-white); font-size: var(--fs-lg); + font-family: var(--ff-ikea); font-weight: 700; line-height: 1; border-radius: 400px; @@ -399,6 +400,7 @@ ul.card__stack { svg { width: 80%; + max-width: 82px; } & > *:nth-child(1) { @@ -524,7 +526,7 @@ ul.card__stack { .link { display: grid; grid-template-columns: 1fr 1fr; - grid-template-rows: auto; + grid-template-rows: 2fr 1fr; gap: 32px; margin-bottom: 40px; @@ -556,4 +558,9 @@ ul.card__stack { grid-row: 2; } +} +@media (min-width: 815px) { + header { + margin: 4rem 4rem 2rem 4rem; + } } \ No newline at end of file diff --git a/app/controllers/admin/admin_controller.rb b/app/controllers/admin/admin_controller.rb index 19e9dc0..168047e 100644 --- a/app/controllers/admin/admin_controller.rb +++ b/app/controllers/admin/admin_controller.rb @@ -18,6 +18,11 @@ private end + def set_locale_to_default + I18n.locale = I18n.default_locale + end + + def form_locale (params['form_locale'] || I18n.locale).to_sym end diff --git a/app/controllers/admin/nodes_controller.rb b/app/controllers/admin/nodes_controller.rb index 4df49b5..d50c2c9 100644 --- a/app/controllers/admin/nodes_controller.rb +++ b/app/controllers/admin/nodes_controller.rb @@ -1,6 +1,9 @@ class Admin::NodesController < Admin::AdminController before_action :set_node, only: %i[ edit update destroy children sort toggle ] + + before_action :set_locale_to_default, only: %i[ create ] + helper_method :current_node_id, :open_node_ids # GET /nodes diff --git a/app/controllers/direct_uploads_controller.rb b/app/controllers/direct_uploads_controller.rb new file mode 100644 index 0000000..db6cae0 --- /dev/null +++ b/app/controllers/direct_uploads_controller.rb @@ -0,0 +1,10 @@ +class DirectUploadsController < ActiveStorage::DirectUploadsController + skip_forgery_protection + + before_action :authenticate! + + def authenticate! + head :unauthorized unless User.enabled.admin_role.find_by(id: session[:user_id]).present? + end + +end diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb index e546394..6fc7826 100644 --- a/app/helpers/languages_helper.rb +++ b/app/helpers/languages_helper.rb @@ -1,7 +1,7 @@ module LanguagesHelper def languages_for_select - t('languages').map {|k,v| ["#{t(k, scope: 'flags')} #{v}", k]} + t('languages').map {|k,v| ["#{v} #{t(k, scope: 'flags')} ", k]}.sort end end diff --git a/app/models/node.rb b/app/models/node.rb index 93cedce..2c5d3e4 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -10,16 +10,19 @@ class Node < ApplicationRecord extend Mobility - translates :slug, locale_accessors: I18n.available_locales - translates :tags, locale_accessors: I18n.available_locales + translates :slug, + :tags, + locale_accessors: I18n.available_locales, + fallbacks: {zh: :en, hr: :en, cs: :en, da: :en, nl: :en, fi: :en, fr: :en, de: :en, hu: :en, it: :en, ja: :en, ko: :en, nb: :en, pl: :en, pt: :en, ro: :en, sr: :en, sk: :en, sl: :en, es: :en, sv: :en, uk: :en} translates :title, :url, :href, :page_title, :page_description, - fallbacks: :en, - locale_accessors: I18n.available_locales + locale_accessors: I18n.available_locales, + fallbacks: {zh: :en, hr: :en, cs: :en, da: :en, nl: :en, fi: :en, fr: :en, de: :en, hu: :en, it: :en, ja: :en, ko: :en, nb: :en, pl: :en, pt: :en, ro: :en, sr: :en, sk: :en, sl: :en, es: :en, sv: :en, uk: :en} + NODE_TEMPLATES = %w"tmpl_article tmpl_index tmpl_list" diff --git a/app/views/admin/nodes/_form.html.erb b/app/views/admin/nodes/_form.html.erb index c301ff3..f443981 100644 --- a/app/views/admin/nodes/_form.html.erb +++ b/app/views/admin/nodes/_form.html.erb @@ -110,7 +110,8 @@ <%= form.text_field i18n_attr, class: 'material__input', - disabled: form.object.root? %> + disabled: form.object.root?, + placeholder: form.object.public_send(:slug, locale: I18n.default_locale) %> <% end %> <%- form.object.errors.full_messages_for(i18n_attr).uniq.each do |msg| -%> diff --git a/app/views/material/_text_field_i18n.html.erb b/app/views/material/_text_field_i18n.html.erb index 8415436..44dc1f3 100644 --- a/app/views/material/_text_field_i18n.html.erb +++ b/app/views/material/_text_field_i18n.html.erb @@ -8,11 +8,11 @@ <%- i18n_attr = "#{attr}_#{locale}" -%> <%= f.label i18n_attr, class: "input-box i18n__input i18n__input-#{locale}" do %> - <%= f.text_field i18n_attr, + <%= f.text_field i18n_attr, class: 'material__input', disabled: local_assigns[:disabled], data: local_assigns[:data], - placeholder: local_assigns[:placeholder] %> + placeholder: local_assigns[:placeholder].blank? ? f.object.public_send(attr, locale: I18n.default_locale) : local_assigns[:placeholder] %> <% end %> <%- f.object.errors.full_messages_for(i18n_attr).uniq.each do |msg| -%> diff --git a/app/views/material/_text_field_i18n_simple.html.erb b/app/views/material/_text_field_i18n_simple.html.erb index 04415d9..eb25ff3 100644 --- a/app/views/material/_text_field_i18n_simple.html.erb +++ b/app/views/material/_text_field_i18n_simple.html.erb @@ -1,11 +1,11 @@ <%- I18n.available_locales.each do |locale| %> <%- i18n_attr = "#{attr}_#{locale}" -%>