Skip to content

Commit

Permalink
feat: add NotFoundPage component
Browse files Browse the repository at this point in the history
  • Loading branch information
Kleostro committed Apr 29, 2024
1 parent a129728 commit b3928ff
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 0 deletions.
17 changes: 17 additions & 0 deletions src/pages/NotFoundPage/model/NotFoundPageModel.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import type { PageInterface } from '@/shared/types/interfaces.ts';

import NotFoundPageView from '../view/NotFoundPageView.ts';

class NotFoundPageModel implements PageInterface {
private view: NotFoundPageView;

constructor(parent: HTMLDivElement) {
this.view = new NotFoundPageView(parent);
}

public getHTML(): HTMLDivElement {
return this.view.getHTML();
}
}

export default NotFoundPageModel;
41 changes: 41 additions & 0 deletions src/pages/NotFoundPage/view/NotFoundPageView.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import { TAG_NAMES } from '@/shared/constants/enums.ts';
import createBaseElement from '@/shared/utils/createBaseElement.ts';

import NOT_FOUND_PAGE_STYLES from './notFoundPageView.module.scss';

class NotFoundPageView {
private page: HTMLDivElement;

private parent: HTMLDivElement;

constructor(parent: HTMLDivElement) {
this.parent = parent;
this.page = this.createHTML();
}

private createHTML(): HTMLDivElement {
this.page = createBaseElement({
cssClasses: [NOT_FOUND_PAGE_STYLES.notFoundPage],
tag: TAG_NAMES.DIV,
});

this.parent.append(this.page);

return this.page;
}

public getHTML(): HTMLDivElement {
return this.page;
}

public hide(): boolean {
this.page.classList.add(NOT_FOUND_PAGE_STYLES.notFoundPage_hidden);
return true;
}

public show(): boolean {
this.page.classList.remove(NOT_FOUND_PAGE_STYLES.notFoundPage_hidden);
return true;
}
}
export default NotFoundPageView;
File renamed without changes.

0 comments on commit b3928ff

Please sign in to comment.