/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ import { actionCreators as ac } from "common/Actions.sys.mjs"; import React from "react"; import { SafeAnchor } from "../SafeAnchor/SafeAnchor"; import { FluentOrText } from "content-src/components/FluentOrText/FluentOrText"; export class Topic extends React.PureComponent { constructor(props) { super(props); this.onLinkClick = this.onLinkClick.bind(this); } onLinkClick(event) { if (this.props.dispatch) { this.props.dispatch( ac.DiscoveryStreamUserEvent({ event: "CLICK", source: "POPULAR_TOPICS", action_position: 0, value: { topic: event.target.text.toLowerCase().replace(` `, `-`), }, }) ); } } render() { const { url, name } = this.props; return ( {name} ); } } export class Navigation extends React.PureComponent { render() { let links = this.props.links || []; const alignment = this.props.alignment || "centered"; const header = this.props.header || {}; const english = this.props.locale.startsWith("en-"); const privacyNotice = this.props.privacyNoticeURL || {}; const { newFooterSection } = this.props; const className = `ds-navigation ds-navigation-${alignment} ${ newFooterSection ? `ds-navigation-new-topics` : `` }`; let { title } = header; if (newFooterSection) { title = { id: "newtab-pocket-new-topics-title" }; if (this.props.extraLinks) { links = [ ...links.slice(0, links.length - 1), ...this.props.extraLinks, links[links.length - 1], ]; } } return (
{title && english ? ( ) : null} {english ? ( ) : null} {!newFooterSection ? ( ) : null} {newFooterSection ? (
|
) : null}
); } }