Minor improvements
This commit is contained in:
parent
cf07001036
commit
af45688029
6 changed files with 23 additions and 15 deletions
|
|
@ -20,10 +20,8 @@ export class PageBackground extends PageElement {
|
||||||
) {
|
) {
|
||||||
super(createElement(generate()));
|
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');
|
const blob = document.createElement('div');
|
||||||
blob.classList.add('blob');
|
|
||||||
blob.style.width = '140px';
|
|
||||||
const z = this.random.inInterval(PageBackground.zMin, PageBackground.zMax);
|
const z = this.random.inInterval(PageBackground.zMin, PageBackground.zMax);
|
||||||
blob.style.zIndex = (-z).toFixed(0);
|
blob.style.zIndex = (-z).toFixed(0);
|
||||||
blob.style.opacity = (
|
blob.style.opacity = (
|
||||||
|
|
@ -62,7 +60,7 @@ export class PageBackground extends PageElement {
|
||||||
|
|
||||||
protected initialize() {
|
protected initialize() {
|
||||||
super.initialize();
|
super.initialize();
|
||||||
requestAnimationFrame(this.drawIfNecessary.bind(this));
|
this.drawIfNecessary();
|
||||||
}
|
}
|
||||||
|
|
||||||
private getSiblings(): Array<HTMLElement> {
|
private getSiblings(): Array<HTMLElement> {
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,13 @@ export const generate = ({
|
||||||
about: Array<string>;
|
about: Array<string>;
|
||||||
photo: html;
|
photo: html;
|
||||||
}): html => `
|
}): html => `
|
||||||
<section id="about">
|
<header id="about">
|
||||||
${photo}
|
${photo}
|
||||||
|
|
||||||
<div class="placeholder"></div>
|
<div class="placeholder"></div>
|
||||||
|
|
||||||
<h1>${name}</h1>
|
<h1>${name}</h1>
|
||||||
|
|
||||||
${about.map((t) => `<p>${t}</p>`).join('')}
|
${about.map((t) => `<p>${t}</p>`).join('')}
|
||||||
</section>
|
</header>
|
||||||
`;
|
`;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { createElement } from '../../helper/create-element';
|
import { createElement } from '../../helper/create-element';
|
||||||
import { ResponsiveImage } from '../../types/responsive-image';
|
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 { PageElement } from '../page-element';
|
||||||
import { generate } from './header.html';
|
import { generate } from './header.html';
|
||||||
import { PageThemeSwitcher } from './theme-switcher/theme-switcher';
|
import { PageThemeSwitcher } from './theme-switcher/theme-switcher';
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,6 @@ import './image-viewer.scss';
|
||||||
export const generate = (): html => `
|
export const generate = (): html => `
|
||||||
<section id="image-viewer">
|
<section id="image-viewer">
|
||||||
<img height="0" width="0" image-viewer-ignore />
|
<img height="0" width="0" image-viewer-ignore />
|
||||||
<div tabindex="0" id="cancel">${cancel}</div>
|
<div tabindex="2" id="cancel">${cancel}</div>
|
||||||
</section>
|
</section>
|
||||||
`;
|
`;
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,14 @@ export class PageImageViewer extends PageElement {
|
||||||
super(createElement(generate()));
|
super(createElement(generate()));
|
||||||
|
|
||||||
document.body.addEventListener('click', (event: MouseEvent) => {
|
document.body.addEventListener('click', (event: MouseEvent) => {
|
||||||
if (
|
const element = event.target as HTMLElement;
|
||||||
event.target instanceof HTMLImageElement &&
|
|
||||||
!(event.target.attributes['image-viewer-ignore'] as boolean | undefined)
|
if (element.classList?.contains('image')) {
|
||||||
) {
|
this.showImage(element.querySelector('img')!);
|
||||||
this.showImage(event.target);
|
}
|
||||||
|
|
||||||
|
if (element instanceof HTMLImageElement) {
|
||||||
|
this.showImage(element);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -25,6 +28,10 @@ export class PageImageViewer extends PageElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
private showImage(source: HTMLImageElement) {
|
private showImage(source: HTMLImageElement) {
|
||||||
|
if (source.attributes['image-viewer-ignore'] as boolean | undefined) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const image = this.query('img') as HTMLImageElement;
|
const image = this.query('img') as HTMLImageElement;
|
||||||
image.src = '';
|
image.src = '';
|
||||||
image.src = source.src;
|
image.src = source.src;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { html } from '../../../types/html';
|
import { html } from '../../../types/html';
|
||||||
import { Preview } from '../../basics/preview/preview';
|
import { Preview } from '../../preview/preview';
|
||||||
import { Video } from '../../basics/video/video';
|
import { Video } from '../../video/video';
|
||||||
|
|
||||||
export interface TimelineElementParameters {
|
export interface TimelineElementParameters {
|
||||||
date: string;
|
date: string;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue