Minor improvements

This commit is contained in:
Andras Schmelczer 2022-09-24 21:53:50 +02:00
parent cf07001036
commit af45688029
No known key found for this signature in database
GPG key ID: 0EA1BC97D0AB076E
6 changed files with 23 additions and 15 deletions

View file

@ -20,10 +20,8 @@ export class PageBackground extends PageElement {
) {
super(createElement(generate()));
for (let i = 0; i < window.innerWidth / 10; i++) {
for (let i = 0; i < Math.max(30, window.innerWidth / 10); i++) {
const blob = document.createElement('div');
blob.classList.add('blob');
blob.style.width = '140px';
const z = this.random.inInterval(PageBackground.zMin, PageBackground.zMax);
blob.style.zIndex = (-z).toFixed(0);
blob.style.opacity = (
@ -62,7 +60,7 @@ export class PageBackground extends PageElement {
protected initialize() {
super.initialize();
requestAnimationFrame(this.drawIfNecessary.bind(this));
this.drawIfNecessary();
}
private getSiblings(): Array<HTMLElement> {

View file

@ -10,10 +10,13 @@ export const generate = ({
about: Array<string>;
photo: html;
}): html => `
<section id="about">
<header id="about">
${photo}
<div class="placeholder"></div>
<h1>${name}</h1>
${about.map((t) => `<p>${t}</p>`).join('')}
</section>
</header>
`;

View file

@ -1,6 +1,6 @@
import { createElement } from '../../helper/create-element';
import { ResponsiveImage } from '../../types/responsive-image';
import { Image } from '../basics/image/image.html';
import { Image } from '../image-viewer/image/image.html';
import { PageElement } from '../page-element';
import { generate } from './header.html';
import { PageThemeSwitcher } from './theme-switcher/theme-switcher';

View file

@ -5,6 +5,6 @@ import './image-viewer.scss';
export const generate = (): html => `
<section id="image-viewer">
<img height="0" width="0" image-viewer-ignore />
<div tabindex="0" id="cancel">${cancel}</div>
<div tabindex="2" id="cancel">${cancel}</div>
</section>
`;

View file

@ -7,11 +7,14 @@ export class PageImageViewer extends PageElement {
super(createElement(generate()));
document.body.addEventListener('click', (event: MouseEvent) => {
if (
event.target instanceof HTMLImageElement &&
!(event.target.attributes['image-viewer-ignore'] as boolean | undefined)
) {
this.showImage(event.target);
const element = event.target as HTMLElement;
if (element.classList?.contains('image')) {
this.showImage(element.querySelector('img')!);
}
if (element instanceof HTMLImageElement) {
this.showImage(element);
}
});
@ -25,6 +28,10 @@ export class PageImageViewer extends PageElement {
}
private showImage(source: HTMLImageElement) {
if (source.attributes['image-viewer-ignore'] as boolean | undefined) {
return;
}
const image = this.query('img') as HTMLImageElement;
image.src = '';
image.src = source.src;

View file

@ -1,6 +1,6 @@
import { html } from '../../../types/html';
import { Preview } from '../../basics/preview/preview';
import { Video } from '../../basics/video/video';
import { Preview } from '../../preview/preview';
import { Video } from '../../video/video';
export interface TimelineElementParameters {
date: string;