import React from 'react';
import PropTypes from 'prop-types';
import { Felt } from './Felt';
import { Gyldighet, leseligFilStorrelse } from './Gyldighet';

export class MaksfilstorrelseSjekker extends Felt {
	constructor(props) {
		super(props);
		this._registrer({
			totalStorrelse: this.props.totalStorrelse,
		});
	}

	componentDidUpdate(prevProps) {
		if (prevProps.totalStorrelse !== this.props.totalStorrelse) {
			this._registrer({
				totalStorrelse: this.props.totalStorrelse,
			});
		}
	}

	render() {
		// vi rendrer ikke irettesettelsen (som kan være gammel) hvis vi ikke er over grensen
		const skalRendreIrettesettelse =
			!this.props.maksStorrelse ||
			this.props.maksStorrelse < this.props.totalStorrelse;

		return <>{skalRendreIrettesettelse && this._renderIrettesettelse()}</>;
	}
}

MaksfilstorrelseSjekker.proptypes = {
	totalStorrelse: PropTypes.number.isRequired,
	maksStorrelse: PropTypes.number,
	gyldighet: PropTypes.instanceOf(Gyldighet),
};
