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

export class GyldighetsRegistrerer extends Felt {
	constructor(props) {
		super(props);
		this.oppdaterGyldighet();
	}

	oppdaterGyldighet() {
		const { erGyldig } = this.props;
		if (erGyldig) {
			this._registrer('gyldig');
		} else {
			this._registrer('');
		}
	}

	componentDidUpdate(prevProps) {
		if (this.props.erGyldig !== prevProps.erGyldig) {
			this.oppdaterGyldighet();
		}
	}

	render() {
		if (!this.props.erGyldig && this.props.irettesettelse) {
			return this._renderIrettesettelse();
		}
		return null;
	}
}

GyldighetsRegistrerer.propTypes = {
	erGyldig: PropTypes.bool.isRequired,
	gyldighet: PropTypes.instanceOf(Gyldighet).isRequired,
};
