// NPM imports import React, { Component, PropTypes } from "react"; import ReactDOM from "react-dom"; import CSSModules from "react-css-modules"; import { defineMessages, FormattedMessage } from "react-intl"; import FontAwesome from "react-fontawesome"; import Immutable from "immutable"; // Local imports import { messagesMap } from "../utils/"; // Other components import { AlbumRow } from "./Album"; import DismissibleAlert from "./elements/DismissibleAlert"; // Translations import commonMessages from "../locales/messagesDescriptors/common"; // Styles import css from "../styles/Artist.scss"; // Define translations const artistMessages = defineMessages(messagesMap(Array.concat([], commonMessages))); /** * Single artist page */ class ArtistCSS extends Component { constructor(props) { super(props); // Set state this.state = { hasScrolled: false, // Not scrolled initially }; } componentDidUpdate() { // After each update, check if we need to scroll to a given element // State prevents scrolling at each and every update if (this.refs.scroll && !this.state.hasScrolled) { console.log("scroll!"); console.log($(ReactDOM.findDOMNode(this.refs.scroll)).offset().top); $("html, body").animate({ scrollTop: $(ReactDOM.findDOMNode(this.refs.scroll)).offset().top }, 600); this.setState({ hasScrolled: true, }); } } render() { // Define loading message let loading = null; if (this.props.isFetching) { loading = (
{this.props.artist.get("summary")}