2019-12-12 16:25:33 +01:00
|
|
|
import React, { FC, useEffect } from "react";
|
2018-09-03 16:17:36 +02:00
|
|
|
|
|
|
|
|
type Props = {
|
2019-10-19 16:38:07 +02:00
|
|
|
title?: string;
|
2019-12-12 16:25:33 +01:00
|
|
|
customPageTitle?: string;
|
|
|
|
|
preventRefreshingPageTitle?: boolean;
|
2018-09-03 16:17:36 +02:00
|
|
|
};
|
|
|
|
|
|
2019-12-12 16:25:33 +01:00
|
|
|
const Title: FC<Props> = ({ title, preventRefreshingPageTitle, customPageTitle }) => {
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
if (!preventRefreshingPageTitle) {
|
|
|
|
|
if (customPageTitle) {
|
|
|
|
|
document.title = customPageTitle;
|
|
|
|
|
} else if (title) {
|
|
|
|
|
document.title = title;
|
|
|
|
|
}
|
2018-09-03 16:17:36 +02:00
|
|
|
}
|
2019-12-12 16:25:33 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (title) {
|
|
|
|
|
return <h1 className="title">{title}</h1>;
|
2018-09-03 16:17:36 +02:00
|
|
|
}
|
2019-12-12 16:25:33 +01:00
|
|
|
return null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Title.defaultProps = {
|
|
|
|
|
preventRefreshingPageTitle: false
|
|
|
|
|
};
|
2018-09-03 16:17:36 +02:00
|
|
|
|
|
|
|
|
export default Title;
|