From 0c8992c8deb1f7466923879ae3fc005212062e2c Mon Sep 17 00:00:00 2001 From: Mattias Bodlund Date: Fri, 26 Apr 2024 15:37:24 +0200 Subject: [PATCH] na --- Gemfile.lock | 4 +- app/assets/.DS_Store | Bin 6148 -> 6148 bytes app/assets/images/.DS_Store | Bin 0 -> 6148 bytes app/assets/images/ico-arrow-right.svg | 1 + app/assets/images/ico-close.svg | 1 + app/assets/stylesheets/application.css | 267 ++++++++++++++++-- app/assets/stylesheets/forms.css | 23 ++ app/controllers/admin/nodes_controller.rb | 17 +- app/controllers/site_controller.rb | 26 +- app/helpers/site_helper.rb | 9 + app/javascript/application.js | 22 +- .../concerns/ancestry_with_sorted_url.rb | 2 +- app/models/node.rb | 9 +- .../admin/attachments/_attachment.html.erb | 6 +- app/views/admin/nodes/_form.html.erb | 4 +- app/views/languages/index.html.erb | 8 +- app/views/site/cards.html.erb | 7 - app/views/site/tmpl_article.html.erb | 40 +++ .../{index.html.erb => tmpl_index.html.erb} | 13 +- app/views/site/tmpl_list.html.erb | 34 +++ config/locales/en.yml | 58 ++-- config/routes.rb | 3 - 22 files changed, 472 insertions(+), 82 deletions(-) create mode 100644 app/assets/images/.DS_Store create mode 100644 app/assets/images/ico-arrow-right.svg create mode 100644 app/assets/images/ico-close.svg delete mode 100644 app/views/site/cards.html.erb create mode 100644 app/views/site/tmpl_article.html.erb rename app/views/site/{index.html.erb => tmpl_index.html.erb} (54%) create mode 100644 app/views/site/tmpl_list.html.erb diff --git a/Gemfile.lock b/Gemfile.lock index e807050..5a65408 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -264,12 +264,12 @@ GEM ruby-vips (2.2.1) ffi (~> 1.12) rubyzip (2.3.2) - selenium-webdriver (4.19.0) + selenium-webdriver (4.20.1) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sidekiq (7.2.2) + sidekiq (7.2.3) concurrent-ruby (< 2) connection_pool (>= 2.3.0) rack (>= 2.2.4) diff --git a/app/assets/.DS_Store b/app/assets/.DS_Store index cd3a2cf86a516c8064df523e3cb54a7528c4c45a..4cc6c4e8f561fbb992d70df14acf7b7be69916ba 100644 GIT binary patch delta 295 zcmZoMXfc=|#>B`mu~2NHo}wrd0|Nsi1A_nqLn=dYQh9MfQcix-#Er`*8;G#fvoT~c zZ+`Rlwpxc0e5$GW>;DypK qs%vA92HR$K4t@?`0Bqd&oq009h%OIE7NnyAh&TI)>|mbQzybi}yG(ol delta 88 zcmZoMXfc=|#>CJzu~2NHo}wrt0|NsP3otOGG8C5u7v<&T=cP|9RA*$|e4kN+ZLH1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 \ No newline at end of file diff --git a/app/assets/images/ico-close.svg b/app/assets/images/ico-close.svg new file mode 100644 index 0000000..fc15840 --- /dev/null +++ b/app/assets/images/ico-close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 105b706..3c08636 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -99,6 +99,12 @@ body { position: relative; } +ul[class] { + margin: 0 auto; + padding: 0; + list-style: none; +} + header { display: flex; @@ -130,36 +136,39 @@ main { } -.msg__container-title { - margin: 0 0 0.4375em 0; - line-height: 1.1; - font-size: var(--fs-3xl); - font-weight: 700; - - &:has(span) { - font-weight: 400; - - & span { - font-weight: 700; +.msg__container { + & h1 { + margin: 0 0 0.4375em 0; + line-height: 1.1; + font-size: var(--fs-3xl); + font-weight: 700; + + overflow-wrap: break-word; + word-wrap: break-word; + hyphens: auto; + + &:has(em) { + font-weight: 400; + + & em { + font-weight: 700; + } } } -} - + & > div:not([class]) { + margin: 0; + line-height: 1.2; + font-size: var(--fs-lg); + font-weight: 400; -.msg__container-msg { - margin: 0; - line-height: 1.2; - font-size: var(--fs-lg); - font-weight: 400; - - & + .msg__container-msg { - margin-top: 1.2em; + & + div:not([class]) { + margin-top: 1.2em; + } } } - .form__container { margin: 60px auto; } @@ -172,7 +181,7 @@ main { } @container startbar (min-width: 400px) { - h1, p { + h1, p, div { text-align: center; } } @@ -224,6 +233,11 @@ main { padding: 0.888888888888889em 1.333333333333333em; } +.button__base-light { + background-color: transparent; + color: var(--clr-black); +} + .icon__container { position: absolute; z-index: -1; @@ -267,3 +281,210 @@ main { right: -3vw; bottom: 10svh; } + + +.cards__container, .link__container { + margin-top: 2.4em; + margin-bottom: 2.4em; +} + +.link__container { + max-width: 735; + margin-left: auto; + margin-right: auto; + container-type: inline-size; + container-name: link; +} + +ul.card__stack { + max-width: 270px; + margin-bottom: 24px; + + + & a { + text-decoration: none; + color: var(--clr-black); + } +} + +.card, .link { + background-color: var(--clr-white); + box-shadow: var(--shadow); + border-radius: 12px; + box-sizing: border-box; +} + +.card { + max-width: 270px; + aspect-ratio: 0.72972972972973; + font-size: var(--fs-xl); + font-weight: 700; + display: grid; + padding: 1.142857142857143em 1em; + grid-template-rows: 1fr 4fr 1fr; + justify-items: center; + + & div { + text-align: center; + } + + svg { + width: 80%; + } + + & > *:nth-child(1) { + align-self: start; + } + & > *:nth-child(2) { + align-self: center; + } + & > *:nth-child(3) { + align-self: end; + } +} + + + +.link { + padding: 18px; + display: flex; + gap: 20px; + flex-direction: column; + position: relative; + margin-bottom: 24px; + + & img { + display: block; + width: 100%; + aspect-ratio: 0.754545454545455; + height: auto; + border-radius: 8px; + } + + & figure { + margin: 0; + } + + & h1 { + font-size: var(--fs-2xl); + margin: 0 0 0.7em 0; + font-weight: 400; + line-height: 1.2; + + + & strong { + font-weight: 700; + } + } + +} + + + + +.link__body, .link__learn-more { + font-size: var(--fs-base); + line-height: 1.4; +} + +.link__learn-more { + font-weight: 700; + padding: 1em 0; + margin-bottom: 1em; + border-top: 1px solid var(--clr-black); + border-bottom: 1px solid var(--clr-black); + + & a { + display: block; + color: var(--clr-black); + text-decoration: none; + background-image: url('ico-arrow-right.svg'); + background-repeat: no-repeat; + background-position: right center; + background-size: 32px 32px; + } +} + +.link__close { + position: absolute; + width: 46px; + aspect-ratio: 1; + background-color: var(--clr-black); + border-radius: 50%; + text-decoration: none; + right: 0; + top: -23px; + display: flex; + align-items: center; + justify-content: center; + + & svg { + width: 18px; + aspect-ratio: 1; + } +} + +.link__ctas, .cards__ctas { + display: flex; + flex-direction: column; + gap: 16px; +} + +.cards__ctas { + max-width: 440px; +} + + +@media (min-width: 480px) { + + ul.card__stack { + margin-bottom: 60px; + } + + .link { + & img { + aspect-ratio: 1.536363636363636; + object-fit: cover; + } + } + +} + + +@container link (min-width: 735px) { + .link { + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: auto; + gap: 32px; + margin-bottom: 40px; + + & img { + aspect-ratio: 0.754545454545455; + } + } + + .link__ctas { + flex-direction: row; + + & li { + flex-grow: 1; + } + } + + .link__image { + grid-column: 2; + grid-row: 1 / span 2; + } + + .link__body { + grid-column: 1; + grid-row: 1; + } + + .link__learn-more { + grid-column: 1; + grid-row: 2; + } + +} \ No newline at end of file diff --git a/app/assets/stylesheets/forms.css b/app/assets/stylesheets/forms.css index d63dfca..6fd19c5 100644 --- a/app/assets/stylesheets/forms.css +++ b/app/assets/stylesheets/forms.css @@ -1082,4 +1082,27 @@ ul { .ts-wrapper.multi .ts-control > div { background-color: var(--clr-grey-300); +} + +.destroy__field-btn { + appearance: none; + position: absolute; + top: 4px; + right: 4px; + border: none; + border-radius: 50%; + display: flex; + width: 32px; + height: 32px; + justify-content: center; + align-items: center; + font-family: var(--font-icons); + background-color: transparent; + font-size: 2.2rem; + color: var(--clr-grey-400); + + &:hover { + background-color: var(--clr-grey-200); + color: var(--clr-grey-700); + } } \ No newline at end of file diff --git a/app/controllers/admin/nodes_controller.rb b/app/controllers/admin/nodes_controller.rb index c688608..6f1f2eb 100644 --- a/app/controllers/admin/nodes_controller.rb +++ b/app/controllers/admin/nodes_controller.rb @@ -138,12 +138,12 @@ private def node_params params.require(:node).permit( :parent_id, - :title_da, :title_en, :title_de, - :page_title_da, :page_title_en, :page_title_de, - :page_description_da, :page_description_en, :page_description_de, - :slug_da, :slug_en, :slug_de, + :title_en, :title_zh, :title_hr, :title_cs, :title_da, :title_nl, :title_fi, :title_fr, :title_de, :title_hu, :title_it, :title_ja, :title_ko, :title_nb, :title_pl, :title_pt, :title_ro, :title_sr, :title_sk, :title_sl, :title_es, :title_sv, :title_uk, + :page_title_en, :page_title_zh, :page_title_hr, :page_title_cs, :page_title_da, :page_title_nl, :page_title_fi, :page_title_fr, :page_title_de, :page_title_hu, :page_title_it, :page_title_ja, :page_title_ko, :page_title_nb, :page_title_pl, :page_title_pt, :page_title_ro, :page_title_sr, :page_title_sk, :page_title_sl, :page_title_es, :page_title_sv, :page_title_uk, + :page_description_en, :page_description_zh, :page_description_hr, :page_description_cs, :page_description_da, :page_description_nl, :page_description_fi, :page_description_fr, :page_description_de, :page_description_hu, :page_description_it, :page_description_ja, :page_description_ko, :page_description_nb, :page_description_pl, :page_description_pt, :page_description_ro, :page_description_sr, :page_description_sk, :page_description_sl, :page_description_es, :page_description_sv, :page_description_uk, + :slug_en, :slug_zh, :slug_hr, :slug_cs, :slug_da, :slug_nl, :slug_fi, :slug_fr, :slug_de, :slug_hu, :slug_it, :slug_ja, :slug_ko, :slug_nb, :slug_pl, :slug_pt, :slug_ro, :slug_sr, :slug_sk, :slug_sl, :slug_es, :slug_sv, :slug_uk, :template, - :href_da, :href_en, :href_de, + :href_en, :href_zh, :href_hr, :href_cs, :href_da, :href_nl, :href_fi, :href_fr, :href_de, :href_hu, :href_it, :href_ja, :href_ko, :href_nb, :href_pl, :href_pt, :href_ro, :href_sr, :href_sk, :href_sl, :href_es, :href_sv, :href_uk, :status, :page_description, :parent_id, @@ -153,7 +153,12 @@ private :is_allowlist, excluded_locales: [], settings: [], - attachments_attributes: [:id, :asset_id, :body_da, :body_en, :body_de, :fg_color, :bg_color, :alignment, :template, :position, :_destroy] + tags_en: [], tags_zh: [], tags_hr: [], tags_cs: [], tags_da: [], tags_nl: [], tags_fi: [], tags_fr: [], tags_de: [], tags_hu: [], tags_it: [], tags_ja: [], tags_ko: [], tags_nb: [], tags_pl: [], tags_pt: [], tags_ro: [], tags_sr: [], tags_sk: [], tags_sl: [], tags_es: [], tags_sv: [], tags_uk: [], + attachments_attributes: [ + :id, :asset_id, + :body_en, :body_zh, :body_hr, :body_cs, :body_da, :body_nl, :body_fi, :body_fr, :body_de, :body_hu, :body_it, :body_ja, :body_ko, :body_nb, :body_pl, :body_pt, :body_ro, :body_sr, :body_sk, :body_sl, :body_es, :body_sv, :body_uk, + :fg_color, :bg_color, :alignment, :template, :position, :_destroy + ] ) end diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb index 1538262..b04daba 100644 --- a/app/controllers/site_controller.rb +++ b/app/controllers/site_controller.rb @@ -3,11 +3,35 @@ class SiteController < ApplicationController before_action :set_locale def index + @node = Node.roots.viewable.first + not_found and return unless @node + render(template: "site/#{@node.template}") end - def cards + def page + @node = Node.find_by!("url->>'#{I18n.locale}' = ?", url_from_param) + not_found and return unless (@node and @node.viewable?) + + # Redirect to first child if index? + redirect_to @node.children.viewable.ordered.first.url and return if @node.index? and @node.children.viewable.any? + + # Link or render + # @node.href.present? ? redirect_to(@node.href) : + # render(template: "site/#{@node.template}") + render(template: "site/#{@node.template}") + end + + +private + + def url_from_param + return '' unless params[:url] + + # return File.join('', params[:url]) if I18n.default_locale == I18n.locale + File.join('', I18n.locale.to_s, params[:url]) end + end diff --git a/app/helpers/site_helper.rb b/app/helpers/site_helper.rb index 38b4e48..430cfd5 100644 --- a/app/helpers/site_helper.rb +++ b/app/helpers/site_helper.rb @@ -10,4 +10,13 @@ module SiteHelper ], "\n" end + + def node_title(node) + parts = [node.page_title.blank? ? node.title : node.page_title ] + parts << t(:client_name) + parts.uniq.join(' - ') + rescue + t(:client_name) + end + end diff --git a/app/javascript/application.js b/app/javascript/application.js index 1ef2cba..ede3994 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -1,7 +1,25 @@ - +// Choose language confirmation button document.querySelectorAll('#confirm_btn').forEach((confirm_btn) => { confirm_btn.addEventListener('click', (e) => { window.location.href = '/' + document.getElementById('language_select').value }) -}) \ No newline at end of file +}) + +// Copy link to clipboard +document.querySelectorAll('[data-share-url]').forEach((share_btn) => { + + share_btn.addEventListener('click', (e) => { + + navigator.clipboard.writeText(e.currentTarget.getAttribute('data-share-url')) + alert('URL copied to clipboard!') + }) +}) + + +// Open all external links in ny tab +for (const link of document.links) { + if (link.hostname.replace(/^www\./i, "") != window.location.hostname.replace(/^www\./i, "") && (link.protocol == 'https:' || link.protocol == 'http:')) + link.target = '_blank' +} + diff --git a/app/models/concerns/ancestry_with_sorted_url.rb b/app/models/concerns/ancestry_with_sorted_url.rb index a6f2dbd..04696f7 100644 --- a/app/models/concerns/ancestry_with_sorted_url.rb +++ b/app/models/concerns/ancestry_with_sorted_url.rb @@ -39,7 +39,7 @@ private I18n.available_locales.each do |l| Mobility.with_locale(l) do v = File.join(self.ancestors.map { |node| node.slug || '' }, self.slug || '') - #v = File.join('', v) unless I18n.default_locale == l + v = File.join('', v) #unless I18n.default_locale == l self.send(:url=, v, locale: l) end end diff --git a/app/models/node.rb b/app/models/node.rb index 26d79ab..93cedce 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -1,6 +1,6 @@ class Node < ApplicationRecord - MENUS = %i"main_menu sub_menu footer_node cta_link opening_hours negative_menu buy_ticket newsletter" + MENUS = %i"" COOKIE_POLICY = :cookie_policy SETTINGS = MENUS << COOKIE_POLICY @@ -21,12 +21,13 @@ class Node < ApplicationRecord fallbacks: :en, locale_accessors: I18n.available_locales - NODE_TEMPLATES = %w"tmpl_article tmpl_index" + NODE_TEMPLATES = %w"tmpl_article tmpl_index tmpl_list" enum status: { status_published: 0, status_draft: 1, status_archived: 2 } enum template: { tmpl_index: 0, - tmpl_article: 1 + tmpl_article: 1, + tmpl_list: 2 } include PgSearch::Model @@ -126,7 +127,7 @@ class Node < ApplicationRecord private def remove_empty_tags - %w"tags_da tags_en tags_de settings excluded_locales".map do |k| + %w"settings excluded_locales tags_en tags_zh tags_hr tags_cs tags_da tags_nl tags_fi tags_fr tags_de tags_hu tags_it tags_ja tags_ko tags_nb tags_pl tags_pt tags_ro tags_sr tags_sk tags_sl tags_es tags_sv tags_uk ".map do |k| self.send "#{k}=", self.send(k).reject { |v| v.blank? } unless self.send(k).blank? end end diff --git a/app/views/admin/attachments/_attachment.html.erb b/app/views/admin/attachments/_attachment.html.erb index d21c3ff..f12e0d7 100644 --- a/app/views/admin/attachments/_attachment.html.erb +++ b/app/views/admin/attachments/_attachment.html.erb @@ -2,10 +2,10 @@
<%= render partial: 'admin/attachments/asset', collection: Array(f.object.asset) %> - <%= render partial: 'material/trix_field_i18n', locals: { f: f, attr: :body } %> + <%= render partial: 'material/trix_field_i18n', locals: { f: f, attr: :body, label: t('activerecord.attributes.attachment.body', locale: I18n.default_locale) } %> -
+
diff --git a/app/views/admin/nodes/_form.html.erb b/app/views/admin/nodes/_form.html.erb index e39b3cf..c301ff3 100644 --- a/app/views/admin/nodes/_form.html.erb +++ b/app/views/admin/nodes/_form.html.erb @@ -81,7 +81,7 @@ <%= render partial: 'material/text_field_i18n', locals: { f: form, attr: :href } unless form.object.root? %> - <%# render partial: 'material/tom_select_field_i18n', + <%= render partial: 'material/tom_select_field_i18n', locals: { f: form, attr: :tags, @@ -180,7 +180,7 @@ locals: { f: form, attr: :excluded_locales, - choices: options_for_select(I18n.available_locales.map{ |v| [t(v, scope: :'nodes.langs'), v.to_s] }, form.object.excluded_locales), + choices: options_for_select(I18n.available_locales.map{ |v| [t(v, scope: 'language_names'), v.to_s] }, form.object.excluded_locales), multiple: true } %> diff --git a/app/views/languages/index.html.erb b/app/views/languages/index.html.erb index 074d78b..d526ed8 100644 --- a/app/views/languages/index.html.erb +++ b/app/views/languages/index.html.erb @@ -1,16 +1,16 @@ <%- content_for :title, t('project_name') %>
- <%= tag.h1 t('start.hello'), class: 'msg__container-title' %> + <%= tag.h1 t('hello') %> - <%= tag.p t('start.please_select_a_language_to_get_started'), class: 'msg__container-msg' %> + <%= tag.div t('please_select_a_language_to_get_started') %>
<%= select_tag :language, options_for_select(languages_for_select, accept_language), id: 'language_select' %>
-
\ No newline at end of file +
s \ No newline at end of file diff --git a/app/views/site/cards.html.erb b/app/views/site/cards.html.erb deleted file mode 100644 index dc8eecc..0000000 --- a/app/views/site/cards.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -<%- content_for :title, t('project_name') %> - -
- <%= tag.h1 t('can_you_spot_the_link').html_safe, class: 'msg__container-title' %> - - -
\ No newline at end of file diff --git a/app/views/site/tmpl_article.html.erb b/app/views/site/tmpl_article.html.erb new file mode 100644 index 0000000..f5f2545 --- /dev/null +++ b/app/views/site/tmpl_article.html.erb @@ -0,0 +1,40 @@ +<%- content_for :title, node_title(@node) %> + + \ No newline at end of file diff --git a/app/views/site/index.html.erb b/app/views/site/tmpl_index.html.erb similarity index 54% rename from app/views/site/index.html.erb rename to app/views/site/tmpl_index.html.erb index 9e2bec6..a06168a 100644 --- a/app/views/site/index.html.erb +++ b/app/views/site/tmpl_index.html.erb @@ -1,14 +1,13 @@ -<%- content_for :title, t('project_name') %> +<%- content_for :title, node_title(@node) %>
- <%= tag.h1 t('can_you_spot_the_link').html_safe, class: 'msg__container-title' %> - - <% t('intro.msg').split("\n\n").each do |msg| %> - <%= tag.p msg, class: 'msg__container-msg' %> + + <% @node.attachments.each do |attachment| %> + <%= attachment.body.html_safe %> <% end %> - +
- <%= link_to t('intro.get_started'), {action: 'cards'}, class: 'button__base' %> + <%= link_to t('get_started'), @node.children.viewable.first.url, class: 'button__base' %>
diff --git a/app/views/site/tmpl_list.html.erb b/app/views/site/tmpl_list.html.erb new file mode 100644 index 0000000..e1ec5de --- /dev/null +++ b/app/views/site/tmpl_list.html.erb @@ -0,0 +1,34 @@ +<%- content_for :title, node_title(@node) %> + +
+ +
    + <% @node.children.viewable.ordered.each do |node| %> +
  • + <%= link_to node.url do %> +
    + <%= tag.div node.tags[0] %> + <%= svg "ico-arrow-updown" %> + <%= tag.div node.tags[1] %> +
    + <% end %> +
  • + <% end %> +
+ +
    +
  • + +
  • +
  • + +
  • +
+ +
+ + diff --git a/config/locales/en.yml b/config/locales/en.yml index 0c24af2..4631b1a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,7 +1,7 @@ en: - domain: week2024.ikeafoundation.org project_name: IKEA Foundation Week 2024 + client_name: IKEA Foundation languages: en: English @@ -28,6 +28,32 @@ en: sv: Svenska uk: Українська + language_names: + en: English + zh: Chinese + hr: Croatian + cs: Czech + da: Danish + nl: Dutch + fi: Finnish + fr: French + de: German + hu: Hungarian + it: Italian + ja: Japanese + ko: Korean + nb: Norwegian Bokmål + pl: Polish + pt: Portuguese + ro: Romanian + sr: Serbian + sk: Slovak + sl: Slovenian + es: Spanish + sv: Swedish + uk: Ukrainian + + flags: en: 🇬🇧 zh: 🇨🇳 @@ -53,21 +79,21 @@ en: sv: 🇸🇪 uk: 🇺🇦 - can_you_spot_the_link: Can you spot the link? - - start: - hello: Hello! - please_select_a_language_to_get_started: Please select a language to get started. - confirm: Confirm - intro: - get_started: Get started - msg: | - Poverty and climate change are among the world's greatest challenges, but fortunately, transformation is happening. + hello: Hello! + please_select_a_language_to_get_started: Please select a language to get started. + confirm: Confirm + + get_started: Get started - See if you can spot the link between our partners’ game-changing initiatives and their remarkable impact. + learn_more: Learn more + spot_another_link: Spot another link + challange_a_friend: Challange a friend + drag_to_reveal: Drag to reveal + shuffel_cards: Shuffel cards + ui: 'yes': Yes 'no': No @@ -206,8 +232,9 @@ en: en: English de: German templates: - tmpl_index: Home page - tmpl_article: Page + tmpl_index: Get started + tmpl_list: Cards + tmpl_article: Link categories: box: Box folder: Folder @@ -320,9 +347,6 @@ en: attachment: body: Content - body_da: Content - body_en: Content - body_de: Content url: Link fg_color: Text Color bg_color: Background Color diff --git a/config/routes.rb b/config/routes.rb index 33bd0c4..b82791e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -48,9 +48,6 @@ Rails.application.routes.draw do scope ':locale', constraints: { locale: /en|zh|hr|cs|da|nl|fi|fr|fr|de|hu|it|ja|ko|nb|pl|pt|ro|sr|sk|sl|es|sv|uk/ } do get '', to: 'site#index' - - get 'cards', to: 'site#cards' - get '*url', to: 'site#page', constraints: lambda { |req| req.path.exclude?('storage') } end