| @ -0,0 +1 @@ | ||||
| /node_modules | ||||
| @ -1,41 +0,0 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<meta charset="utf-8"> | ||||
| 	<title>FumoCraft</title> | ||||
| 	<link rel="stylesheet" href="style.css"> | ||||
| </head> | ||||
| 
 | ||||
| <body translate="no"> | ||||
| 	<div id="header"> | ||||
| 	 <div class="logo1"> | ||||
| 	   <img src="p/logo1.png" width="702" height="84" /> | ||||
| 	 </div> | ||||
| 	</div> | ||||
| <!--//- Menu--> | ||||
| 	<div class="mc-menu"> | ||||
| 		<div class="mc-button full"> | ||||
| 			<div class="title">Singleplayer</div> | ||||
| 		</div> | ||||
| 		<div class="mc-button full"> | ||||
| 			<div class="title">Multiplayer</div> | ||||
| 		</div> | ||||
| 		<div class="mc-button full"> | ||||
| 			<div class="title">Minecraft Realms</div> | ||||
| 		</div> | ||||
| 		<div class="double"> | ||||
| 			<div class="mc-button full"> | ||||
| 				<div class="title">Options</div> | ||||
| 			</div> | ||||
| 			<div class="mc-button full"> | ||||
| 				<div class="title">Quit Game</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		<div class="mc-button full lang"> | ||||
| 			<a href="https://craft.cirnovarenie.com/map/"> | ||||
| 			<div class="title"><img src="p/lang.png" alt=" Lang"></div> | ||||
| 			<!--	<div class="title"><img src="https://i.ibb.co/99187Lk/lang.png" alt=" Lang"></div> --> | ||||
| 			</a> | ||||
| 		</div> | ||||
| 	</div> | ||||
| </body> | ||||
| @ -0,0 +1,349 @@ | ||||
| /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ | ||||
| 
 | ||||
| /* Document | ||||
|    ========================================================================== */ | ||||
| 
 | ||||
| /** | ||||
|  * 1. Correct the line height in all browsers. | ||||
|  * 2. Prevent adjustments of font size after orientation changes in iOS. | ||||
|  */ | ||||
| 
 | ||||
| html { | ||||
|     line-height: 1.15; /* 1 */ | ||||
|     -webkit-text-size-adjust: 100%; /* 2 */ | ||||
| } | ||||
| 
 | ||||
| /* Sections | ||||
|    ========================================================================== */ | ||||
| 
 | ||||
| /** | ||||
|  * Remove the margin in all browsers. | ||||
|  */ | ||||
| 
 | ||||
| body { | ||||
|     margin: 0; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Render the `main` element consistently in IE. | ||||
|  */ | ||||
| 
 | ||||
| main { | ||||
|     display: block; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Correct the font size and margin on `h1` elements within `section` and | ||||
|  * `article` contexts in Chrome, Firefox, and Safari. | ||||
|  */ | ||||
| 
 | ||||
| h1 { | ||||
|     font-size: 2em; | ||||
|     margin: 0.67em 0; | ||||
| } | ||||
| 
 | ||||
| /* Grouping content | ||||
|    ========================================================================== */ | ||||
| 
 | ||||
| /** | ||||
|  * 1. Add the correct box sizing in Firefox. | ||||
|  * 2. Show the overflow in Edge and IE. | ||||
|  */ | ||||
| 
 | ||||
| hr { | ||||
|     box-sizing: content-box; /* 1 */ | ||||
|     height: 0; /* 1 */ | ||||
|     overflow: visible; /* 2 */ | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 1. Correct the inheritance and scaling of font size in all browsers. | ||||
|  * 2. Correct the odd `em` font sizing in all browsers. | ||||
|  */ | ||||
| 
 | ||||
| pre { | ||||
|     font-family: monospace, monospace; /* 1 */ | ||||
|     font-size: 1em; /* 2 */ | ||||
| } | ||||
| 
 | ||||
| /* Text-level semantics | ||||
|    ========================================================================== */ | ||||
| 
 | ||||
| /** | ||||
|  * Remove the gray background on active links in IE 10. | ||||
|  */ | ||||
| 
 | ||||
| a { | ||||
|     background-color: transparent; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 1. Remove the bottom border in Chrome 57- | ||||
|  * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. | ||||
|  */ | ||||
| 
 | ||||
| abbr[title] { | ||||
|     border-bottom: none; /* 1 */ | ||||
|     text-decoration: underline; /* 2 */ | ||||
|     text-decoration: underline dotted; /* 2 */ | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Add the correct font weight in Chrome, Edge, and Safari. | ||||
|  */ | ||||
| 
 | ||||
| b, | ||||
| strong { | ||||
|     font-weight: bolder; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 1. Correct the inheritance and scaling of font size in all browsers. | ||||
|  * 2. Correct the odd `em` font sizing in all browsers. | ||||
|  */ | ||||
| 
 | ||||
| code, | ||||
| kbd, | ||||
| samp { | ||||
|     font-family: monospace, monospace; /* 1 */ | ||||
|     font-size: 1em; /* 2 */ | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Add the correct font size in all browsers. | ||||
|  */ | ||||
| 
 | ||||
| small { | ||||
|     font-size: 80%; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Prevent `sub` and `sup` elements from affecting the line height in | ||||
|  * all browsers. | ||||
|  */ | ||||
| 
 | ||||
| sub, | ||||
| sup { | ||||
|     font-size: 75%; | ||||
|     line-height: 0; | ||||
|     position: relative; | ||||
|     vertical-align: baseline; | ||||
| } | ||||
| 
 | ||||
| sub { | ||||
|     bottom: -0.25em; | ||||
| } | ||||
| 
 | ||||
| sup { | ||||
|     top: -0.5em; | ||||
| } | ||||
| 
 | ||||
| /* Embedded content | ||||
|    ========================================================================== */ | ||||
| 
 | ||||
| /** | ||||
|  * Remove the border on img inside links in IE 10. | ||||
|  */ | ||||
| 
 | ||||
| img { | ||||
|     border-style: none; | ||||
| } | ||||
| 
 | ||||
| /* Forms | ||||
|    ========================================================================== */ | ||||
| 
 | ||||
| /** | ||||
|  * 1. Change the font styles in all browsers. | ||||
|  * 2. Remove the margin in Firefox and Safari. | ||||
|  */ | ||||
| 
 | ||||
| button, | ||||
| input, | ||||
| optgroup, | ||||
| select, | ||||
| textarea { | ||||
|     font-family: inherit; /* 1 */ | ||||
|     font-size: 100%; /* 1 */ | ||||
|     line-height: 1.15; /* 1 */ | ||||
|     margin: 0; /* 2 */ | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Show the overflow in IE. | ||||
|  * 1. Show the overflow in Edge. | ||||
|  */ | ||||
| 
 | ||||
| button, | ||||
| input { /* 1 */ | ||||
|     overflow: visible; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Remove the inheritance of text transform in Edge, Firefox, and IE. | ||||
|  * 1. Remove the inheritance of text transform in Firefox. | ||||
|  */ | ||||
| 
 | ||||
| button, | ||||
| select { /* 1 */ | ||||
|     text-transform: none; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Correct the inability to style clickable types in iOS and Safari. | ||||
|  */ | ||||
| 
 | ||||
| button, | ||||
| [type="button"], | ||||
| [type="reset"], | ||||
| [type="submit"] { | ||||
|     -webkit-appearance: button; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Remove the inner border and padding in Firefox. | ||||
|  */ | ||||
| 
 | ||||
| button::-moz-focus-inner, | ||||
| [type="button"]::-moz-focus-inner, | ||||
| [type="reset"]::-moz-focus-inner, | ||||
| [type="submit"]::-moz-focus-inner { | ||||
|     border-style: none; | ||||
|     padding: 0; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Restore the focus styles unset by the previous rule. | ||||
|  */ | ||||
| 
 | ||||
| button:-moz-focusring, | ||||
| [type="button"]:-moz-focusring, | ||||
| [type="reset"]:-moz-focusring, | ||||
| [type="submit"]:-moz-focusring { | ||||
|     outline: 1px dotted ButtonText; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Correct the padding in Firefox. | ||||
|  */ | ||||
| 
 | ||||
| fieldset { | ||||
|     padding: 0.35em 0.75em 0.625em; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 1. Correct the text wrapping in Edge and IE. | ||||
|  * 2. Correct the color inheritance from `fieldset` elements in IE. | ||||
|  * 3. Remove the padding so developers are not caught out when they zero out | ||||
|  *    `fieldset` elements in all browsers. | ||||
|  */ | ||||
| 
 | ||||
| legend { | ||||
|     box-sizing: border-box; /* 1 */ | ||||
|     color: inherit; /* 2 */ | ||||
|     display: table; /* 1 */ | ||||
|     max-width: 100%; /* 1 */ | ||||
|     padding: 0; /* 3 */ | ||||
|     white-space: normal; /* 1 */ | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Add the correct vertical alignment in Chrome, Firefox, and Opera. | ||||
|  */ | ||||
| 
 | ||||
| progress { | ||||
|     vertical-align: baseline; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Remove the default vertical scrollbar in IE 10+. | ||||
|  */ | ||||
| 
 | ||||
| textarea { | ||||
|     overflow: auto; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 1. Add the correct box sizing in IE 10. | ||||
|  * 2. Remove the padding in IE 10. | ||||
|  */ | ||||
| 
 | ||||
| [type="checkbox"], | ||||
| [type="radio"] { | ||||
|     box-sizing: border-box; /* 1 */ | ||||
|     padding: 0; /* 2 */ | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Correct the cursor style of increment and decrement buttons in Chrome. | ||||
|  */ | ||||
| 
 | ||||
| [type="number"]::-webkit-inner-spin-button, | ||||
| [type="number"]::-webkit-outer-spin-button { | ||||
|     height: auto; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 1. Correct the odd appearance in Chrome and Safari. | ||||
|  * 2. Correct the outline style in Safari. | ||||
|  */ | ||||
| 
 | ||||
| [type="search"] { | ||||
|     -webkit-appearance: textfield; /* 1 */ | ||||
|     outline-offset: -2px; /* 2 */ | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Remove the inner padding in Chrome and Safari on macOS. | ||||
|  */ | ||||
| 
 | ||||
| [type="search"]::-webkit-search-decoration { | ||||
|     -webkit-appearance: none; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 1. Correct the inability to style clickable types in iOS and Safari. | ||||
|  * 2. Change font properties to `inherit` in Safari. | ||||
|  */ | ||||
| 
 | ||||
| ::-webkit-file-upload-button { | ||||
|     -webkit-appearance: button; /* 1 */ | ||||
|     font: inherit; /* 2 */ | ||||
| } | ||||
| 
 | ||||
| /* Interactive | ||||
|    ========================================================================== */ | ||||
| 
 | ||||
| /* | ||||
|  * Add the correct display in Edge, IE 10+, and Firefox. | ||||
|  */ | ||||
| 
 | ||||
| details { | ||||
|     display: block; | ||||
| } | ||||
| 
 | ||||
| /* | ||||
|  * Add the correct display in all browsers. | ||||
|  */ | ||||
| 
 | ||||
| summary { | ||||
|     display: list-item; | ||||
| } | ||||
| 
 | ||||
| /* Misc | ||||
|    ========================================================================== */ | ||||
| 
 | ||||
| /** | ||||
|  * Add the correct display in IE 10+. | ||||
|  */ | ||||
| 
 | ||||
| template { | ||||
|     display: none; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Add the correct display in IE 10. | ||||
|  */ | ||||
| 
 | ||||
| [hidden] { | ||||
|     display: none; | ||||
| } | ||||
| @ -0,0 +1 @@ | ||||
| @import url(normalize.css); | ||||
| Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.2 MiB | 
| Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB | 
| Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B | 
| Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB | 
| After Width: | Height: | Size: 1.7 KiB | 
| @ -0,0 +1,59 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <title>FumoCraft</title> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"/> | ||||
| </head> | ||||
| 
 | ||||
| <body translate="no"> | ||||
| <div class="page"> | ||||
|     <header class="header" id="header"> | ||||
|         <div class="logo"> | ||||
|             <img class="logo__img" src="img/logo.png"/> | ||||
|         </div> | ||||
|     </header> | ||||
|     <nav class="menu"> | ||||
|         <a class="button full"> | ||||
|             <button id="menuSinglePlayer" datatype="popupSinglePlayer" class="title">Singleplayer</button> | ||||
|         </a> | ||||
|         <a class="button full"> | ||||
|             <button class="title">Multiplayer</button> | ||||
|         </a> | ||||
|         <a class="button full"> | ||||
|             <button class="title">Minecraft Realms</button> | ||||
|         </a> | ||||
|         <div class="menu__wrapper"> | ||||
|             <a class="button full lang" href="https://craft.cirnovarenie.com/map/"> | ||||
|                 <div class=" title"><img src="img/lang.png" alt=" Lang"></div> | ||||
|             </a> | ||||
|             <a class="button full"> | ||||
|                 <button class="title">Options</button> | ||||
|             </a> | ||||
|             <a class="button full"> | ||||
|                 <button class="title">Quit Game</button> | ||||
|             </a> | ||||
|         </div> | ||||
|     </nav> | ||||
|     <div class="overlay hidden"> | ||||
|             <div class="popup hidden" id="popupSinglePlayer"> | ||||
|                 <div class="popup-inner"> | ||||
|                     <div class="popup__content"> | ||||
|                         <div class="popup__background_dirt"></div> | ||||
|                         <div class = "popup__text">singleplayersingleplayersingleplay ersingleplayers ingleplayersingleplayersingleplayersing leplayersingleplayersi ngleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersin gleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayersingleplayer</div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <button class="popup__close"></button> | ||||
|             </div> | ||||
|         <!--    <div class="popup" id="multiplayer">--> | ||||
|         <!--        multiplayer--> | ||||
|         <!--    </div>--> | ||||
|         <!--    <div class="popup" id="realms">--> | ||||
|         <!--        realms--> | ||||
|         <!--    </div>--> | ||||
|         <!--    <div class="popup" id="options">--> | ||||
|         <!--        options--> | ||||
|         <!--    </div>--> | ||||
|     </div> | ||||
| </div> | ||||
| </body> | ||||
| @ -0,0 +1,55 @@ | ||||
| import './style.css'; | ||||
| import './blocks/normalize.css'; | ||||
| 
 | ||||
| const closePopupButtonSelector = '.popup__close'; | ||||
| const overlayPopupSelector = '.overlay'; | ||||
| 
 | ||||
| const popupIDs = { | ||||
|   singleplayer: '#popupSinglePlayer', | ||||
|   multiplayer: '#multiplayer', | ||||
|   realms: '#realms', | ||||
|   options: '#options' | ||||
| } | ||||
| 
 | ||||
| const buttonsIDs = { | ||||
|   singleplayer: '#menuSinglePlayer', | ||||
|   multiplayer: '#multiplayer', | ||||
|   realms: '#realms', | ||||
|   options: '#options' | ||||
| } | ||||
| 
 | ||||
| document.addEventListener("DOMContentLoaded", () => { | ||||
|   setCloseClickListiner(popupIDs, clickCloseHandler) | ||||
|   setClickListiner(buttonsIDs, clickShowHandler) | ||||
| }); | ||||
| 
 | ||||
| function setClickListiner(ids, func) { | ||||
|   for (const id in ids) { | ||||
|     document.querySelector(ids[id])?.addEventListener('click', func) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| function setCloseClickListiner(ids, func) { | ||||
|   for (const id in ids) { | ||||
|     document.querySelector(`${ids[id]} ${closePopupButtonSelector}`)?.addEventListener('click', func) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| function clickCloseHandler(event) { | ||||
|   const {target} = event | ||||
|   const popupContainer = target.parentElement | ||||
|   const overlay = document.querySelector(overlayPopupSelector) | ||||
| 
 | ||||
|   popupContainer.classList.toggle('hidden') | ||||
|   overlay.classList.toggle('hidden') | ||||
| } | ||||
| 
 | ||||
| function clickShowHandler(event) { | ||||
|   const {target} = event | ||||
|   const popupId = target.attributes.datatype.value | ||||
|   const popupContainer = document.querySelector(`#${popupId}`) | ||||
|   const overlay = document.querySelector(overlayPopupSelector) | ||||
| 
 | ||||
|   popupContainer.classList.toggle('hidden') | ||||
|   overlay.classList.toggle('hidden') | ||||
| } | ||||
| @ -0,0 +1,50 @@ | ||||
| const path = require('path') | ||||
| const HtmlWebpackPlugin = require('html-webpack-plugin') // Импортируем плагин
 | ||||
| const MiniCssExtractPlugin = require('mini-css-extract-plugin') | ||||
| const {CleanWebpackPlugin} = require('clean-webpack-plugin') | ||||
| 
 | ||||
| module.exports = { | ||||
|   mode: 'development', // Режим сборки ('development' или 'production')
 | ||||
|   entry: './src/index.js', // Точка входа (исходный файл)
 | ||||
|   output: { | ||||
|     path: path.resolve(__dirname, 'dist'), // Папка для собранных файлов
 | ||||
|     filename: 'bundle.js', // Имя собранного файла,
 | ||||
|     clean: true | ||||
|   }, | ||||
|   devServer: { | ||||
|     compress: true, | ||||
|     port: 8081, | ||||
|     open: true | ||||
|   }, | ||||
|   module: { | ||||
|     rules: [ | ||||
|       { | ||||
|         // регулярное выражение, которое ищет все файлы с такими расширениями
 | ||||
|         test: /\.(png|svg|jpg|gif|woff(2)?|eot|ttf|otf)$/, | ||||
|         type: 'asset/resource' | ||||
|       }, | ||||
|       { | ||||
|         // применять это правило только к CSS-файлам
 | ||||
|         test: /\.css$/, | ||||
|         // при обработке этих файлов нужно использовать
 | ||||
|         // MiniCssExtractPlugin.loader и css-loader
 | ||||
|         use: [MiniCssExtractPlugin.loader, { | ||||
|           loader: 'css-loader' | ||||
|         }] | ||||
|       }, | ||||
|       { | ||||
|         test: /\.html$/, | ||||
|         loader: 'html-loader' | ||||
|       } | ||||
|     ] | ||||
|   }, | ||||
|   plugins: [ | ||||
|     new HtmlWebpackPlugin({ | ||||
|       template: './src/index.html' // Путь к шаблону HTML
 | ||||
|     }), | ||||
|     new MiniCssExtractPlugin({ | ||||
|       filename: '[name].css' // Настройка имени выходного файла CSS
 | ||||
|     }), | ||||
|     new CleanWebpackPlugin() | ||||
|   ] | ||||
| } | ||||