schmelczer-dev/src/page/index.ts
Schmelczer András fd14613db7 Fix some bugs
2020-01-12 20:26:32 +01:00

37 lines
1.1 KiB
TypeScript
Executable file

import { Portfolio } from '../model/portfolio';
import { PageBackground } from './background/background';
import { PageHeader } from './about/about';
import { PageTimeline } from './timeline/timeline';
import { PageFooter } from './footer/footer';
import { PageImageViewer } from './image-viewer/image-viewer';
import { ContainerPage } from '../framework/container-page';
export const create = ({ header, timeline, footer }: Portfolio) => {
const pageHeader = new PageHeader(header);
const pageTimeline = new PageTimeline(timeline);
const pageFooter = new PageFooter(footer);
new ContainerPage(document.body.querySelector('#main'), [
new PageImageViewer(),
pageHeader,
pageTimeline,
pageFooter,
new PageBackground(pageHeader, [pageTimeline], pageFooter),
]).setAsMain();
addSupportForTabNavigation();
removeUnnecessaryOutlines();
};
const addSupportForTabNavigation = () =>
(document.onkeydown = e => {
if (e.key === ' ') {
(document.activeElement as HTMLElement)?.click();
e.preventDefault();
}
});
const removeUnnecessaryOutlines = () =>
(document.onclick = e => {
(e.target as HTMLElement)?.blur();
});