<commit_before>import React from 'react';
import PropTypes from 'prop-types';
import { c } from 'ttag';
import { Title } from 'react-components';
import RedeemCouponForm from '../components/sections/redeem/RedeemCouponForm';
import PublicHeader from '../components/layout/PublicHeader';

import GadgetImage from 'design-system/assets/img/pv-images/redeem/gadgets.png';
import SwissBasedIcon from 'design-system/assets/img/pv-images/redeem/swiss_based.svg';
import SecureCoreIcon from 'design-system/assets/img/pv-images/redeem/secure_core.svg';
import NoLogsIcon from 'design-system/assets/img/pv-images/redeem/no_logs.svg';
import KillSwitchIcon from 'design-system/assets/img/pv-images/redeem/kill_switch.svg';
import DNSIcon from 'design-system/assets/img/pv-images/redeem/dns.svg';
import EncryptionIcon from 'design-system/assets/img/pv-images/redeem/encryption.svg';

const RedeemContainer = ({ history }) => (
    <div>
        <div className="pt2 pl2 pr2">
            <PublicHeader />
        </div>
        <div className="redeem-heading-bg pt1 pl2 pr2">
            <div className="mw80 ontablet-mw100 center">
                <Title className="redeem-heading-title mt2 mb1-5 color-white bold">
                    {c('Title').t`Redeem your coupon and start protecting your online privacy`}
                </Title>
                <div className="flex">
                    <RedeemCouponForm history={history} />
                    <div className="col center nomobile notablet">
                        <img
                            src={GadgetImage}
                            alt={c('Image alt').t`Laptop & smartphone shown connected to ProtonVPN network.`}
                        />
                    </div>
                </div>
            </div>
        </div>
        <div className="bg-global-light p2">
            <div className="flex flex-spacebetween onmobile-flex-column aligncenter ontablet-mw100 mw80 center mt2">
                {[
                    {
                        icon: SwissBasedIcon,
                        alt: c('Image alt').t`Swiss based`,
                        title: c('Title').t`Swiss Based`,
                        about: c('About').t`Protect yourself with some of the world's toughest Swiss Privacy laws.`
                    },
                    {
                        icon: SecureCoreIcon,
                        alt: c('Image alt').t`Secure core servers`,
                        title: c('Title').t`Secure Core Servers`,
                        about: c('About')
                            .t`Enable military-grade network defense using Secure Core servers located below the surface.`
                    },
                    {
                        icon: NoLogsIcon,
                        alt: c('Image alt').t`No logs`,
                        title: c('Title').t`No Logs`,
                        about: c('About').t`Shield your privacy with strict ProtonVPN no logs policy.`
                    },
                    {
                        icon: KillSwitchIcon,
                        alt: c('Image alt').t`Kill switch to prevent IP exposure`,
                        title: c('Title').t`Kill Switch`,
                        about: c('About')
                            .t`Prevent your IP address from online exposure with built-in Kill Switch feature.`
                    },
                    {
                        icon: DNSIcon,
                        alt: c('Image alt').t`DNS leak prevention`,
                        title: c('Title').t`DNS leak prevention`,
                        about: c('About')
                            .t`Keep your online activities to yourself as we prevent your DNS queries from leaking.`
                    },
                    {
                        icon: EncryptionIcon,
                        alt: c('Image alt').t`Strong encryption`,
                        title: c('Title').t`Strong encryption`,
                        about: c('About')
                            .t`Protect your internet connection with the highest strengh encryption for the most secure connection possible.`
                    }
                ].map(({ icon, alt, title, about }) => (
                    <figure key={title} className="shadow-container w30 mb2 bg-white color-global-altgrey p1">
                        <img src={icon} alt={alt} className="redeem-promo-img center mt1 mb1" />
                        <figcaption>
                            <h2>{title}</h2>
                            <p>{about}</p>
                        </figcaption>
                    </figure>
                ))}
            </div>
        </div>
    </div>
);

RedeemContainer.propTypes = {
    history: PropTypes.object
};

export default RedeemContainer;
<commit_msg>Fix redeem page promo texts (#132)<commit_after>import React from 'react';
import PropTypes from 'prop-types';
import { c } from 'ttag';
import { Title } from 'react-components';
import RedeemCouponForm from '../components/sections/redeem/RedeemCouponForm';
import PublicHeader from '../components/layout/PublicHeader';

import GadgetImage from 'design-system/assets/img/pv-images/redeem/gadgets.png';
import SwissBasedIcon from 'design-system/assets/img/pv-images/redeem/swiss_based.svg';
import SecureCoreIcon from 'design-system/assets/img/pv-images/redeem/secure_core.svg';
import NoLogsIcon from 'design-system/assets/img/pv-images/redeem/no_logs.svg';
import KillSwitchIcon from 'design-system/assets/img/pv-images/redeem/kill_switch.svg';
import DNSIcon from 'design-system/assets/img/pv-images/redeem/dns.svg';
import EncryptionIcon from 'design-system/assets/img/pv-images/redeem/encryption.svg';

const RedeemContainer = ({ history }) => (
    <div>
        <div className="pt2 pl2 pr2">
            <PublicHeader />
        </div>
        <div className="redeem-heading-bg pt1 pl2 pr2">
            <div className="mw80 ontablet-mw100 center">
                <Title className="redeem-heading-title mt2 mb1-5 color-white bold">
                    {c('Title').t`Redeem your coupon and start protecting your online privacy`}
                </Title>
                <div className="flex">
                    <RedeemCouponForm history={history} />
                    <div className="col center nomobile notablet">
                        <img
                            src={GadgetImage}
                            alt={c('Image alt').t`Laptop & smartphone shown connected to ProtonVPN network.`}
                        />
                    </div>
                </div>
            </div>
        </div>
        <div className="bg-global-light p2">
            <div className="flex flex-spacebetween onmobile-flex-column aligncenter ontablet-mw100 mw80 center mt2">
                {[
                    {
                        icon: SwissBasedIcon,
                        alt: c('Image alt').t`Swiss based`,
                        title: c('Title').t`Swiss Based`,
                        about: c('About')
                            .t`Protect your data with Swiss privacy laws, some of the strongest in the world`
                    },
                    {
                        icon: SecureCoreIcon,
                        alt: c('Image alt').t`Secure core servers`,
                        title: c('Title').t`Secure Core Servers`,
                        about: c('About')
                            .t`Defend yourself against advanced network-based attacks by routing your traffic through hardened servers`
                    },
                    {
                        icon: NoLogsIcon,
                        alt: c('Image alt').t`No logs`,
                        title: c('Title').t`No Logs`,
                        about: c('About')
                            .t`Keep your browsing history private - we do not keep any records of our users' online activity`
                    },
                    {
                        icon: KillSwitchIcon,
                        alt: c('Image alt').t`Kill switch to prevent IP exposure`,
                        title: c('Title').t`Kill Switch`,
                        about: c('About').t`Keep your data secure even if you are disconnected from your VPN server`
                    },
                    {
                        icon: DNSIcon,
                        alt: c('Image alt').t`DNS leak prevention`,
                        title: c('Title').t`DNS leak prevention`,
                        about: c('About')
                            .t`Prevent your DNS requests from revealing your browsing history by encrypting all your DNS queries`
                    },
                    {
                        icon: EncryptionIcon,
                        alt: c('Image alt').t`Strong encryption`,
                        title: c('Title').t`Strong encryption`,
                        about: c('About')
                            .t`Defend your Internet connection with AES-256, the highest strength encryption.`
                    }
                ].map(({ icon, alt, title, about }) => (
                    <figure key={title} className="shadow-container w30 mb2 bg-white color-global-altgrey p1">
                        <img src={icon} alt={alt} className="redeem-promo-img center mt1 mb1" />
                        <figcaption>
                            <h2>{title}</h2>
                            <p>{about}</p>
                        </figcaption>
                    </figure>
                ))}
            </div>
        </div>
    </div>
);

RedeemContainer.propTypes = {
    history: PropTypes.object
};

export default RedeemContainer;

{'fraction_non_alphanumeric': 0.10598839618731869, 'fraction_numerical': 0.00663075010360547, 'mean_word_length': 1.4024390243902438, 'pattern_counts': {'":': 0, '<': 63, '<?xml version=': 0, '>': 67, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6271308', 'n_tokens_mistral': 2523, 'n_tokens_neox': 2327, 'n_words': 616}