diff --git a/app/assets/stylesheets/budgets/investments/form.scss b/app/assets/stylesheets/budgets/investments/form.scss index af84d9ec9..4d8c15d01 100644 --- a/app/assets/stylesheets/budgets/investments/form.scss +++ b/app/assets/stylesheets/budgets/investments/form.scss @@ -1,57 +1,3 @@ .budget-investment-form { - - .required-fields { - @include full-width-background($adjust-padding: true); - background: $light; - margin-bottom: $line-height; - padding-top: $line-height; - } - - > fieldset > legend { - float: left; - font-size: rem-calc(36); - font-weight: bold; - margin-bottom: $line-height; - text-transform: uppercase; - - + * { - clear: left; - } - } - - select { - min-height: $line-height * 2; - - @include breakpoint(medium) { - &:not(.js-add-language):not(.js-select-language) { - width: 50%; - } - } - } - - .globalize-languages, - .translatable-fields { - @include grid-row-nest; - @include grid-column-gutter; - } - - [type="submit"] { - @include regular-button; - font-size: map-get($button-sizes, large); - margin-top: $line-height; - } - - .actions { - border: 6px solid $border; - border-radius: rem-calc(12); - margin-left: auto; - margin-right: auto; - margin-top: $line-height * 2; - padding: $line-height * 2 $line-height; - text-align: center; - - @include breakpoint(medium) { - width: 75%; - } - } + @extend %public-form; } diff --git a/app/assets/stylesheets/budgets/investments/new.scss b/app/assets/stylesheets/budgets/investments/new.scss index 213cc9258..95d1e2e09 100644 --- a/app/assets/stylesheets/budgets/investments/new.scss +++ b/app/assets/stylesheets/budgets/investments/new.scss @@ -1,105 +1,7 @@ .budget-investment-new { - $border-width: 4px; + @extend %public-form-header; h1 { - margin-bottom: 0; - } - - header { - $icon-size: $line-height * 4; - $padding-right: rem-calc(20); - $icon-size-with-padding: $icon-size + $padding-right; - $polygon-size: $icon-size / 2; - @include background-till-left-of-screen; - @include brand-background($brand-secondary); - border: $border-width solid $brand-secondary; - border-bottom-right-radius: rem-calc(12); - border-top-right-radius: rem-calc(12); - margin-top: $line-height * 2; - padding: $line-height * 2 0; - position: relative; - - @include breakpoint(small) { - &::after { - display: none; - } - } - - @include breakpoint(large) { - $rounding-error: 6px; - padding-right: $icon-size-with-padding; - background-image: linear-gradient( - to right, - #{$brand-secondary} 0, - #{$brand-secondary} calc(100% - #{$icon-size-with-padding} - 1px), - #{$body-background} calc(100% - #{$icon-size-with-padding}), - #{$body-background} 100% - ); - - &::after { - background: $body-background; - content: ""; - clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% calc(100% + 1px), 0 50%); - display: block; - position: absolute; - right: calc(#{$icon-size-with-padding} - #{$rounding-error}); - top: 0; - height: 100%; - width: $polygon-size; - } - } - - &::before { - top: -$border-width; - height: calc(100% + #{$border-width * 2}); - } - - h1 { - $heading-icon-size: $icon-size * 0.85; - @include has-fa-icon(building, regular); - @include has-fa-icon(chart-pie, solid, after); - font-size: rem-calc(36); - - @include breakpoint(small) { - &::after, - &::before { - display: none; - position: absolute; - top: 50%; - transform: translateY(-50%); - } - } - - @include breakpoint(medium) { - padding-right: $heading-icon-size * 2.5; - - &::after { - display: block; - font-size: $heading-icon-size; - right: $heading-icon-size; - } - } - - @include breakpoint(large) { - font-size: rem-calc(44); - - &::after { - right: $icon-size-with-padding + $polygon-size + $heading-icon-size / 2; - } - - &::before { - color: $brand-secondary; - display: block; - font-size: $icon-size; - right: $padding-right; - } - } - - span { - display: block; - font-size: 0.75em; - margin-top: $line-height / 2; - } - } + @include has-fa-icon(chart-pie, solid, after); } } diff --git a/app/assets/stylesheets/debates/form.scss b/app/assets/stylesheets/debates/form.scss index ddc1df0c7..749053aee 100644 --- a/app/assets/stylesheets/debates/form.scss +++ b/app/assets/stylesheets/debates/form.scss @@ -1,8 +1,3 @@ .debate-form { - - .globalize-languages, - .translatable-fields { - @include grid-row-nest; - @include grid-column-gutter; - } + @extend %public-form; } diff --git a/app/assets/stylesheets/debates/new.scss b/app/assets/stylesheets/debates/new.scss new file mode 100644 index 000000000..5c212c2c9 --- /dev/null +++ b/app/assets/stylesheets/debates/new.scss @@ -0,0 +1,15 @@ +.debate-new { + @extend %public-form-header; + + h1 { + @include has-fa-icon(comment-alt, regular, after); + } + + aside { + margin-top: $line-height; + } + + .recommendations li::before { + color: $debates; + } +} diff --git a/app/assets/stylesheets/layout.scss b/app/assets/stylesheets/layout.scss index 5a70af40d..86af0edae 100644 --- a/app/assets/stylesheets/layout.scss +++ b/app/assets/stylesheets/layout.scss @@ -68,6 +68,7 @@ main { display: block; &.budget-investment-new, + &.debate-new, &.sdg-goals-index, &.sdg-goal-show { @include grid-column-gutter; diff --git a/app/assets/stylesheets/mixins/forms.scss b/app/assets/stylesheets/mixins/forms.scss new file mode 100644 index 000000000..c321b6acb --- /dev/null +++ b/app/assets/stylesheets/mixins/forms.scss @@ -0,0 +1,178 @@ +@import "mixins/icons"; +@import "mixins/layouts"; + +@mixin public-form-header { + $border-width: 4px; + + h1 { + margin-bottom: 0; + } + + header { + $icon-size: $line-height * 4; + $padding-right: rem-calc(20); + $icon-size-with-padding: $icon-size + $padding-right; + $polygon-size: $icon-size / 2; + @include background-till-left-of-screen; + @include brand-background($brand-secondary); + border: $border-width solid $brand-secondary; + border-bottom-right-radius: rem-calc(12); + border-top-right-radius: rem-calc(12); + margin-top: $line-height * 2; + padding: $line-height * 2 0; + position: relative; + + @include breakpoint(small) { + &::after { + display: none; + } + } + + @include breakpoint(large) { + $rounding-error: 6px; + padding-right: $icon-size-with-padding; + background-image: linear-gradient( + to right, + #{$brand-secondary} 0, + #{$brand-secondary} calc(100% - #{$icon-size-with-padding} - 1px), + #{$body-background} calc(100% - #{$icon-size-with-padding}), + #{$body-background} 100% + ); + + &::after { + background: $body-background; + content: ""; + clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% calc(100% + 1px), 0 50%); + display: block; + position: absolute; + right: calc(#{$icon-size-with-padding} - #{$rounding-error}); + top: 0; + height: 100%; + width: $polygon-size; + } + } + + &::before { + top: -$border-width; + height: calc(100% + #{$border-width * 2}); + } + + h1 { + $heading-icon-size: $icon-size * 0.85; + @include has-fa-icon(building, regular); + font-size: rem-calc(36); + + @include breakpoint(small) { + &::after, + &::before { + display: none; + position: absolute; + top: 50%; + transform: translateY(-50%); + } + } + + @include breakpoint(medium) { + padding-right: $heading-icon-size * 2.5; + + &::after { + display: block; + font-size: $heading-icon-size; + right: $heading-icon-size; + } + } + + @include breakpoint(large) { + font-size: rem-calc(44); + + &::after { + right: $icon-size-with-padding + $polygon-size + $heading-icon-size / 2; + } + + &::before { + color: $brand-secondary; + display: block; + font-size: $icon-size; + right: $padding-right; + } + } + + span { + display: block; + font-size: 0.75em; + margin-top: $line-height / 2; + } + } + + a { + color: inherit; + text-decoration: underline; + } + } +} + +%public-form-header { + @include public-form-header; +} + +@mixin public-form { + + .required-fields { + @include full-width-background($adjust-padding: true); + background: $light; + margin-bottom: $line-height; + padding-top: $line-height; + } + + > fieldset > legend { + float: left; + font-size: rem-calc(36); + font-weight: bold; + margin-bottom: $line-height; + text-transform: uppercase; + + + * { + clear: left; + } + } + + select { + min-height: $line-height * 2; + + @include breakpoint(medium) { + &:not(.js-add-language):not(.js-select-language) { + width: 50%; + } + } + } + + .globalize-languages, + .translatable-fields { + @include grid-row-nest; + @include grid-column-gutter; + } + + [type="submit"] { + @include regular-button; + font-size: map-get($button-sizes, large); + margin-top: $line-height; + } + + .actions { + border: 6px solid $border; + border-radius: rem-calc(12); + margin-left: auto; + margin-right: auto; + margin-top: $line-height * 2; + padding: $line-height * 2 $line-height; + text-align: center; + + @include breakpoint(medium) { + width: 75%; + } + } +} + +%public-form { + @include public-form; +} diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index aa4f2bc39..d498bb70f 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -244,20 +244,14 @@ // 02. New participation // --------------------- -.debate-new, .proposal-new { - .icon-debates, .icon-proposals { font-size: rem-calc(50); line-height: $line-height; opacity: 0.5; } - .icon-debates { - color: $debates; - } - .icon-proposals { color: $proposals; } @@ -279,13 +273,6 @@ } } -.debate-new { - - .recommendations li::before { - color: $debates; - } -} - .proposal-new { .recommendations li::before { diff --git a/app/components/debates/form_component.html.erb b/app/components/debates/form_component.html.erb index fa034ed14..f7d1b2098 100644 --- a/app/components/debates/form_component.html.erb +++ b/app/components/debates/form_component.html.erb @@ -1,47 +1,55 @@ <%= translatable_form_for(debate, html: { class: "debate-form" }) do |f| %> <%= render "shared/errors", resource: debate %> - <%= render "shared/globalize_locales", resource: debate %> +
<%= f.invisible_captcha :subtitle %> -