Skip to content

Commit

Permalink
Implement VAR for C24_WMDE_Desktop_DE_06
Browse files Browse the repository at this point in the history
- new footer (SmallPrintFooter) component that has it's own colors+layout
- fix chevron color being too dark (->white again)
- add title attributes to links with explanations

https://phabricator.wikimedia.org/T375599
  • Loading branch information
moiikana committed Oct 1, 2024
1 parent ebf620d commit be78f86
Show file tree
Hide file tree
Showing 15 changed files with 251 additions and 61 deletions.
4 changes: 3 additions & 1 deletion banners/desktop/C24_WMDE_Desktop_DE_06/banner_var.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import { LocaleFactoryDe } from '@src/utils/LocaleFactory/LocaleFactoryDe';
// Channel specific form setup
import { createFormItems } from './form_items';
import { createFormActions } from '@src/createFormActions';
import { createFAQPageURL } from '@src/createFAQPageURL';

const date = new Date();
const localeFactory = new LocaleFactoryDe();
Expand All @@ -45,7 +46,8 @@ const app = createVueApp( BannerConductor, {
bannerProps: {
useOfFundsContent: localeFactory.getUseOfFundsLoader().getContent(),
remainingImpressions: impressionCount.getRemainingImpressions( page.getMaxBannerImpressions( 'desktop' ) ),
donationLink: createFallbackDonationURL( page.getTracking(), impressionCount )
donationLink: createFallbackDonationURL( page.getTracking(), impressionCount ),
faqPageLink: createFAQPageURL( page.getTracking() )
},
resizeHandler: new WindowResizeHandler(),
banner: Banner,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
</template>

<template #footer>
<BannerFooter @showFundsModal="isFundsModalVisible = true"/>
<SmallPrintFooter @showFundsModal="isFundsModalVisible = true" :faqPageLink="faqPageLink"/>
</template>

</MainBanner>
Expand Down Expand Up @@ -75,7 +75,7 @@ import { CloseEvent } from '@src/tracking/events/CloseEvent';
import { TrackingFeatureName } from '@src/tracking/TrackingEvent';
import ButtonClose from '@src/components/ButtonClose/ButtonClose.vue';
import colors from '../styles/colors';
import BannerFooter from '@src/components/Footer/BannerFooter.vue';
import SmallPrintFooter from '@src/components/Footer/SmallPrintFooter.vue';
enum ContentStates {
Main = 'wmde-banner-wrapper--main',
Expand All @@ -90,6 +90,7 @@ interface Props {
bannerState: BannerStates;
useOfFundsContent: useOfFundsContentInterface;
remainingImpressions: number;
faqPageLink: string;
}
defineProps<Props>();
Expand Down
11 changes: 4 additions & 7 deletions banners/desktop/C24_WMDE_Desktop_DE_06/styles/MainBanner.scss
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
@use 'src/themes/Mikings/variables/colors';

$banner-height: 357px !default;
$form-width: 300px !default;

.wmde-banner {
/*
Temporary fix until desktop banners use swatches.
Mobile theme color is used because`Svingle` theme does not have `_colors.scss` file
*/
--slider-chevron: #{colors.$black-light};

.previous {
--slider-chevron: var( --previous-button-fill );
}

&-main {
min-height: $banner-height;
Expand Down
47 changes: 0 additions & 47 deletions banners/desktop/C24_WMDE_Desktop_DE_06/styles/MainBannerVar.scss

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
$font-size: 14px
);
@use 'src/themes/Svingle/DonationForm/Forms/CustomAmountForm';
@use 'src/themes/Svingle/Footer/BannerFooter';
@use 'src/themes/Svingle/Footer/SmallPrintFooter';
@use 'src/themes/Svingle/Footer/SelectionInput';
@use 'src/themes/Svingle/Message/Message';
@use 'src/themes/Svingle/Slider/KeenSlider' with (
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 31 additions & 0 deletions src/components/Footer/SmallPrintFooter.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
@mixin layout {
&-footer {
display: flex;
flex-direction: row;
justify-content: space-between;
width: 100%;

.first-row-items,
.second-row-items {
display: flex;
flex-direction: row;
}

&-usage {
padding: 10px 0;
display: flex;
flex-direction: column;
flex-grow: 1;
}

&-bank {
display: flex;
flex-direction: column;

.iban,
.bic {
white-space: nowrap;
}
}
}
}
74 changes: 74 additions & 0 deletions src/components/Footer/SmallPrintFooter.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<template>
<div class="wmde-banner-footer">
<div v-if="showFundsLink" class="wmde-banner-footer-usage">
<div class="first-row-items">
<div class="wmde-banner-footer-item">
<a
id="application-of-funds-link"
class="wmde-banner-footer-usage-link t-use-of-funds-link"
@click.prevent="$emit( 'showFundsModal' )"
:title="$translate( 'use-of-funds-link-description' )"
>
{{ $translate( 'use-of-funds-link' ) }}
</a>
</div>
<div class="wmde-banner-footer-item wmde-banner-footer-faq-link-item">
<span class="link-separator"> | </span>
<a
id="faq-page-link"
class="wmde-banner-footer-usage-link"
:href="faqPageLink"
target="_blank"
:title="$translate( 'faq-page-link-description' )"
>
{{ $translate( 'faq-page-link' ) }}
</a>
</div>
<div class="wmde-banner-footer-item bold text-explanation">
<span class="link-separator "> | </span>
Eine Dauerspende ist jederzeit formlos kündbar. Sie gehen kein Risiko ein.
</div>
</div>
<div class="second-row-items">
<div class="wmde-banner-footer-item">
<span>Wikimedia Deutschland ist der gemeinnützige Verein hinter Wikipedia. Jede Spende ist steuerlich
absetzbar. Auf Wunsch erhalten Sie von uns eine Spendenquittung.</span>
</div>
</div>
</div>

<div class="wmde-banner-footer-bank">
<label class="wmde-banner-footer-bank-item account">{{ $translate('donation-account') }}:
<SelectionInput :value="'Wikimedia e. V.'"/>
</label>
<div class="wmde-banner-footer-bank-item iban-and-bic">
<label class="wmde-banner-footer-bank-item iban">IBAN:
<SelectionInput
:value="'DE09 3702 0500 0003 2873 00'"
:focusedValue="'DE09370205000003287300'"
/>
</label>
<label class="wmde-banner-footer-bank-item bic">BIC:
<SelectionInput :value="'BFSWDE33BER'"/>
</label>
</div>
</div>
</div>
</template>

<script setup lang="ts">
import SelectionInput from '@src/components/Footer/SelectionInput.vue';
interface Props {
faqPageLink: string,
showFundsLink?: boolean,
}
withDefaults( defineProps<Props>(), {
faqPageLink: '',
showFundsLink: true
} );
defineEmits( [ 'showFundsModal' ] );
</script>
5 changes: 4 additions & 1 deletion src/components/Footer/messages/Footer.de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ import { TranslationMessages } from '@src/Translator';

const translations: TranslationMessages = {
'donation-account': 'Spendenkonto',
'use-of-funds-link': 'Was Ihre Spende bewirkt'
'use-of-funds-link': 'Was Ihre Spende bewirkt',
'use-of-funds-link-description': 'Erklärungstext aufklappen',
'faq-page-link': 'Häufige Fragen zur Spende',
'faq-page-link-description': 'Webseite in neuem Browsertab bzw. -fenster öffnen'
};

export default translations;
5 changes: 4 additions & 1 deletion src/components/Footer/messages/Footer.en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ import { TranslationMessages } from '@src/Translator';

const translations: TranslationMessages = {
'donation-account': 'Donation account',
'use-of-funds-link': 'Where does my donation go?'
'use-of-funds-link': 'Where does my donation go?',
'use-of-funds-link-description': 'expand explanation text',
'faq-page-link': 'FAQ',
'faq-page-link-description': 'open webpage in a new browser tab or window'
};

export default translations;
18 changes: 18 additions & 0 deletions src/createFAQPageURL.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/* eslint-disable camelcase */
import { TrackingParameters } from '@src/domain/TrackingParameters';

const FAQ_PAGE_URL = 'https://spenden.wikimedia.de/faq';

/**
* This function is used to create a link to the FAQ page with tracking parameters.
*
* @param {TrackingParameters} tracking
*/
export function createFAQPageURL( tracking: TrackingParameters ): string {
const urlParameters = new URLSearchParams( {
piwik_kwd: tracking.keyword + '_faq',
piwik_campaign: tracking.campaign + '_faq'
} );

return `${FAQ_PAGE_URL}?${urlParameters}`;
}
62 changes: 62 additions & 0 deletions src/themes/Svingle/Footer/SmallPrintFooter.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
@use 'src/components/Footer/SmallPrintFooter';
@use '../variables/breakpoints';

$right-column-width: 300px !default;
$left-column-margin: 0 30px 0 0 !default;

.wmde-banner {
@include SmallPrintFooter.layout;

&-footer {
font-size: 12px;
line-height: 20px;
color: var( --footer-color );
padding: 0;
margin-top: 0;

&-bank {
padding: 5px 10px 5px 0;
text-align: right;
&-item {
padding-left: 0.5em;

&.account .selection-input-text,
&.account .selection-input-input {
text-transform: none;
}
}
}

&-usage {
padding: 5px 0;
margin: $left-column-margin;
text-align: left;
&-link,
&-link:visited {
cursor: pointer;
text-decoration: underline;
}
}

.link-separator {
margin-left: 3px;
margin-right: 3px;
}

.second-row-items {
display: none;

@include breakpoints.large-up {
display: flex;
}
}

&-faq-link-item {
display: none;

@include breakpoints.bigger-medium-up {
display: flex;
}
}
}
}
3 changes: 3 additions & 0 deletions src/themes/Svingle/swatches/color_light.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ $grey150: #dddddd;
$grey200: #bbbbbb;
$grey300: #b7b7b7;
$grey500: #808080;
$grey550: #72777d;
$grey600: #747474;
$grey700: #202122;

Expand Down Expand Up @@ -41,8 +42,10 @@ $blue700: #2a4b8d;
--button-close-fill: #{$grey600};
--button-background: #{$red600};
--button-color: #{$white};
--previous-button-fill: #{$grey700};

--footer-color: #{$black};
--footer-smallprint-color: #{$grey550};
--input-selection-color: #{$black};
--input-selection-selected-background: #{$red600};
--input-selection-selected-color: #{$white};
Expand Down
7 changes: 7 additions & 0 deletions src/themes/Svingle/variables/_breakpoints.scss
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
$extra-small: 600px !default;
$small: 1024px !default;
$medium: 1090px !default;
$bigger-medium: 1150px !default;
$large: 1300px !default;
$extra-large: 1580px !default;

Expand Down Expand Up @@ -33,6 +34,12 @@ MIXIN USAGE:
}
}

@mixin bigger-medium-up {
@media ( min-width: $bigger-medium ) {
@content;
}
}

@mixin large-up {
@media ( min-width: $large ) {
@content;
Expand Down
Loading

0 comments on commit be78f86

Please sign in to comment.