From ed14754441c174f9343859e78e7a6e6d162dcfae Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 20 Apr 2021 00:17:31 +0200 Subject: re-implement marquee --- frontend/site/projects/museum/views/marquee.js | 51 ++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 frontend/site/projects/museum/views/marquee.js (limited to 'frontend/site/projects/museum/views/marquee.js') diff --git a/frontend/site/projects/museum/views/marquee.js b/frontend/site/projects/museum/views/marquee.js new file mode 100644 index 0000000..5d031eb --- /dev/null +++ b/frontend/site/projects/museum/views/marquee.js @@ -0,0 +1,51 @@ +import React, { Component } from 'react' +import Marquee from "react-fast-marquee" + +import "./marquee.css" + +import { MARQUEES } from "site/projects/museum/constants" + +export default class MarqueeContainer extends Component { + constructor(props) { + super(props) + this.state = { + } + } + + componentDidMount() { + this.load() + } + + componentDidUpdate(prevProps) { + if (this.props.location.pathname !== prevProps.location.pathname) { + this.load() + } + } + + load() { + const { match } = this.props + const { page_name } = match.params + if (!(page_name in MARQUEES)) { + this.setState({ message: null }) + } + this.setState({ message: MARQUEES[page_name] }) + } + + render() { + const { language } = this.props + if (!this.state.message) return null + return ( +
+ + + {this.state.message[language]} + + +
+ ) + } +} -- cgit v1.2.3-70-g09d2