import React, { Component } from 'react'; import { Link } from 'react-router-dom'; import { FormattedMessage as Message } from 'react-intl'; import { Helmet } from 'react-helmet-async'; import { FooterMenu } from 'app/components/footerMenu'; import appInfo from 'app/components/auth/appInfo/AppInfo.intl.json'; import styles from './rules.scss'; import messages from './RulesPage.intl.json'; const projectName = ; import clsx from 'clsx'; const rules = [ { title: , items: [ {projectName}, }} />, , , https://account.ely.by/register, }} />, ], }, { title: , items: [ , , , , , , , ], }, { title: ( ), description: (

{projectName}, }} />

), items: [ , , ], }, ]; export default class RulesPage extends Component<{ location: { pathname: string; search: string; hash: string; }; history: { replace: Function; }; }> { render() { let { hash } = this.props.location; if (hash) { hash = hash.substring(1); } return (
{pageTitle => }
{rules.map((block, sectionIndex) => (

{block.title}

{block.description ? (
{block.description}
) : ( '' )}
    {block.items.map((item, ruleIndex) => (
  1. {item}
  2. ))}
))}
); } onRuleClick(event: React.SyntheticEvent) { if ( event.defaultPrevented || !event.currentTarget.id || event.target instanceof HTMLAnchorElement ) { // some-one have already processed this event or it is a link return; } const { id } = event.currentTarget; const newPath = `${this.props.location.pathname}${this.props.location.search}#${id}`; this.props.history.replace(newPath); } static getTitleHash(sectionIndex: number) { return `rule-${sectionIndex + 1}`; } static getRuleHash(sectionIndex: number, ruleIndex: number) { return `${RulesPage.getTitleHash(sectionIndex)}-${ruleIndex + 1}`; } }