diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE index 0689cbc01..abb23cf0a 100644 --- a/.github/PULL_REQUEST_TEMPLATE +++ b/.github/PULL_REQUEST_TEMPLATE @@ -1,17 +1,17 @@ References -========== +=================== > Add references to related Issues/Pull Requests/Travis Builds/Rollbar errors/etc... Objectives -========== +=================== > What are the objectives of this changes? (If there is no related Issue with an explanation) -Visual Changes (if any) -======================= +Visual Changes +=================== > Any visual changes? please attach screenshots (or gifs) showing them. > If modified views are public (not the admin panel), try them in mobile display (with your browser's developer console) and add screenshots. Notes -===================== +=================== > Mention rake tasks or actions to be done when deploying this changes to a server (if any). > Explain any caveats, or important things to notice like deprecations (if any). diff --git a/Dockerfile b/Dockerfile index 40e32c768..880d17e43 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,17 @@ -# # Select ubuntu as the base image -FROM coreapps/ruby2.3 +FROM ruby:2.3.6 # Install essential Linux packages -RUN apt-get update -qq && apt-get install -y build-essential libpq-dev postgresql-client nodejs imagemagick +RUN apt-get update -qq && apt-get install -y build-essential libpq-dev postgresql-client nodejs imagemagick sudo + +# Files created inside the container repect the ownership +RUN adduser --shell /bin/bash --disabled-password --gecos "" consul \ + && adduser consul sudo \ + && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +RUN echo 'Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bundle/bin"' > /etc/sudoers.d/secure_path +RUN chmod 0440 /etc/sudoers.d/secure_path + +COPY scripts/entrypoint.sh /usr/local/bin/entrypoint.sh # Define where our application will live inside the image ENV RAILS_ROOT /var/www/consul diff --git a/Gemfile b/Gemfile index f7f9c46ad..be4ee12f1 100644 --- a/Gemfile +++ b/Gemfile @@ -6,6 +6,7 @@ gem 'acts-as-taggable-on', '~> 5.0.0' gem 'acts_as_votable', '~> 0.11.1' gem 'ahoy_matey', '~> 1.6.0' gem 'ancestry', '~> 3.0.1' +gem 'autoprefixer-rails', '~> 8.2.0' gem 'browser', '~> 2.5.2' gem 'cancancan', '~> 2.1.2' gem 'ckeditor', '~> 4.2.3' @@ -17,7 +18,7 @@ gem 'delayed_job_active_record', '~> 4.1.0' gem 'devise', '~> 3.5.7' gem 'devise-async', '~> 0.10.2' gem 'devise_security_extension', '~> 0.10.0' -gem 'foundation-rails', '~> 6.2.4.0' +gem 'foundation-rails', '~> 6.4.3.0' gem 'foundation_rails_helper', '~> 2.0.0' gem 'graphiql-rails', '~> 1.4.1' gem 'graphql', '~> 1.7.8' diff --git a/Gemfile.lock b/Gemfile.lock index aa4a00eab..ec0fd805c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -61,6 +61,8 @@ GEM activerecord (>= 3.2.0) arel (6.0.4) ast (2.4.0) + autoprefixer-rails (8.2.0) + execjs babel-source (5.8.35) babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) @@ -163,7 +165,7 @@ GEM faraday (0.12.1) multipart-post (>= 1.2, < 3) ffi (1.9.23) - foundation-rails (6.2.4.0) + foundation-rails (6.4.3.0) railties (>= 3.1.0) sass (>= 3.3.0, < 3.5) sprockets-es6 (>= 0.9.0) @@ -194,7 +196,7 @@ GEM httpi (2.4.2) rack socksify - i18n (0.9.1) + i18n (0.9.5) concurrent-ruby (~> 1.0) i18n-tasks (0.9.20) activesupport (>= 4.0.2) @@ -261,7 +263,7 @@ GEM mimemagic (0.3.2) mini_mime (1.0.0) mini_portile2 (2.3.0) - minitest (5.11.1) + minitest (5.11.3) mixlib-cli (1.7.0) mixlib-config (2.2.4) multi_json (1.12.2) @@ -321,7 +323,7 @@ GEM public_suffix (3.0.1) quiet_assets (1.1.0) railties (>= 3.1, < 5.0) - rack (1.6.8) + rack (1.6.9) rack-accept (0.4.5) rack (>= 0.4) rack-attack (5.0.1) @@ -465,7 +467,7 @@ GEM rack (>= 1.3, < 3) rack-accept (~> 0.4) tilt (>= 1.4, < 3) - tzinfo (1.2.4) + tzinfo (1.2.5) thread_safe (~> 0.1) uglifier (4.1.3) execjs (>= 0.3.0, < 3) @@ -498,6 +500,8 @@ DEPENDENCIES acts_as_votable (~> 0.11.1) ahoy_matey (~> 1.6.0) ancestry (~> 3.0.1) + animate-rails (~> 1.0.10) + autoprefixer-rails (~> 8.2.0) browser (~> 2.5.2) bullet (~> 5.7.0) byebug (~> 10.0.0) @@ -521,7 +525,7 @@ DEPENDENCIES email_spec (~> 2.1.0) factory_bot_rails (~> 4.8.2) faker (~> 1.8.7) - foundation-rails (~> 6.2.4.0) + foundation-rails (~> 6.4.3.0) foundation_rails_helper (~> 2.0.0) globalize (~> 5.0.0) globalize-accessors (~> 0.2.1) diff --git a/app/assets/stylesheets/_consul_settings.scss b/app/assets/stylesheets/_consul_settings.scss index 1f03c9be7..4a083bb62 100644 --- a/app/assets/stylesheets/_consul_settings.scss +++ b/app/assets/stylesheets/_consul_settings.scss @@ -10,7 +10,7 @@ // 1. CONSUL variables // -------------------- -$base-font-size: rem-calc(17); +$base-font-size: 17px; $base-line: rem-calc(26); $small-font-size: rem-calc(14); $line-height: rem-calc(24); @@ -65,10 +65,47 @@ $alert-bg: #f2dede; $alert-border: #ebccd1; $color-alert: #a94442; - // 2. Foundation settings overrides // --------------------------------- +$black: #222; +$white: #fff; + +$body-font-family: 'Source Sans Pro', 'Helvetica', 'Arial', sans-serif !important; + +$header-font-family: $body-font-family; + +$global-radius: rem-calc(3); + +$button-radius: $global-radius; + +$font-family-serif: Georgia, 'Times New Roman', Times, serif; + +$header-styles: ( + small: ( + 'h1': ('font-size': 34), + 'h2': ('font-size': 24), + 'h3': ('font-size': 20), + 'h4': ('font-size': 18), + 'h5': ('font-size': 16), + 'h6': ('font-size': 14), + ), + medium: ( + 'h1': ('font-size': 44), + 'h2': ('font-size': 34), + 'h3': ('font-size': 24), + 'h4': ('font-size': 19), + 'h5': ('font-size': 16), + 'h6': ('font-size': 13), + ), +); + +$small-font-size: rem-calc(14); + +$abbr-underline: none; + +$tab-background-active: $white; + $accordion-item-color: foreground($accordion-background, $text); $accordion-content-color: foreground($accordion-background, $text); @@ -77,3 +114,5 @@ $tab-item-padding: $line-height / 2 0; $tab-content-border: $border; $orbit-bullet-diameter: 0.8rem; + +$pagination-radius: $global-radius; diff --git a/app/assets/stylesheets/_settings.scss b/app/assets/stylesheets/_settings.scss index 33800fed5..296cccde6 100644 --- a/app/assets/stylesheets/_settings.scss +++ b/app/assets/stylesheets/_settings.scss @@ -16,30 +16,49 @@ // 11. Button // 12. Button Group // 13. Callout -// 14. Close Button -// 15. Drilldown -// 16. Dropdown -// 17. Dropdown Menu -// 18. Flex Video -// 19. Forms -// 20. Label -// 21. Media Object -// 22. Menu -// 23. Meter -// 24. Off-canvas -// 25. Orbit -// 26. Pagination -// 27. Progress Bar -// 28. Reveal -// 29. Slider -// 30. Switch -// 31. Table -// 32. Tabs -// 33. Thumbnail -// 34. Title Bar -// 35. Tooltip -// 36. Top Bar -// 37. Custom variables +// 14. Card +// 15. Close Button +// 16. Drilldown +// 17. Dropdown +// 18. Dropdown Menu +// 19. Flexbox Utilities +// 20. Forms +// 21. Label +// 22. Media Object +// 23. Menu +// 24. Meter +// 25. Off-canvas +// 26. Orbit +// 27. Pagination +// 28. Progress Bar +// 29. Prototype Arrow +// 30. Prototype Border-Box +// 31. Prototype Border-None +// 32. Prototype Bordered +// 33. Prototype Display +// 34. Prototype Font-Styling +// 35. Prototype List-Style-Type +// 36. Prototype Overflow +// 37. Prototype Position +// 38. Prototype Rounded +// 39. Prototype Separator +// 40. Prototype Shadow +// 41. Prototype Sizing +// 42. Prototype Spacing +// 43. Prototype Text-Decoration +// 44. Prototype Text-Transformation +// 45. Prototype Text-Utilities +// 46. Responsive Embed +// 47. Reveal +// 48. Slider +// 49. Switch +// 50. Table +// 51. Tabs +// 52. Thumbnail +// 53. Title Bar +// 54. Tooltip +// 55. Top Bar +// 56. Xy Grid @import 'util/util'; @@ -50,28 +69,34 @@ $global-font-size: 100%; $global-width: rem-calc(1200); $global-lineheight: 1.5; $foundation-palette: ( - primary: #2199e8, - secondary: #777, + primary: #1779ba, + secondary: #767676, success: #3adb76, warning: #ffae00, - alert: #ec5840, + alert: #cc4b37, ); $light-gray: #e6e6e6; $medium-gray: #cacaca; $dark-gray: #8a8a8a; -$black: #222; -$white: #fff; +$black: #0a0a0a; +$white: #fefefe; $body-background: $white; $body-font-color: $black; -$body-font-family: 'Source Sans Pro', 'Helvetica', 'Arial', sans-serif !important; +$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; $body-antialiased: true; $global-margin: 1rem; $global-padding: 1rem; +$global-position: 1rem; $global-weight-normal: normal; $global-weight-bold: bold; -$global-radius: rem-calc(3); +$global-radius: 0; +$global-menu-padding: 0.7rem 1rem; +$global-menu-nested-margin: 1rem; $global-text-direction: ltr; -$global-flexbox: false; +$global-flexbox: true; +$global-prototype-breakpoints: false; +$global-button-cursor: auto; +$global-color-pick-contrast-tolerance: 0; $print-transparent-backgrounds: true; @include add-foundation-colors; @@ -83,7 +108,10 @@ $breakpoints: ( small: 0, medium: 640px, large: 1024px, + xlarge: 1200px, + xxlarge: 1440px, ); +$print-breakpoint: large; $breakpoint-classes: (small medium large); // 3. The Grid @@ -96,6 +124,7 @@ $grid-column-gutter: ( medium: 30px, ); $grid-column-align-edge: true; +$grid-column-alias: 'columns'; $block-grid-max: 8; // 4. Base Typography @@ -105,30 +134,29 @@ $header-font-family: $body-font-family; $header-font-weight: $global-weight-normal; $header-font-style: normal; $font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace; -$font-family-serif: Georgia, 'Times New Roman', Times, serif; -$header-sizes: ( - small: ( - 'h1': 34, - 'h2': 24, - 'h3': 20, - 'h4': 18, - 'h5': 16, - 'h6': 14, - ), - medium: ( - 'h1': 44, - 'h2': 34, - 'h3': 24, - 'h4': 19, - 'h5': 16, - 'h6': 13, - ), -); $header-color: inherit; $header-lineheight: 1.4; $header-margin-bottom: 0.5rem; +$header-styles: ( + small: ( + 'h1': ('font-size': 24), + 'h2': ('font-size': 20), + 'h3': ('font-size': 19), + 'h4': ('font-size': 18), + 'h5': ('font-size': 17), + 'h6': ('font-size': 16), + ), + medium: ( + 'h1': ('font-size': 48), + 'h2': ('font-size': 40), + 'h3': ('font-size': 31), + 'h4': ('font-size': 25), + 'h5': ('font-size': 20), + 'h6': ('font-size': 16), + ), +); $header-text-rendering: optimizeLegibility; -$small-font-size: rem-calc(14); +$small-font-size: 80%; $header-small-font-color: $medium-gray; $paragraph-lineheight: 1.6; $paragraph-margin-bottom: 1rem; @@ -160,12 +188,13 @@ $blockquote-padding: rem-calc(9 20 0 19); $blockquote-border: 1px solid $medium-gray; $cite-font-size: rem-calc(13); $cite-color: $dark-gray; +$cite-pseudo-content: '\2014 \0020'; $keystroke-font: $font-family-monospace; $keystroke-color: $black; $keystroke-background: $light-gray; $keystroke-padding: rem-calc(2 4 0); $keystroke-radius: $global-radius; -$abbr-underline: none; +$abbr-underline: 1px dotted $black; // 5. Typography Helpers // --------------------- @@ -184,9 +213,9 @@ $stat-font-size: 2.5rem; $abide-inputs: true; $abide-labels: true; -$input-background-invalid: map-get($foundation-palette, alert); -$form-label-color-invalid: map-get($foundation-palette, alert); -$input-error-color: map-get($foundation-palette, alert); +$input-background-invalid: get-color(alert); +$form-label-color-invalid: get-color(alert); +$input-error-color: get-color(alert); $input-error-font-size: rem-calc(12); $input-error-font-weight: $global-weight-bold; @@ -195,25 +224,38 @@ $input-error-font-weight: $global-weight-bold; $accordion-background: $white; $accordion-plusminus: true; -$accordion-item-color: foreground($accordion-background, $primary-color); +$accordion-title-font-size: rem-calc(12); +$accordion-item-color: $primary-color; $accordion-item-background-hover: $light-gray; $accordion-item-padding: 1.25rem 1rem; $accordion-content-background: $white; $accordion-content-border: 1px solid $light-gray; -$accordion-content-color: foreground($accordion-background, $primary-color); +$accordion-content-color: $body-font-color; $accordion-content-padding: 1rem; // 8. Accordion Menu // ----------------- +$accordionmenu-padding: $global-menu-padding; +$accordionmenu-nested-margin: $global-menu-nested-margin; +$accordionmenu-submenu-padding: $accordionmenu-padding; $accordionmenu-arrows: true; $accordionmenu-arrow-color: $primary-color; +$accordionmenu-item-background: null; +$accordionmenu-border: null; +$accordionmenu-submenu-toggle-background: null; +$accordion-submenu-toggle-border: $accordionmenu-border; +$accordionmenu-submenu-toggle-width: 40px; +$accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width; +$accordionmenu-arrow-size: 6px; // 9. Badge // -------- $badge-background: $primary-color; -$badge-color: foreground($badge-background); +$badge-color: $white; +$badge-color-alt: $black; +$badge-palette: $foundation-palette; $badge-padding: 0.3em; $badge-minwidth: 2.1em; $badge-font-size: 0.6rem; @@ -228,11 +270,15 @@ $breadcrumbs-item-color-current: $black; $breadcrumbs-item-color-disabled: $medium-gray; $breadcrumbs-item-margin: 0.75rem; $breadcrumbs-item-uppercase: true; -$breadcrumbs-item-slash: true; +$breadcrumbs-item-separator: true; +$breadcrumbs-item-separator-item: '/'; +$breadcrumbs-item-separator-item-rtl: '\\'; +$breadcrumbs-item-separator-color: $medium-gray; // 11. Button // ---------- +$button-font-family: inherit; $button-padding: 0.85em 1em; $button-margin: 0 0 $global-margin 0; $button-fill: solid; @@ -241,13 +287,18 @@ $button-background-hover: scale-color($button-background, $lightness: -15%); $button-color: $white; $button-color-alt: $black; $button-radius: $global-radius; +$button-hollow-border-width: 1px; $button-sizes: ( tiny: 0.6rem, small: 0.75rem, default: 0.9rem, large: 1.25rem, ); +$button-palette: $foundation-palette; $button-opacity-disabled: 0.25; +$button-background-hover-lightness: -20%; +$button-hollow-hover-lightness: -50%; +$button-transition: background-color 0.25s ease-out, color 0.25s ease-out; // 12. Button Group // ---------------- @@ -256,6 +307,7 @@ $buttongroup-margin: 1rem; $buttongroup-spacing: 1px; $buttongroup-child-selector: '.button'; $buttongroup-expand-max: 6; +$buttongroup-radius-on-each: true; // 13. Callout // ----------- @@ -270,29 +322,56 @@ $callout-font-color-alt: $body-background; $callout-radius: $global-radius; $callout-link-tint: 30%; -// 14. Close Button +// 14. Card +// -------- + +$card-background: $white; +$card-font-color: $body-font-color; +$card-divider-background: $light-gray; +$card-border: 1px solid $light-gray; +$card-shadow: none; +$card-border-radius: $global-radius; +$card-padding: $global-padding; +$card-margin-bottom: $global-margin; + +// 15. Close Button // ---------------- $closebutton-position: right top; -$closebutton-offset-horizontal: 1rem; -$closebutton-offset-vertical: 0.5rem; -$closebutton-size: 2em; +$closebutton-offset-horizontal: ( + small: 0.66rem, + medium: 1rem, +); +$closebutton-offset-vertical: ( + small: 0.33em, + medium: 0.5rem, +); +$closebutton-size: ( + small: 1.5em, + medium: 2em, +); $closebutton-lineheight: 1; $closebutton-color: $dark-gray; $closebutton-color-hover: $black; -// 15. Drilldown +// 16. Drilldown // ------------- $drilldown-transition: transform 0.15s linear; $drilldown-arrows: true; -$drilldown-arrow-color: $primary-color; +$drilldown-padding: $global-menu-padding; +$drilldown-nested-margin: 0; $drilldown-background: $white; +$drilldown-submenu-padding: $drilldown-padding; +$drilldown-submenu-background: $white; +$drilldown-arrow-color: $primary-color; +$drilldown-arrow-size: 6px; -// 16. Dropdown +// 17. Dropdown // ------------ $dropdown-padding: 1rem; +$dropdown-background: $body-background; $dropdown-border: 1px solid $medium-gray; $dropdown-font-size: 1rem; $dropdown-width: 300px; @@ -303,23 +382,30 @@ $dropdown-sizes: ( large: 400px, ); -// 17. Dropdown Menu +// 18. Dropdown Menu // ----------------- $dropdownmenu-arrows: true; $dropdownmenu-arrow-color: $anchor-color; +$dropdownmenu-arrow-size: 6px; +$dropdownmenu-arrow-padding: 1.5rem; $dropdownmenu-min-width: 200px; $dropdownmenu-background: $white; +$dropdownmenu-submenu-background: $dropdownmenu-background; +$dropdownmenu-padding: $global-menu-padding; +$dropdownmenu-nested-margin: 0; +$dropdownmenu-submenu-padding: $dropdownmenu-padding; $dropdownmenu-border: 1px solid $medium-gray; +$dropdown-menu-item-color-active: get-color(primary); +$dropdown-menu-item-background-active: transparent; -// 18. Flex Video -// -------------- +// 19. Flexbox Utilities +// --------------------- -$flexvideo-margin-bottom: rem-calc(16); -$flexvideo-ratio: 4 by 3; -$flexvideo-ratio-widescreen: 16 by 9; +$flex-source-ordering-count: 6; +$flexbox-responsive-breakpoints: true; -// 19. Forms +// 20. Forms // --------- $fieldset-border: 1px solid $medium-gray; @@ -345,45 +431,56 @@ $input-color: $black; $input-placeholder-color: $medium-gray; $input-font-family: inherit; $input-font-size: rem-calc(16); +$input-font-weight: $global-weight-normal; +$input-line-height: $global-lineheight; $input-background: $white; $input-background-focus: $white; $input-background-disabled: $light-gray; $input-border: 1px solid $medium-gray; $input-border-focus: 1px solid $dark-gray; +$input-padding: $form-spacing / 2; $input-shadow: inset 0 1px 2px rgba($black, 0.1); $input-shadow-focus: 0 0 5px $medium-gray; $input-cursor-disabled: not-allowed; $input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out; $input-number-spinners: true; $input-radius: $global-radius; +$form-button-radius: $global-radius; -// 20. Label +// 21. Label // --------- $label-background: $primary-color; -$label-color: foreground($label-background); +$label-color: $white; +$label-color-alt: $black; +$label-palette: $foundation-palette; $label-font-size: 0.8rem; $label-padding: 0.33333rem 0.5rem; $label-radius: $global-radius; -// 21. Media Object +// 22. Media Object // ---------------- $mediaobject-margin-bottom: $global-margin; $mediaobject-section-padding: $global-padding; $mediaobject-image-width-stacked: 100%; -// 22. Menu +// 23. Menu // -------- $menu-margin: 0; -$menu-margin-nested: 1rem; -$menu-item-padding: 0.7rem 1rem; +$menu-nested-margin: $global-menu-nested-margin; +$menu-items-padding: $global-menu-padding; +$menu-simple-margin: 1rem; $menu-item-color-active: $white; -$menu-item-background-active: map-get($foundation-palette, primary); +$menu-item-background-active: get-color(primary); $menu-icon-spacing: 0.25rem; +$menu-item-background-hover: $light-gray; +$menu-state-back-compat: true; +$menu-centered-back-compat: true; +$menu-icons-back-compat: true; -// 23. Meter +// 24. Meter // --------- $meter-height: 1rem; @@ -393,20 +490,30 @@ $meter-fill-good: $success-color; $meter-fill-medium: $warning-color; $meter-fill-bad: $alert-color; -// 24. Off-canvas +// 25. Off-canvas // -------------- -$offcanvas-size: 250px; +$offcanvas-sizes: ( + small: 250px, +); +$offcanvas-vertical-sizes: ( + small: 250px, +); $offcanvas-background: $light-gray; -$offcanvas-zindex: -1; +$offcanvas-shadow: 0 0 10px rgba($black, 0.7); +$offcanvas-inner-shadow-size: 20px; +$offcanvas-inner-shadow-color: rgba($black, 0.25); +$offcanvas-overlay-zindex: 11; +$offcanvas-push-zindex: 12; +$offcanvas-overlap-zindex: 13; +$offcanvas-reveal-zindex: 12; $offcanvas-transition-length: 0.5s; $offcanvas-transition-timing: ease; $offcanvas-fixed-reveal: true; $offcanvas-exit-background: rgba($white, 0.25); $maincontent-class: 'off-canvas-content'; -$maincontent-shadow: 0 0 10px rgba($black, 0.5); -// 25. Orbit +// 26. Orbit // --------- $orbit-bullet-background: $medium-gray; @@ -421,7 +528,7 @@ $orbit-control-background-hover: rgba($black, 0.5); $orbit-control-padding: 1rem; $orbit-control-zindex: 10; -// 26. Pagination +// 27. Pagination // -------------- $pagination-font-size: rem-calc(14); @@ -432,13 +539,14 @@ $pagination-item-spacing: rem-calc(1); $pagination-radius: $global-radius; $pagination-item-background-hover: $light-gray; $pagination-item-background-current: $primary-color; -$pagination-item-color-current: foreground($pagination-item-background-current); +$pagination-item-color-current: $white; $pagination-item-color-disabled: $medium-gray; $pagination-ellipsis-color: $black; $pagination-mobile-items: false; +$pagination-mobile-current-item: false; $pagination-arrows: true; -// 27. Progress Bar +// 28. Progress Bar // ---------------- $progress-height: 1rem; @@ -447,7 +555,177 @@ $progress-margin-bottom: $global-margin; $progress-meter-background: $primary-color; $progress-radius: $global-radius; -// 28. Reveal +// 29. Prototype Arrow +// ------------------- + +$prototype-arrow-directions: ( + down, + up, + right, + left +); +$prototype-arrow-size: 0.4375rem; +$prototype-arrow-color: $black; + +// 30. Prototype Border-Box +// ------------------------ + +$prototype-border-box-breakpoints: $global-prototype-breakpoints; + +// 31. Prototype Border-None +// ------------------------- + +$prototype-border-none-breakpoints: $global-prototype-breakpoints; + +// 32. Prototype Bordered +// ---------------------- + +$prototype-bordered-breakpoints: $global-prototype-breakpoints; +$prototype-border-width: rem-calc(1); +$prototype-border-type: solid; +$prototype-border-color: $medium-gray; + +// 33. Prototype Display +// --------------------- + +$prototype-display-breakpoints: $global-prototype-breakpoints; +$prototype-display: ( + inline, + inline-block, + block, + table, + table-cell +); + +// 34. Prototype Font-Styling +// -------------------------- + +$prototype-font-breakpoints: $global-prototype-breakpoints; +$prototype-wide-letter-spacing: rem-calc(4); +$prototype-font-normal: $global-weight-normal; +$prototype-font-bold: $global-weight-bold; + +// 35. Prototype List-Style-Type +// ----------------------------- + +$prototype-list-breakpoints: $global-prototype-breakpoints; +$prototype-style-type-unordered: ( + disc, + circle, + square +); +$prototype-style-type-ordered: ( + decimal, + lower-alpha, + lower-latin, + lower-roman, + upper-alpha, + upper-latin, + upper-roman +); + +// 36. Prototype Overflow +// ---------------------- + +$prototype-overflow-breakpoints: $global-prototype-breakpoints; +$prototype-overflow: ( + visible, + hidden, + scroll +); + +// 37. Prototype Position +// ---------------------- + +$prototype-position-breakpoints: $global-prototype-breakpoints; +$prototype-position: ( + static, + relative, + absolute, + fixed +); +$prototype-position-z-index: 975; + +// 38. Prototype Rounded +// --------------------- + +$prototype-rounded-breakpoints: $global-prototype-breakpoints; +$prototype-border-radius: rem-calc(3); + +// 39. Prototype Separator +// ----------------------- + +$prototype-separator-breakpoints: $global-prototype-breakpoints; +$prototype-separator-align: center; +$prototype-separator-height: rem-calc(2); +$prototype-separator-width: 3rem; +$prototype-separator-background: $primary-color; +$prototype-separator-margin-top: $global-margin; + +// 40. Prototype Shadow +// -------------------- + +$prototype-shadow-breakpoints: $global-prototype-breakpoints; +$prototype-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), + 0 2px 10px 0 rgba(0, 0, 0, 0.12); + +// 41. Prototype Sizing +// -------------------- + +$prototype-sizing-breakpoints: $global-prototype-breakpoints; +$prototype-sizing: ( + width, + height +); +$prototype-sizes: ( + 25: 25%, + 50: 50%, + 75: 75%, + 100: 100% +); + +// 42. Prototype Spacing +// --------------------- + +$prototype-spacing-breakpoints: $global-prototype-breakpoints; +$prototype-spacers-count: 3; + +// 43. Prototype Text-Decoration +// ----------------------------- + +$prototype-decoration-breakpoints: $global-prototype-breakpoints; +$prototype-text-decoration: ( + overline, + underline, + line-through, +); + +// 44. Prototype Text-Transformation +// --------------------------------- + +$prototype-transformation-breakpoints: $global-prototype-breakpoints; +$prototype-text-transformation: ( + lowercase, + uppercase, + capitalize +); + +// 45. Prototype Text-Utilities +// ---------------------------- + +$prototype-utilities-breakpoints: $global-prototype-breakpoints; +$prototype-text-overflow: ellipsis; + +// 46. Responsive Embed +// -------------------- + +$responsive-embed-margin-bottom: rem-calc(16); +$responsive-embed-ratios: ( + default: 4 by 3, + widescreen: 16 by 9, +); + +// 47. Reveal // ---------- $reveal-background: $white; @@ -459,7 +737,7 @@ $reveal-radius: $global-radius; $reveal-zindex: 1005; $reveal-overlay-background: rgba($black, 0.45); -// 29. Slider +// 48. Slider // ---------- $slider-width-vertical: 0.5rem; @@ -473,7 +751,7 @@ $slider-handle-background: $primary-color; $slider-opacity-disabled: 0.25; $slider-radius: $global-radius; -// 30. Switch +// 49. Switch // ---------- $switch-background: $medium-gray; @@ -489,7 +767,7 @@ $switch-paddle-offset: 0.25rem; $switch-paddle-radius: $global-radius; $switch-paddle-transition: all 0.25s ease-out; -// 31. Table +// 50. Table // --------- $table-background: $white; @@ -499,29 +777,36 @@ $table-padding: rem-calc(8 10 10); $table-hover-scale: 2%; $table-row-hover: darken($table-background, $table-hover-scale); $table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale); +$table-is-striped: true; $table-striped-background: smart-scale($table-background, $table-color-scale); $table-stripe: even; $table-head-background: smart-scale($table-background, $table-color-scale / 2); +$table-head-row-hover: darken($table-head-background, $table-hover-scale); $table-foot-background: smart-scale($table-background, $table-color-scale); +$table-foot-row-hover: darken($table-foot-background, $table-hover-scale); $table-head-font-color: $body-font-color; +$table-foot-font-color: $body-font-color; $show-header-for-stacked: false; +$table-stack-breakpoint: medium; -// 32. Tabs +// 51. Tabs // -------- $tab-margin: 0; $tab-background: $white; -$tab-background-active: $white; +$tab-color: $primary-color; +$tab-background-active: $light-gray; +$tab-active-color: $primary-color; $tab-item-font-size: rem-calc(12); $tab-item-background-hover: $white; $tab-item-padding: 1.25rem 1.5rem; $tab-expand-max: 6; $tab-content-background: $white; $tab-content-border: $light-gray; -$tab-content-color: foreground($tab-background, $primary-color); +$tab-content-color: $body-font-color; $tab-content-padding: 1rem; -// 33. Thumbnail +// 52. Thumbnail // ------------- $thumbnail-border: solid 4px $white; @@ -531,7 +816,7 @@ $thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5); $thumbnail-transition: box-shadow 200ms ease-out; $thumbnail-radius: $global-radius; -// 34. Title Bar +// 53. Title Bar // ------------- $titlebar-background: $black; @@ -542,25 +827,42 @@ $titlebar-icon-color: $white; $titlebar-icon-color-hover: $medium-gray; $titlebar-icon-spacing: 0.25rem; -// 35. Tooltip +// 54. Tooltip // ----------- +$has-tip-cursor: help; $has-tip-font-weight: $global-weight-bold; $has-tip-border-bottom: dotted 1px $dark-gray; $tooltip-background-color: $black; $tooltip-color: $white; $tooltip-padding: 0.75rem; +$tooltip-max-width: 10rem; $tooltip-font-size: $small-font-size; $tooltip-pip-width: 0.75rem; $tooltip-pip-height: $tooltip-pip-width * 0.866; $tooltip-radius: $global-radius; -// 36. Top Bar +// 55. Top Bar // ----------- $topbar-padding: 0.5rem; $topbar-background: $light-gray; $topbar-submenu-background: $topbar-background; -$topbar-title-spacing: 1rem; +$topbar-title-spacing: 0.5rem 1rem 0.5rem 0; $topbar-input-width: 200px; $topbar-unstack-breakpoint: medium; + +// 56. Xy Grid +// ----------- + +$xy-grid: true; +$grid-container: $global-width; +$grid-columns: 12; +$grid-margin-gutters: ( + small: 20px, + medium: 30px +); +$grid-padding-gutters: $grid-margin-gutters; +$grid-container-padding: $grid-padding-gutters; +$grid-container-max: $global-width; +$xy-block-grid-max: 8; diff --git a/app/assets/stylesheets/admin.scss b/app/assets/stylesheets/admin.scss index d0367a8c1..351859ae0 100644 --- a/app/assets/stylesheets/admin.scss +++ b/app/assets/stylesheets/admin.scss @@ -44,26 +44,34 @@ $sidebar-active: #f4fcd0; background: #000; } + .admin-top-bar { + background: #fff; + } + .top-bar { background: #fff !important; border-bottom: 1px solid #eee; - box-shadow: 0 2px 2px #eee; color: #000; height: auto; + @include breakpoint(medium) { + box-shadow: 0 2px 2px #eee; + } + [class^="icon-"]:not(.icon-circle) { font-size: $base-font-size; } } - .top-bar-title { + .menu .menu-text { h1 { - margin-bottom: 0; margin-top: $line-height / 2; + margin-bottom: 0; @include breakpoint(medium) { margin-left: $line-height / 2; + margin-top: 0; } small { @@ -94,12 +102,17 @@ $sidebar-active: #f4fcd0; } } - .menu-icon.dark { + .title-bar { + color: #000; + position: absolute; + right: 12px; + } - &::after, - &:hover::after { - background: #000 !important; - box-shadow: 0 7px 0 #000, 0 14px 0 #000 !important; + .menu-icon { + + &::after { + background: #000; + box-shadow: 0 7px 0 #000, 0 14px 0 #000; } } @@ -186,7 +199,7 @@ $sidebar-active: #f4fcd0; margin-bottom: $line-height / 3; } - .active { + .is-active { border-bottom: 2px solid $admin-color; color: $admin-color; font-weight: bold; @@ -231,6 +244,7 @@ $sidebar-active: #f4fcd0; } .admin-content { + overflow: scroll; padding: $line-height !important; } @@ -321,7 +335,7 @@ $sidebar-active: #f4fcd0; padding-left: $line-height / 2; } - &.active a { + &.is-active a { background: $sidebar-hover; border-left: 2px solid $sidebar-active; font-weight: bold; @@ -371,7 +385,7 @@ $sidebar-active: #f4fcd0; font-weight: normal; } - .active { + .is-active { border-bottom: 0; } } @@ -587,7 +601,7 @@ $sidebar-active: #f4fcd0; a { display: block; - &.active { + &.is-active { color: $brand; font-weight: bold; text-decoration: underline; @@ -681,7 +695,7 @@ table { } .legislation-admin { - .menu .active > a { + .menu .is-active > a { background: none; } } @@ -698,15 +712,6 @@ table { } } -.legislation-process-index { - - .legislation-process-new { - @include breakpoint(medium) { - text-align: right; - } - } -} - // 08. CMS // -------------- .cms-page-list { diff --git a/app/assets/stylesheets/browserslist b/app/assets/stylesheets/browserslist new file mode 100644 index 000000000..6019618a9 --- /dev/null +++ b/app/assets/stylesheets/browserslist @@ -0,0 +1,4 @@ +last 2 versions +ie >= 9 +Android >= 2.3 +ios >= 7 diff --git a/app/assets/stylesheets/foundation_and_overrides.scss b/app/assets/stylesheets/foundation_and_overrides.scss index 66640f3f2..99e77f57d 100644 --- a/app/assets/stylesheets/foundation_and_overrides.scss +++ b/app/assets/stylesheets/foundation_and_overrides.scss @@ -4,31 +4,38 @@ @import 'consul_settings'; @import 'custom_settings'; @import 'foundation'; + @import 'motion-ui/motion-ui'; @include foundation-global-styles; +// @include foundation-xy-grid-classes; @include foundation-grid; +// @include foundation-flex-grid; +// @include foundation-flex-classes; @include foundation-typography; -@include foundation-button; @include foundation-forms; -@include foundation-visibility-classes; -@include foundation-float-classes; +@include foundation-button; @include foundation-accordion; @include foundation-accordion-menu; +@include foundation-badge; @include foundation-breadcrumbs; @include foundation-button-group; @include foundation-callout; +@include foundation-card; @include foundation-close-button; +@include foundation-menu; +@include foundation-menu-icon; @include foundation-drilldown-menu; @include foundation-dropdown; @include foundation-dropdown-menu; -@include foundation-flex-video; +@include foundation-responsive-embed; @include foundation-label; @include foundation-media-object; -@include foundation-menu; @include foundation-off-canvas; +@include foundation-orbit; @include foundation-pagination; @include foundation-progress-bar; +@include foundation-slider; @include foundation-sticky; @include foundation-reveal; @include foundation-switch; @@ -36,9 +43,9 @@ @include foundation-tabs; @include foundation-thumbnail; @include foundation-title-bar; +@include foundation-tooltip; @include foundation-top-bar; -@include foundation-menu-icon; -@include foundation-orbit; - +@include foundation-visibility-classes; +@include foundation-float-classes; @include motion-ui-transitions; @include motion-ui-animations; diff --git a/app/assets/stylesheets/layout.scss b/app/assets/stylesheets/layout.scss index 3a0b73864..c9858accb 100644 --- a/app/assets/stylesheets/layout.scss +++ b/app/assets/stylesheets/layout.scss @@ -253,12 +253,21 @@ a { } } - &.active { - border-bottom: 2px solid $brand; - color: $brand; + + li { + margin-left: 0; } - &:not(.active) { + &.is-active { + border-bottom: 2px solid $brand; + color: $brand; + padding-bottom: rem-calc(1); + + h2 a { + color: $brand; + } + } + + &:not(.is-active) { margin-bottom: $line-height / 3; } } @@ -279,7 +288,7 @@ a { color: $text-medium; padding: 0; - &.active { + &.is-active { font-weight: bold; color: $brand; } @@ -289,7 +298,7 @@ a { font-size: $base-font-size; } - &.active { + &.is-active { border-bottom: 2px solid $brand; color: $brand; } @@ -404,6 +413,11 @@ a { text-transform: uppercase; } +figure img { + height: 100%; + width: 100%; +} + // 02. Header // ---------- @@ -436,8 +450,6 @@ header { .top-bar { background: $brand !important; color: #fff; - height: $line-height * 2; - line-height: $line-height * 2; padding-bottom: 0; padding-top: 0; @@ -445,30 +457,44 @@ header { padding: 0; } - .top-bar-title a { - @include logo; - line-height: rem-calc(80); - - @include breakpoint(medium) { - line-height: rem-calc(80); - } - - &:hover { - text-decoration: none; - } - } - ul { background: none; padding-right: rem-calc(15); } + .menu .menu-text { + padding: 0; + + a { + color: #fff; + display: inline-block; + font-family: 'Lato' !important; + font-size: rem-calc(24); + font-weight: lighter; + line-height: $line-height * 2; + padding: 0; + + @include breakpoint(medium) { + line-height: rem-calc(80); + margin-top: 0; + } + + img { + + @include breakpoint(medium) { + margin-right: $line-height / 2; + margin-top: 0; + } + } + } + } + .menu > li { display: block; + width: 100%; @include breakpoint(medium) { - display: table-cell; - height: $line-height * 3.5; + width: auto; } a { @@ -482,6 +508,7 @@ header { } .button { + background: none; text-align: left; @include breakpoint(medium) { @@ -492,13 +519,11 @@ header { } } - .menu-icon.dark { - height: 20px; + .has-submenu { - &::after, - &:hover::after { - background: #fff; - box-shadow: 0 7px 0 #fff, 0 14px 0 #fff; + &.is-active a { + color: #fff; + font-weight: bold; } } @@ -507,7 +532,7 @@ header { &.is-dropdown-submenu { background: #fff; margin: 0; - margin-top: rem-calc(-24); + margin-top: rem-calc(-12); padding: 0; z-index: 9; } @@ -524,6 +549,23 @@ header { } } +.menu-icon { + + &.dark { + + &:hover::after, + &::after { + background: #fff; + box-shadow: 0 7px 0 #fff, 0 14px 0 #fff; + } + } +} + +.title-bar { + background: none; + float: right; +} + .dropdown.menu > li { &.is-dropdown-submenu-parent > a::after { @@ -605,7 +647,7 @@ header { } } - &.active { + &.is-active { color: #fff; @include breakpoint(medium) { @@ -652,7 +694,7 @@ header { .top-bar-right { - .active { + .is-active { font-weight: bold; text-decoration: underline; } @@ -680,7 +722,7 @@ header { } } - .active { + .is-active { border-bottom: 2px solid $brand; color: $brand; @@ -784,7 +826,7 @@ footer { color: $link; &:hover, - &.active { + &.is-active { background: $brand; color: #fff; } @@ -1798,7 +1840,7 @@ table { } } - &.active { + &.is-active { background: #43ac6a; color: #fff; } @@ -2257,6 +2299,11 @@ table { } .card { + padding: $line-height / 2; + + .card { + border: 0; + } .card-section { margin: 0 auto; @@ -2615,8 +2662,9 @@ table { &.title { display: inline-block; border-top: 4px solid $brand; + margin-bottom: 0; min-width: rem-calc(240); - padding-top: $line-height / 2; + padding: $line-height / 2 0; } } } @@ -2627,17 +2675,28 @@ table { clear: both; } - .debate { - margin: $line-height 0; + a { + + &.see-all { + border-bottom: 1px solid $border; + display: block; + font-size: $small-font-size; + margin: $line-height 0 $line-height / 2; + text-align: right; + width: 100%; + } } } .feed-image { display: inline-block; height: rem-calc(120); - margin: $line-height / 2 0; overflow: hidden; + @include breakpoint(medium) { + height: rem-calc(96); + } + img { margin-left: rem-calc(-15); max-width: none; @@ -2647,25 +2706,19 @@ table { .feed-description { - @include breakpoint(medium) { - padding-top: $line-height; - } - p { font-size: $small-font-size; + margin-bottom: 0; } } .feed-content { - border-bottom: 1px solid $border; - display: inline-block; - a { - - &.see-all { - font-size: $small-font-size; - margin: $line-height 0 $line-height / 2; - } + .debate, + .proposal { + margin-bottom: 0; + margin-top: 0; + padding: $line-height / 2 0; } } diff --git a/app/assets/stylesheets/legislation.scss b/app/assets/stylesheets/legislation.scss index a3d46a88d..6247b64b9 100644 --- a/app/assets/stylesheets/legislation.scss +++ b/app/assets/stylesheets/legislation.scss @@ -48,7 +48,7 @@ max-width: 80%; } - &.active { + &.is-active { font-weight: 700; } } diff --git a/app/assets/stylesheets/legislation_process.scss b/app/assets/stylesheets/legislation_process.scss index 1d6bcbc59..5105a459a 100644 --- a/app/assets/stylesheets/legislation_process.scss +++ b/app/assets/stylesheets/legislation_process.scss @@ -99,7 +99,7 @@ } } - .active { + .is-active { border-bottom: 2px solid $brand; } } @@ -244,7 +244,7 @@ position: relative; } - .active { + .is-active { background: #ccdbe6; border: 0; } diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index 8a6867565..ff7a212ee 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -1350,8 +1350,7 @@ text-decoration: none; } - a, - div { + a { display: block; padding: $line-height / 2; @@ -1536,7 +1535,7 @@ padding: $line-height / 4; } -.select-district .active a { +.select-district .is-active a { background: #f9f9f9; border-radius: rem-calc(3); color: $budget; @@ -1629,7 +1628,7 @@ z-index: 99; } - &.active { + &.is-active { h3 { background: $budget; diff --git a/app/controllers/admin/legislation/processes_controller.rb b/app/controllers/admin/legislation/processes_controller.rb index 47c7c34c0..976318958 100644 --- a/app/controllers/admin/legislation/processes_controller.rb +++ b/app/controllers/admin/legislation/processes_controller.rb @@ -60,7 +60,6 @@ class Admin::Legislation::ProcessesController < Admin::Legislation::BaseControll :draft_publication_enabled, :result_publication_enabled, :published, - :proposals_description, :custom_list, documents_attributes: [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] ) diff --git a/app/controllers/admin/poll/booth_assignments_controller.rb b/app/controllers/admin/poll/booth_assignments_controller.rb index c90eb9cac..ea1f2f28f 100644 --- a/app/controllers/admin/poll/booth_assignments_controller.rb +++ b/app/controllers/admin/poll/booth_assignments_controller.rb @@ -55,7 +55,7 @@ class Admin::Poll::BoothAssignmentsController < Admin::Poll::BaseController end def manage - @booths = ::Poll::Booth.all + @booths = ::Poll::Booth.all.order(name: :asc).page(params[:page]).per(300) @poll = Poll.find(params[:poll_id]) end diff --git a/app/controllers/admin/poll/questions_controller.rb b/app/controllers/admin/poll/questions_controller.rb index 64ecf4009..399c72788 100644 --- a/app/controllers/admin/poll/questions_controller.rb +++ b/app/controllers/admin/poll/questions_controller.rb @@ -55,7 +55,7 @@ class Admin::Poll::QuestionsController < Admin::Poll::BaseController private def question_params - params.require(:poll_question).permit(:poll_id, :title, :question, :proposal_id, :video_url) + params.require(:poll_question).permit(:poll_id, :title, :question, :proposal_id) end def search_params diff --git a/app/helpers/admin_helper.rb b/app/helpers/admin_helper.rb index c88deba56..ce92b0da5 100644 --- a/app/helpers/admin_helper.rb +++ b/app/helpers/admin_helper.rb @@ -12,12 +12,8 @@ module AdminHelper t("#{namespace}.header.title") end - def menu_tags? - ["tags"].include?(controller_name) - end - def menu_moderated_content? - ["proposals", "debates", "comments", "hidden_users"].include?(controller_name) && controller.class.parent != Admin::Legislation + ["proposals", "debates", "comments", "hidden_users", "activity"].include?(controller_name) && controller.class.parent != Admin::Legislation end def menu_budget? @@ -29,15 +25,15 @@ module AdminHelper end def menu_profiles? - %w[administrators organizations officials moderators valuators managers users activity].include?(controller_name) + %w[administrators organizations officials moderators valuators managers users].include?(controller_name) end - def menu_banners? - ["banners"].include?(controller_name) + def menu_settings? + ["settings", "tags", "geozones", "images", "content_blocks"].include?(controller_name) end def menu_customization? - ["pages", "images", "content_blocks"].include?(controller_name) || menu_homepage? + ["pages", "banners"].include?(controller_name) || menu_homepage? end def menu_homepage? diff --git a/app/helpers/budgets_helper.rb b/app/helpers/budgets_helper.rb index b4a207ed6..d5ca1879c 100644 --- a/app/helpers/budgets_helper.rb +++ b/app/helpers/budgets_helper.rb @@ -49,7 +49,7 @@ module BudgetsHelper def css_for_ballot_heading(heading) return '' if current_ballot.blank? - current_ballot.has_lines_in_heading?(heading) ? 'active' : '' + current_ballot.has_lines_in_heading?(heading) ? 'is-active' : '' end def current_ballot @@ -66,7 +66,13 @@ module BudgetsHelper def current_budget_map_locations return unless current_budget.present? - MapLocation.where(investment_id: current_budget.investments).map { |l| l.json_data } + if current_budget.valuating_or_later? + investments = current_budget.investments.selected + else + investments = current_budget.investments + end + + MapLocation.where(investment_id: investments).map { |l| l.json_data } end def display_calculate_winners_button?(budget) diff --git a/app/helpers/layouts_helper.rb b/app/helpers/layouts_helper.rb index b6da582b5..782d9c639 100644 --- a/app/helpers/layouts_helper.rb +++ b/app/helpers/layouts_helper.rb @@ -3,7 +3,7 @@ module LayoutsHelper def layout_menu_link_to(text, path, is_active, options) if is_active content_tag(:span, t('shared.you_are_in'), class: 'show-for-sr') + ' ' + - link_to(text, path, options.merge(class: "active")) + link_to(text, path, options.merge(class: "is-active")) else link_to(text, path, options) end diff --git a/app/helpers/welcome_helper.rb b/app/helpers/welcome_helper.rb index 0b483468f..07d7b380a 100644 --- a/app/helpers/welcome_helper.rb +++ b/app/helpers/welcome_helper.rb @@ -1,6 +1,6 @@ module WelcomeHelper - def active_class(index) + def is_active_class(index) "is-active is-in" if index.zero? end diff --git a/app/models/budget.rb b/app/models/budget.rb index 3ba8d5e01..84d511e44 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -105,6 +105,10 @@ class Budget < ActiveRecord::Base Budget::Phase::PUBLISHED_PRICES_PHASES.include?(phase) end + def valuating_or_later? + valuating? || publishing_prices? || balloting_or_later? + end + def balloting_process? balloting? || reviewing_ballots? end diff --git a/app/views/admin/_menu.html.erb b/app/views/admin/_menu.html.erb index e72b65985..499f9a54c 100644 --- a/app/views/admin/_menu.html.erb +++ b/app/views/admin/_menu.html.erb @@ -1,45 +1,61 @@
diff --git a/app/views/admin/budget_investments/_investments.html.erb b/app/views/admin/budget_investments/_investments.html.erb index cf1713381..17b0315b1 100644 --- a/app/views/admin/budget_investments/_investments.html.erb +++ b/app/views/admin/budget_investments/_investments.html.erb @@ -36,21 +36,18 @@<%= t("admin.shared.moderated_content") %>
<%= render 'shared/filter_subnav', i18n_namespace: "admin.comments.index" %> @@ -7,7 +8,7 @@| <%= t("admin.shared.description") %> | +<%= t("admin.shared.description") %> | <%= t("admin.shared.actions") %> | diff --git a/app/views/admin/debates/index.html.erb b/app/views/admin/debates/index.html.erb index 7715e1032..c0150dd84 100644 --- a/app/views/admin/debates/index.html.erb +++ b/app/views/admin/debates/index.html.erb @@ -1,4 +1,5 @@<%= t("admin.shared.title") %> | <%= t("admin.shared.description") %> | -<%= t("admin.shared.actions") %> | +<%= t("admin.shared.actions") %> | <% @debates.each do |debate| %> diff --git a/app/views/admin/hidden_users/index.html.erb b/app/views/admin/hidden_users/index.html.erb index 6bcea253c..87d04d579 100644 --- a/app/views/admin/hidden_users/index.html.erb +++ b/app/views/admin/hidden_users/index.html.erb @@ -1,4 +1,5 @@
|---|
| <%= t("admin.hidden_users.index.user") %> | +<%= t("admin.hidden_users.index.user") %> | <%= t("admin.shared.actions") %> | diff --git a/app/views/admin/legislation/processes/_form.html.erb b/app/views/admin/legislation/processes/_form.html.erb index ba055d9f3..5a0aa668d 100644 --- a/app/views/admin/legislation/processes/_form.html.erb +++ b/app/views/admin/legislation/processes/_form.html.erb @@ -81,39 +81,6 @@ -
|---|
<%= t("admin.shared.moderated_content") %>
<%= render 'shared/filter_subnav', i18n_namespace: "admin.proposals.index" %> @@ -9,7 +10,7 @@<%= t('.content_block_about') %>
- -<%= t('.content_block_top_links_html') %>
- -<li><a href="http://site1.com">Site 1</a></li><li><a href="http://site2.com">Site 2</a></li><li><a href="http://site3.com">Site 3</a></li><%= t('.content_block_footer_html') %>
diff --git a/app/views/admin/site_customization/content_blocks/index.html.erb b/app/views/admin/site_customization/content_blocks/index.html.erb index 455ac634f..fc762c1fd 100644 --- a/app/views/admin/site_customization/content_blocks/index.html.erb +++ b/app/views/admin/site_customization/content_blocks/index.html.erb @@ -6,25 +6,42 @@| <%= t("admin.site_customization.content_blocks.content_block.name") %> | -<%= t("admin.site_customization.content_blocks.content_block.body") %> | -<%= t("admin.actions.actions") %> | -
|---|---|---|
| <%= link_to "#{content_block.name} (#{content_block.locale})", edit_admin_site_customization_content_block_path(content_block) %> | -<%= content_block.body.html_safe %> | -- <%= button_to t("admin.site_customization.content_blocks.index.delete"), - admin_site_customization_content_block_path(content_block), - method: :delete, class: "button hollow alert" %> - | -
<%= t("admin.site_customization.content_blocks.about") %>
+<%= t("admin.site_customization.content_blocks.top_links_html") %>
+ +<li><a href="http://site1.com">Site 1</a></li><li><a href="http://site2.com">Site 2</a></li><li><a href="http://site3.com">Site 3</a></li><%= t("admin.site_customization.content_blocks.footer_html") %>
+ +<% if @content_blocks.any? %> +| <%= t("admin.site_customization.content_blocks.content_block.name") %> | +<%= t("admin.site_customization.content_blocks.content_block.body") %> | +<%= t("admin.actions.actions") %> | +
|---|---|---|
| <%= link_to "#{content_block.name} (#{content_block.locale})", edit_admin_site_customization_content_block_path(content_block) %> | +<%= content_block.body.html_safe %> | ++ <%= button_to t("admin.site_customization.content_blocks.index.delete"), + admin_site_customization_content_block_path(content_block), + method: :delete, class: "button hollow alert" %> + | +
<%= t("admin.tags.index.help") %>
<%= form_for(@tag, url: admin_tags_path, as: :tag) do |f| %>- <%= investment.formatted_price %> -
-+ <%= investment.formatted_price %> +
+<%= t("debates.index.section_footer.description") %>
<%= t("debates.index.section_footer.help_text_1") %>
<%= t("debates.index.section_footer.help_text_2", - org: link_to(setting['org_name'], new_user_registration_path)).html_safe %>
+ org: link_to(setting["org_name"], new_user_registration_path)).html_safe %><%= t("debates.index.section_footer.help_text_3", proposal: link_to(t("debates.index.section_footer.proposals_link"), proposals_path), budget: link_to(t("debates.index.section_footer.budget_link"), budgets_path)).html_safe %> @@ -93,8 +93,8 @@