lab 3 start

This commit is contained in:
ekallin 2023-10-26 23:47:49 +04:00
parent bd21a0fd80
commit 374188f39b
87 changed files with 4797 additions and 10 deletions

132
.gitignore vendored
View File

@ -1,3 +1,135 @@
# ---> Node
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
# ---> VisualStudioCode
.vscode/*
!.vscode/settings.json

8
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,8 @@
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": [
"javascript"
]
}

113
index.html Normal file
View File

@ -0,0 +1,113 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="module" src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<link href="./node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" />
<link href="./node_modules/bootstrap-icons/font/bootstrap-icons.min.css" rel="stylesheet" />
<link rel="stylesheet" href="./static/css/base.css">
<link rel="stylesheet" href="./static/css/index.css">
<title>LiveCinema</title>
</head>
<body class="d-flex flex-column">
<header class="sticky-top">
<nav class="navbar navbar-expand-lg navbar-dark">
<div class="container-fluid">
<a class="navbar-brand d-flex align-items-center">
<img src="./static/img/logo_livecinema.png"
class="d-inline-block align-text-top me-4 d-none d-sm-block">
LiveCinema
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" href="index.html">Главная</a>
</li>
<li class="nav-item">
<a class="nav-link" href="katalog.html">Каталог</a>
</li>
<li class="nav-item">
<a class="nav-link" href="logIn.html">Регистрация</a>
</li>
<li class="nav-item">
<a class="nav-link" href="into.html">Вход</a>
</li>
<li class="nav-item">
<a class="nav-link" href="subscribe.html">Подписка</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="flex-fill d-flex">
<div class="page flex-fill d-flex flex-column" id="main-page">
<div class="row flex-fill">
<div class="col d-none d-md-flex flex-column justify-content-around align-items-center">
<img src="./static/img/frame1.jpg" class="w-75 img-fluid rounded-5">
<img src="./static/img/frame2.webp" class="w-75 img-fluid rounded-5">
</div>
<div class="promo-text-block col d-flex flex-column justify-content-around align-content-center">
<span class="text-center promo-top">
Кино месяца
</span>
<span class="text-center promo-middle">
Barbie
</span>
<span class="text-center promo-bottom">
Марго&nbsp;Роби и Райан&nbsp;Гослинг
</span>
</div>
<div class="col d-none d-md-flex flex-column justify-content-around align-items-center">
<img src="./static/img/frame3.jpg" class="w-75 img-fluid rounded-5">
<img src="./static/img/frame4.jpg" class="w-75 img-fluid rounded-5">
</div>
</div>
<div id="carouselExample" class="carousel slide d-block d-md-none">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="./static/img/frame1.jpg" class="d-block w-100">
</div>
<div class="carousel-item active">
<img src="./static/img/frame2.webp" class="d-block w-100">
</div>
<div class="carousel-item active">
<img src="./static/img/frame3.jpg" class="d-block w-100">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExample"
data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExample"
data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
</div>
</main>
<!-- <footer class="container-fluid py-1">
<span>
&copy; 2023 LiveCinema Бакальская Е. Д.
</span>
</footer> -->
</body>
</html>

110
into.html Normal file
View File

@ -0,0 +1,110 @@
<html lang="ru">
<head>
<meta charset="utf-8">
<title>LiveCinema</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="module" src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css">
<link rel="./node_modules/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet" />
<link rel="stylesheet" href="./static/css/base.css">
<link rel="stylesheet" href="./static/css/into.css">
</head>
<body class="d-flex flex-column">
<header class="sticky-top">
<nav class="navbar navbar-expand-lg navbar-dark">
<div class="container-fluid">
<a class="navbar-brand d-flex align-items-center">
<img src="./static/img/logo_livecinema.png"
class="d-inline-block align-text-top me-4 d-none d-sm-block">
LiveCinema
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">Главная</a>
</li>
<li class="nav-item">
<a class="nav-link" href="katalog.html">Каталог</a>
</li>
<li class="nav-item">
<a class="nav-link" href="logIn.html">Регистрация</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="into.html">Вход</a>
</li>
<li class="nav-item">
<a class="nav-link" href="subscribe.html">Подписка</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="flex-fill d-flex" id="main-page">
<div class="container d-flex flex-column justify-content-around align-items-center">
<p class="mt-4 d-flex flex-column align-items-center align-content-center">
Имя пользователя / электронная почта
</p>
<div class="mb-2 w-50">
<input id="username" class="form-control" placeholder="Имя пользователя / Эл. Почта" type="text"
required>
</div>
<p class="d-flex flex-column align-items-center">
Пароль
</p>
<div class="mb-2 w-50">
<input id="password" class="form-control" placeholder="Пароль" type="text" required>
</div>
<div class="mt-4 h-25 d-flex flex-column justify-content-center mb-4">
<button type="button" class="btn btn-light">Войти</button>
</div>
</div>
</main>
<!-- <main class="flex-fill d-flex" id="main-page">
<div class="container d-flex flex-column justify-content-around align-items-center h-100">
<div class="h-25 d-flex flex-column align-items-center justify-content-around w-100">
<p class="row d-flex flex-column align-items-center">
Имя пользователя / электронная почта
</p>
<div class="mb-2">
<input id="username" class="form-control" placeholder="Имя пользователя / Эл. Почта" type="text"
width="200" required>
</div>
</div>
<div class="h-25 d-flex flex-column align-items-center justify-content-around">
<p class="row d-flex flex-column align-items-center">
Пароль
</p>
<div class="mb-2">
<input id="password" class="form-control" placeholder="Пароль повторно" type="text" required>
</div>
</div>
</div>
</main> -->
<!-- <footer class="footer mt-auto justify-content-start align-items-end">
2023, Live Cinema. All rights reserved.
</footer> -->
<footer class="container-fluid py-1 sticky-bottom">
<span>
&copy; 2023, Live Cinema. All rights reserved.
</span>
</footer>
</body>

144
katalog.html Normal file
View File

@ -0,0 +1,144 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="module" src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<link href="./node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" />
<link href="./node_modules/bootstrap-icons/font/bootstrap-icons.min.css" rel="stylesheet" />
<link rel="stylesheet" href="./static/css/index.css">
<link rel="stylesheet" href="./static/css/catalog.css">
<title>LiveCinema</title>
</head>
<body class="d-flex flex-column">
<header class="sticky-top">
<nav class="navbar navbar-expand-lg navbar-dark">
<div class="container-fluid">
<a class="navbar-brand d-flex align-items-center">
<img src="./static/img/logo_livecinema.png"
class="d-inline-block align-text-top me-4 d-none d-sm-block">
LiveCinema
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">Главная</a>
</li>
<li class="nav-item">
<a class="nav-link" href="katalog.html">Каталог</a>
</li>
<li class="nav-item">
<a class="nav-link" href="logIn.html">Регистрация</a>
</li>
<li class="nav-item">
<a class="nav-link" href="into.html">Вход</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="subscribe.html">Подписка</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="w-100 h-100 d-flex justify-content-center">
<div class="content d-flex flex-column justify-content-around">
<div class="categories-row d-flex flex-column flex-md-row justify-content-around mt-5">
<div class="category-card d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<img src="./static/img/img1.webp" class="rounded-3">
<span class="category-name text-center mt-2">Драма</span>
</div>
<div class="category-card d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<img src="./static/img/img2.webp" class="rounded-3">
<span class="category-name text-center mt-2">Комедия</span>
</div>
<div class="category-card d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<img src="./static/img/img3.webp" class="rounded-3">
<span class="category-name text-center mt-2">Боевик</span>
</div>
</div>
<div class="categories-row d-flex flex-column flex-md-row justify-content-around mt-0 mt-md-5">
<div class="category-card d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<img src="./static/img/img4.webp" class="rounded-3">
<span class="category-name text-center mt-2">Триллер</span>
</div>
<div class="category-card d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<img src="./static/img/img5.webp" class="rounded-3">
<span class="category-name text-center mt-2">Фантастика</span>
</div>
<div class="category-card d-flex flex-column justify-content-center align-items-center">
<img src="./static/img/img6.webp" class="rounded-3">
<span class="category-name text-center mt-2">Детектив</span>
</div>
</div>
<div class="premiers-row d-flex justify-content-center my-5">
<div id="carouselExampleCaptions" class="carousel slide w-100">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="0"
class="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="1"
aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="2"
aria-label="Slide 3"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="./static/img/img11.webp" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>После навсегда</h5>
<p>Хардин едет в Португалию, чтобы вернуть Тессу и утраченное вдохновение. Финальная
часть романтической саги</p>
</div>
</div>
<div class="carousel-item">
<img src="./static/img/img12.webp" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>Посредники</h5>
<p>Мать в компании двух мошенников ищет приемную семью для своего ребенка. Драма
режиссера «Магазинных воришек»</p>
</div>
</div>
<div class="carousel-item">
<img src="./static/img/img13.webp" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>Королевский корги</h5>
<p>Коротколапый любимец британской короны попадает в приют. Мультфильм о собачках, где
есть Елизавета II и Трамп</p>
</div>
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions"
data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions"
data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
</div>
</div>
</main>
<footer class="container-fluid py-1">
<span>
&copy; 2023 LiveCinema Бакальская Е. Д.
</span>
</footer>
</body>
</html>

111
logIn.html Normal file
View File

@ -0,0 +1,111 @@
<html lang="ru">
<head>
<meta charset="utf-8">
<title>LiveCinema</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="module" src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css">
<link rel="./node_modules/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet" />
<link rel="stylesheet" href="./static/css/base.css">
<link rel="stylesheet" href="./static/css/logIn.css">
</head>
<body class="d-flex flex-column">
<!-- <header>
<nav class="navbar">
<div class="container-fluid">
<div class="logo h-100">
<img src="./static/fotos/logotip_LC.png" alt="" height="40">
<a class="navbar-brand">LiveCinema</a>
</div>
<div class="navbar-nav d-flex flex-row w-50 justify-content-around">
<a class="nav-link" href="./index.html">Главная страница</a>
<a class="nav-link" href="./katalog.html">Каталог</a>
<a class="nav-link" href="./logIn.html">Регистрация</a>
<a class="nav-link" href="./into.html">Вход</a>
<a class="nav-link" href="./subscribe.html">Подписка</a>
</div>
</div>
</nav>
</header> -->
<header class="sticky-top">
<nav class="navbar navbar-expand-lg navbar-dark">
<div class="container-fluid">
<a class="navbar-brand d-flex align-items-center">
<img src="./static/img/logo_livecinema.png"
class="d-inline-block align-text-top me-4 d-none d-sm-block">
LiveCinema
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">Главная</a>
</li>
<li class="nav-item">
<a class="nav-link" href="katalog.html">Каталог</a>
</li>
<li class="nav-item">
<a class="nav-link" href="logIn.html">Регистрация</a>
</li>
<li class="nav-item">
<a class="nav-link" href="into.html">Вход</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="subscribe.html">Подписка</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="flex-fill d-flex" id="main-page">
<div class="container d-flex flex-column justify-content-center align-items-center">
<p class="mt-4 d-flex flex-column align-items-center">
Имя пользователя / электронная почта
</p>
<div class="mb-4 w-50">
<input id="username" class="form-control" placeholder="Имя пользователя / Эл. Почта" type="text"
required>
</div>
<p class="d-flex flex-column align-items-center">
Пароль
</p>
<div class="mb-4 w-50">
<input id="password" class="form-control" placeholder="Пароль" type="text" required>
</div>
<p class="d-flex flex-column align-items-center">
Пароль повторно
</p>
<div class="mb-4 w-50">
<input id="passwordrepeat" class="form-control" placeholder="Пароль повторно" type="text" required>
</div>
<div class="mt-4 h-25 d-flex flex-column justify-content-center mb-4">
<button type="button" class="btn btn-light">Зарегистрироваться</button>
</div>
</div>
</main>
<footer class="container-fluid py-1">
<span>
&copy; 2023, Live Cinema. All rights reserved.
</span>
</footer>
</body>
</html>

552
package-lock.json generated Normal file
View File

@ -0,0 +1,552 @@
{
"name": "int-prog",
"version": "1 .0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "int-prog",
"version": "1 .0.0",
"dependencies": {
"@fortawesome/fontawesome-free": "6.2.0",
"bootstrap": "5.2.1"
},
"devDependencies": {
"http-server": "14.1 .1 "
}
},
"node_modules/@fortawesome/fontawesome-free": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.2.0.tgz",
"integrity": "sha512-CNR7qRIfCwWHNN7FnKUniva94edPdyQzil/zCwk3v6k4R6rR2Fr8i4s3PM7n/lyfPA6Zfko9z5WDzFxG9SW1uQ==",
"hasInstallScript": true,
"engines": {
"node": ">=6"
}
},
"node_modules/@popperjs/core": {
"version": "2.11.8",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
"peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/async": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
"integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
"dependencies": {
"lodash": "^4.17.14"
}
},
"node_modules/basic-auth": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
"integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
"dev": true,
"dependencies": {
"safe-buffer": "5.1.2"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/bootstrap": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.1.tgz",
"integrity": "sha512-UQi3v2NpVPEi1n35dmRRzBJFlgvWHYwyem6yHhuT6afYF+sziEt46McRbT//kVXZ7b1YUYEVGdXEH74Nx3xzGA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/twbs"
},
{
"type": "opencollective",
"url": "https://opencollective.com/bootstrap"
}
],
"peerDependencies": {
"@popperjs/core": "^2.11.6"
}
},
"node_modules/call-bind": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
"integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.1",
"set-function-length": "^1.1.1"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"node_modules/corser": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
"integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==",
"dev": true,
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/define-data-property": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
"integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.2.1",
"gopd": "^1.0.1",
"has-property-descriptors": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
"dev": true
},
"node_modules/follow-redirects": {
"version": "1.15.3",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
"integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/get-intrinsic": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
"integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.1.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/has-property-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
"integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.2.2"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-proto": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
"integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
"dev": true,
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"dev": true,
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/hasown": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true,
"bin": {
"he": "bin/he"
}
},
"node_modules/html-encoding-sniffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
"integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
"dev": true,
"dependencies": {
"whatwg-encoding": "^2.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/http-proxy": {
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dev": true,
"dependencies": {
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
"requires-port": "^1.0.0"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/http-server": {
"version": "14.1.1",
"resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz",
"integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==",
"dev": true,
"dependencies": {
"basic-auth": "^2.0.1",
"chalk": "^4.1.2",
"corser": "^2.0.1",
"he": "^1.2.0",
"html-encoding-sniffer": "^3.0.0",
"http-proxy": "^1.18.1",
"mime": "^1.6.0",
"minimist": "^1.2.6",
"opener": "^1.5.1",
"portfinder": "^1.0.28",
"secure-compare": "3.0.1",
"union": "~0.5.0",
"url-join": "^4.0.1"
},
"bin": {
"http-server": "bin/http-server"
},
"engines": {
"node": ">=12"
}
},
"node_modules/iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dev": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true,
"bin": {
"mime": "cli.js"
},
"engines": {
"node": ">=4"
}
},
"node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/mkdirp": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"dev": true,
"dependencies": {
"minimist": "^1.2.6"
},
"bin": {
"mkdirp": "bin/cmd.js"
}
},
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
"node_modules/object-inspect": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/opener": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
"integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
"dev": true,
"bin": {
"opener": "bin/opener-bin.js"
}
},
"node_modules/portfinder": {
"version": "1.0.32",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz",
"integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==",
"dev": true,
"dependencies": {
"async": "^2.6.4",
"debug": "^3.2.7",
"mkdirp": "^0.5.6"
},
"engines": {
"node": ">= 0.12.0"
}
},
"node_modules/qs": {
"version": "6.11.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
"integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
"dev": true,
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true
},
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
"node_modules/secure-compare": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
"integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==",
"dev": true
},
"node_modules/set-function-length": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
"integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
"dev": true,
"dependencies": {
"define-data-property": "^1.1.1",
"get-intrinsic": "^1.2.1",
"gopd": "^1.0.1",
"has-property-descriptors": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2",
"object-inspect": "^1.9.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/union": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
"integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
"dev": true,
"dependencies": {
"qs": "^6.4.0"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/url-join": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
"integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
"dev": true
},
"node_modules/whatwg-encoding": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
"integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
"dev": true,
"dependencies": {
"iconv-lite": "0.6.3"
},
"engines": {
"node": ">=12"
}
}
}
}

16
package.json Normal file
View File

@ -0,0 +1,16 @@
{
"name": "int-prog",
"version": "1 .0.0",
"main": "index.html",
"scripts": {
"start": "http-server -p 3000 ./",
"test": "echo \"Error: no test specified\" && exit 1 "
},
"dependencies": {
"bootstrap": "5.2.1",
"@fortawesome/fontawesome-free": "6.2.0"
},
"devDependencies": {
"http-server": "14.1 .1 "
}
}

81
personalPage.html Normal file
View File

@ -0,0 +1,81 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="module" src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<link href="./node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" />
<link href="./node_modules/bootstrap-icons/font/bootstrap-icons.min.css" rel="stylesheet" />
<link rel="stylesheet" href="./static/css/base.css">
<link rel="stylesheet" href="./static/css/personalPage.css">
<title>LiveCinema</title>
</head>
<body>
<header class="sticky-top">
<nav class="navbar navbar-expand-lg navbar-dark">
<div class="container-fluid">
<a class="navbar-brand d-flex align-items-center">
<img src="./static/img/logo_livecinema.png"
class="d-inline-block align-text-top me-4 d-none d-sm-block">
LiveCinema
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" href="index.html">Главная</a>
</li>
<li class="nav-item">
<a class="nav-link" href="katalog.html">Каталог</a>
</li>
<li class="nav-item">
<a class="nav-link" href="logIn.html">Регистрация</a>
</li>
<li class="nav-item">
<a class="nav-link" href="into.html">Вход</a>
</li>
<li class="nav-item">
<a class="nav-link" href="subscribe.html">Подписка</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="container-fluid h-100 w-100" id="main-page">
<div class="container-fluid h-100 w-100">
<div class="container-films d-flex justify-content-center align-items-center">
<span class="text-center">
Просмотренные фильмы
</span>
</div>
<!-- ПОСМОТРИ ДОМА ОБЯЗАТЕЛЬНО MARGIG -->
<div class="viewed-row d-flex flex-row">
<img src="./static/fotos/akademy-ambrella.jpeg" class="w-50 h-50 img-fluid rounded-3">
<img src="./static/fotos/drama.jpeg" class="w-50 h-50 img-fluid rounded-3">
<img src="./static/fotos/ment-s_rub.jpeg" class="w-50 h-50 img-fluid rounded-3">
</div>
</div>
</main>
<footer class="container-fluid py-1">
<span>
&copy; 2023 LiveCinema Бакальская Е. Д.
</span>
</footer>
</body>
</html>

66
static/css/base.css Normal file
View File

@ -0,0 +1,66 @@
:root::-webkit-scrollbar {
display: none;
}
:root {
-ms-overflow-style: none;
scrollbar-width: none;
}
@font-face {
font-family: Candara;
src: url("../fonts/Candara/candara-light.ttf");
}
@font-face {
font-family: Carattere;
src: url("../fonts/Carattere/Carattere-Regular.ttf");
}
body {
height: 100vh;
}
header,
footer {
font-family: Candara;
background-image: linear-gradient(to bottom, #3C2C72, rgb(91, 79, 161));
/* background-color: #3C2C72; */
color: white;
}
.navbar-brand {
color: #ffffff;
}
.navbar-brand:hover {
color: #ffffff;
}
.navbar-brand img {
height: 40px;
}
.nav-link {
color: white;
}
.nav-link:hover {
color: rgb(255, 144, 125);
}
a {
text-decoration: none;
color: black;
}
a:hover {
cursor: pointer;
color: black;
}
footer {
background-color: #3C2C72;
color: white;
height: var(--footer-height);
}

29
static/css/catalog.css Normal file
View File

@ -0,0 +1,29 @@
main {
background-image: url('../img/bg.png');
background-color: rgba(0, 0, 0, 0.75);
background-blend-mode: multiply;
background-repeat: round;
}
.content {
width: 75%;
}
@media screen and (max-width: 576px) {
.content {
width: 100%;
}
}
.category-name {
color: white;
}
.category-card {
cursor: pointer;
transition: 0.3s;
}
.category-card:hover {
transform: scale(1.1);
}

93
static/css/index.css Normal file
View File

@ -0,0 +1,93 @@
:root::-webkit-scrollbar {
display: none;
}
:root {
-ms-overflow-style: none;
scrollbar-width: none;
}
@font-face {
font-family: Candara;
src: url("../fonts/Candara/candara-light.ttf");
}
@font-face {
font-family: Carattere;
src: url("../fonts/Carattere/Carattere-Regular.ttf");
}
* {
font-family: Candara;
}
header,
footer {
background-color: #3C2C72;
color: white;
}
.navbar-brand {
color: #ffffff;
}
.navbar-brand:hover {
color: #ffffff;
}
.navbar-brand img {
height: 40px;
}
.nav-link {
color: white;
}
.nav-link:hover {
color: rgb(251, 158, 149);
}
a {
text-decoration: none;
color: black;
}
a:hover {
cursor: pointer;
color: black;
}
#main-page {
background-image: url("../img/barbie_big.png");
background-position: center;
background-size: cover;
background-repeat: no-repeat;
background-color: rgba(0, 0, 0, 0.6);
background-blend-mode: multiply;
}
.promo-text-block {
color: white;
}
.promo-text-block .promo-top,
.promo-bottom {
font-size: 36px;
}
.promo-text-block .promo-middle {
font-family: Carattere;
font-size: 160px;
}
@media screen and (max-width: 576px) {
.promo-text-block .promo-top,
.promo-bottom {
font-size: min(10vw, 36px);
}
.promo-text-block .promo-middle {
font-size: min(20vw, 160px);
}
}

30
static/css/into.css Normal file
View File

@ -0,0 +1,30 @@
main {
background-color: rgba(0, 0, 0, 0.6);
background-blend-mode: difference;
}
body {
background-color: #D8BAFF;
background-image: url("../img/logotip_LC.png");
background-position: center;
background-size: cover;
background-repeat: no-repeat;
background-blend-mode: multiply;
color: white;
}
p {
font-size: 25px;
text-align: center;
}
.btn {
width: 300px;
height: 50px;
font-size: 25px;
transition: 0.3s;
}
.btn:hover {
transform: scale(1.1);
}

40
static/css/logIn.css Normal file
View File

@ -0,0 +1,40 @@
main {
background-color: rgb(0, 0, 0);
background-image: url("../fotos/logo_light.png");
background-position: center;
background-size: cover;
background-repeat: no-repeat;
color: #ffffff;
}
.col {
opacity: 0.6;
}
p {
font-size: 25px;
text-align: center;
}
.btn {
width: 300px;
height: 50px;
font-size: 25px;
transition: 0.3s;
}
.btn:hover {
transform: scale(1.1);
}
@media screen and (max-width: 576px) {
p,
.btn {
font-size: min(10vw, 25px);
}
}
/* .promo-text-block .promo-middle {
font-size: min(20vw, 160px);
} */

View File

@ -0,0 +1,18 @@
#main-page {
background-image: url("../fotos/films.jpg");
background-color: rgba(0, 0, 0, 0.5);
background-blend-mode: multiply;
background-repeat: repeat-y;
background-position: center;
background-size: cover;
}
/*
*{
} */
.container-films {
font-size: 35px;
color: white;
}

View File

@ -2,7 +2,9 @@ main {
background-color: rgba(0, 0, 0, 0.6);
background-image: url("../fotos/films.jpg");
background-blend-mode: multiply;
background-repeat: round;
background-size: cover;
background-position: center;
background-repeat: repeat-y;
color: #ffffff;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
static/fonts/candara.ttf Normal file

Binary file not shown.

BIN
static/fotos/11.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
static/fotos/222.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
static/fotos/44.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
static/fotos/86.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
static/fotos/86.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

BIN
static/fotos/Barbie_fon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
static/fotos/drama.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
static/fotos/films.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
static/fotos/image 2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

BIN
static/fotos/image 3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

BIN
static/fotos/image 4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

BIN
static/fotos/image1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

BIN
static/fotos/logo_light.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
static/fotos/logotip_LC.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
static/fotos/scale.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

BIN
static/fotos/serials.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
static/fotos/serkan.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
static/img/11.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
static/img/222.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
static/img/86.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
static/img/Barbie-fon.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
static/img/barbie_big.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
static/img/bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 KiB

BIN
static/img/bg2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 KiB

BIN
static/img/films.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
static/img/frame1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

BIN
static/img/frame2.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

BIN
static/img/frame3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 KiB

BIN
static/img/frame4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 KiB

BIN
static/img/img1.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/img/img10.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
static/img/img11.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
static/img/img12.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
static/img/img13.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
static/img/img2.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/img/img3.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
static/img/img4.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
static/img/img5.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

BIN
static/img/img6.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

BIN
static/img/img7.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
static/img/img8.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
static/img/img9.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
static/img/logo_light.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
static/img/logotip_LC.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
static/img/pngwing.com.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
static/img/scale.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -48,34 +48,51 @@
</nav>
</header>
<main class="w-100 h-100 d-flex justify-content-center">
<main class="w-100 min-vh-100 flex-fill d-flex justify-content-center">
<div class="container d-flex flex-column justify-content-around">
<div class="img-row d-flex flex-column flex-md-row justify-content-around mt-5">
<div class="img-fluid d-flex flex-column flex-md-row justify-content-around mt-5">
<div class="col d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<div class="img-fluid d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<img src="./static/fotos/serkan.jpeg" id="img-3" class="rounded-3">
</div>
<div class="col d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<div class="img-fluid d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<img src="./static/fotos/ment-s_rub.jpeg" id="img-2" class="rounded-3">
</div>
<div class="col d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<div class="img-fluid d-flex flex-column justify-content-center align-items-center mb-4 mb-md-0">
<img src="./static/fotos/akademy-ambrella.jpeg" id="img-1" class="rounded-3">
</div>
</div>
<div class="span-row d-flex flex-column flex-md-row justify-content-around mt-0 mt-md-5">
<div class="span-row d-flex flex-column flex-md-row justify-content-around mb-4 mt-md-5">
<span class="category-name text-center mt-2">Оформи подписку</span>
</div>
<div class="img-row d-flex flex-column flex-md-row justify-content-around mt-0 mt-md-5">
<div
class="frame-button d-flex flex-row flex-md-column justify-content-center align-items-center h-25 p-0">
<div class="frame-button d-flex flex-column flex-md-row justify-content-around mb-4 mt-md-5">
<div class="button d-flex flex-row flex-md-column justify-content-center align-items-center h-25 p-0">
<button type="button" class="btn btn-light">Подписаться</button>
</div>
</div>
<!-- <button onclick="alert('Привет, мир!');">Нажми на меня!</button> -->
<!-- <div class="categories-row d-flex flex-column flex-md-row justify-content-around mt-5">
<div class="img d-flex flex-column justify-content-center align-items-center mb-5 mb-md-0">
<img src="./static/fotos/serkan.jpeg" id="img-1" class="rounded-3">

View File

@ -0,0 +1,35 @@
module.exports = {
"env": {
"browser": true,
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended"
],
"overrides": [
{
"env": {
"node": true
},
"files": [
".eslintrc.{js,cjs}"
],
"parserOptions": {
"sourceType": "script"
}
}
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"react"
],
"rules": {
}
}

View File

@ -0,0 +1,18 @@
{
"env": {
"browser": true,
"commonjs": true,
"es2021": true
},
"extends": "airbnb-base",
"parserOptions": {
"ecmaVersion": "latest"
},
"rules": {
"no-console": "off",
"quotes": [
"error",
"double"
]
}
}

View File

@ -0,0 +1,9 @@
const name = 'James'
const person = { first: name }
console.log(person)
const sayHelloLinting = (fName) => {
console.log('hello linting, ${fName}');
};

3144
vscode-eslint-example/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,19 @@
{
"name": "vscode-eslint-example",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^6.9.0",
"@typescript-eslint/parser": "^6.9.0",
"eslint": "^8.52.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-react": "^7.33.2"
}
}