add Docker build frontend
This commit is contained in:
76
frontend/src/main.js
Normal file
76
frontend/src/main.js
Normal file
@@ -0,0 +1,76 @@
|
||||
import 'reset-css';
|
||||
import './global.css';
|
||||
import './scripts/header.js';
|
||||
import './styles/layout/container.css';
|
||||
import './styles/layout/footer.css';
|
||||
import './styles/layout/header/header.css';
|
||||
|
||||
import './styles/layout/container.css';
|
||||
import './styles/layout/footer.css';
|
||||
|
||||
import './styles/components/advert-item.css';
|
||||
import './styles/components/article-item.css';
|
||||
import './styles/components/article-single.css';
|
||||
import './styles/components/contacts.css';
|
||||
import './styles/components/event-item.css';
|
||||
import './styles/components/interview-item.css';
|
||||
import './styles/components/partner-item.css';
|
||||
import './styles/components/single-partner-item.css';
|
||||
import './styles/components/suggestion-item.css';
|
||||
|
||||
import './scripts/calendar.js';
|
||||
import './scripts/menu-vertical.js';
|
||||
import './scripts/modal.js';
|
||||
import './scripts/scroll-to-top.js';
|
||||
import './scripts/search-form.js';
|
||||
import './scripts/select.js';
|
||||
import './scripts/subscription-form.js';
|
||||
import './styles/components/about.css';
|
||||
import './styles/components/banner.css';
|
||||
import './styles/components/breadcrumbs.css';
|
||||
import './styles/components/button.css';
|
||||
import './styles/components/calendar.css';
|
||||
import './styles/components/checkbox.css';
|
||||
import './styles/components/error-page.css';
|
||||
import './styles/components/event-item.css';
|
||||
import './styles/components/fonts.css';
|
||||
import './styles/components/hero.css';
|
||||
import './styles/components/input.css';
|
||||
import './styles/components/menu-vertical.css';
|
||||
import './styles/components/menu.css';
|
||||
import './styles/components/modal.css';
|
||||
import './styles/components/most-read.css';
|
||||
import './styles/components/nav.css';
|
||||
import './styles/components/pagination.css';
|
||||
import './styles/components/search-form.css';
|
||||
import './styles/components/section-title.css';
|
||||
import './styles/components/select.css';
|
||||
import './styles/components/shared.css';
|
||||
import './styles/components/socials.css';
|
||||
import './styles/components/subscribe-form.css';
|
||||
import './styles/components/subscription-form.css';
|
||||
import './styles/components/tag.css';
|
||||
import './styles/components/to-top.css';
|
||||
import './styles/components/upcoming-events.css';
|
||||
|
||||
import { initCalendar } from './scripts/calendar.js';
|
||||
import { initMenuVertical } from './scripts/menu-vertical.js';
|
||||
import { initModal } from './scripts/modal.js';
|
||||
import { initScrollToTop } from './scripts/scroll-to-top.js';
|
||||
|
||||
import { initHeader } from './scripts/header.js';
|
||||
import { initSearchForm } from './scripts/search-form.js';
|
||||
import { initSelect } from './scripts/select.js';
|
||||
import { initSubscriptionForm } from './scripts/subscription-form.js';
|
||||
import './styles/pages/main.css';
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
initCalendar();
|
||||
initMenuVertical();
|
||||
initModal();
|
||||
initScrollToTop();
|
||||
initSearchForm();
|
||||
initSelect();
|
||||
initSubscriptionForm();
|
||||
initHeader();
|
||||
});
|
||||
11
frontend/src/scripts/header.js
Normal file
11
frontend/src/scripts/header.js
Normal file
@@ -0,0 +1,11 @@
|
||||
export const initHeader = () => {
|
||||
const headerBurger = document.querySelector('.header__burger');
|
||||
const mobileHeader = document.querySelector('.header-mobile');
|
||||
|
||||
if (headerBurger && mobileHeader) {
|
||||
headerBurger.addEventListener('click', () => {
|
||||
mobileHeader.classList.toggle('is-active');
|
||||
headerBurger.classList.toggle('is-active');
|
||||
});
|
||||
}
|
||||
};
|
||||
14
frontend/src/scripts/menu-vertical.js
Normal file
14
frontend/src/scripts/menu-vertical.js
Normal file
@@ -0,0 +1,14 @@
|
||||
export const initMenuVertical = () => {
|
||||
const menuVerticalHead = document.querySelector(
|
||||
'.mobile .menu-vertical__head'
|
||||
);
|
||||
const menuVerticalInner = document.querySelector(
|
||||
'.mobile .menu-vertical__inner'
|
||||
);
|
||||
if (menuVerticalHead && menuVerticalInner) {
|
||||
menuVerticalHead.addEventListener('click', () => {
|
||||
menuVerticalHead.classList.toggle('is-active');
|
||||
menuVerticalInner.classList.toggle('is-active');
|
||||
});
|
||||
}
|
||||
};
|
||||
13
frontend/src/scripts/modal.js
Normal file
13
frontend/src/scripts/modal.js
Normal file
@@ -0,0 +1,13 @@
|
||||
export const initModal = () => {
|
||||
const modalCloses = document.querySelectorAll('.modal__close');
|
||||
|
||||
if (modalCloses.length) {
|
||||
modalCloses.forEach(function (modalClose) {
|
||||
modalClose.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
const modal = this.closest('.modal-overlay');
|
||||
modal.style.display = 'none';
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
10
frontend/src/scripts/search-form.js
Normal file
10
frontend/src/scripts/search-form.js
Normal file
@@ -0,0 +1,10 @@
|
||||
export const initSearchForm = () => {
|
||||
const searchFormInput = document.querySelector('.search-form__input');
|
||||
const searchFormClearButton = document.querySelector('.search-form__clear');
|
||||
|
||||
if (searchFormInput && searchFormClearButton) {
|
||||
searchFormClearButton.addEventListener('click', () => {
|
||||
searchFormInput.value = '';
|
||||
});
|
||||
}
|
||||
};
|
||||
24
frontend/src/scripts/select.js
Normal file
24
frontend/src/scripts/select.js
Normal file
@@ -0,0 +1,24 @@
|
||||
import SlimSelect from 'slim-select';
|
||||
import 'slim-select/styles';
|
||||
|
||||
export const initSelect = () => {
|
||||
const settings = {
|
||||
showSearch: false,
|
||||
hideSelected: true,
|
||||
};
|
||||
|
||||
new SlimSelect({
|
||||
select: '#selectSort',
|
||||
settings,
|
||||
});
|
||||
|
||||
new SlimSelect({
|
||||
select: '#selectDate',
|
||||
settings,
|
||||
});
|
||||
|
||||
new SlimSelect({
|
||||
select: '#selectCategory',
|
||||
settings,
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user