{"id":1282,"date":"2025-09-16T14:34:23","date_gmt":"2025-09-16T11:34:23","guid":{"rendered":"https:\/\/webcademy.ru\/blog\/?p=1282"},"modified":"2025-09-16T14:40:58","modified_gmt":"2025-09-16T11:40:58","slug":"%d0%b8%d0%b7%d1%83%d1%87%d0%b0%d0%b5%d0%bc-next-js","status":"publish","type":"post","link":"https:\/\/webcademy.ru\/blog\/1282\/","title":{"rendered":"\u0418\u0437\u0443\u0447\u0430\u0435\u043c Next JS"},"content":{"rendered":"\n<p>\u0412 \u044d\u0442\u043e\u043c \u0443\u0440\u043e\u043a\u0435 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0430\u0439\u0442\u0430-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 Next.js. \u041c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0438\u0437\u0443\u0447\u0438\u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Next.js, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446. \u041d\u0430 \u043f\u0440\u043e\u0442\u044f\u0436\u0435\u043d\u0438\u0438 \u0443\u0440\u043e\u043a\u0430 \u043c\u044b \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u043b\u0438 \u0432\u0430\u0436\u043d\u044b\u0435 \u0430\u0441\u043f\u0435\u043a\u0442\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b &#171;\u041e \u043d\u0430\u0441&#187;, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430\u043c\u0438 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.<\/p>\n\n\n\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0448\u0440\u0438\u0444\u0442\u0430\u043c\u0438 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430, \u043e\u0448\u0438\u0431\u043a\u0438 404 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435). \u0412\u0430\u0436\u043d\u044b\u043c \u044d\u0442\u0430\u043f\u043e\u043c \u0441\u0442\u0430\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 API: \u043c\u044b \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 API \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 POST-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0412 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0443\u0440\u043e\u043a\u0430 \u043c\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438, \u043a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d-\u0441\u0440\u0435\u0434\u044b, \u0430 \u0437\u0430\u0442\u0435\u043c \u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Vercel, \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0434\u043e\u043c\u0435\u043d\u0430 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<p>\u0423\u0440\u043e\u043a \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u043e\u0440\u043e\u0448\u0438\u043c \u0441\u0442\u0430\u0440\u0442\u043e\u043c \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 Next.js \u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0430\u0439\u0442\u044b \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0438\u0434\u0435\u043e<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"\u0411\u044b\u0441\u0442\u0440\u044b\u0438\u0306 \u043a\u0443\u0440\u0441 \u043f\u043e Next JS \u0437\u0430 2 \u0447\u0430\u0441\u0430 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445\" width=\"730\" height=\"411\" src=\"https:\/\/www.youtube.com\/embed\/sameTQ01254?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043a \u0432\u0438\u0434\u0435\u043e<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u041a\u043e\u0434 \u043a \u0443\u0440\u043e\u043a\u0443<\/h4>\n\n\n\n<p>\ud83d\udce6 <a href=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/next-tutorial-starter-assets.zip\">\u0421\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043a \u0443\u0440\u043e\u043a\u0443<\/a><\/p>\n\n\n\n<p>\ud83d\udce6 <a href=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/next-tutorial-webcademy.ru_.zip\">\u0424\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441 \u0443\u0440\u043e\u043a\u0430<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-image size-full\"><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" width=\"201\" height=\"200\"  src=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-200-200.jpg\" alt=\"\" class=\"wp-image-1287\" srcset=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-200-200.jpg 201w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-200-200-150x150.jpg 150w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-200-200-100x100.jpg 100w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-200-200-100x100@2x.jpg 200w\" sizes=\"(max-width: 201px) 100vw, 201px\" \/><meta itemprop=\"width\" content=\"201\"><meta itemprop=\"height\" content=\"200\"><\/span><\/figure>\n\n\n\n<p><a href=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-200-200.jpg\">https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-200-200.jpg<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"200\"  src=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-400-200.jpg\" alt=\"\" class=\"wp-image-1286\" srcset=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-400-200.jpg 400w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-400-200-300x150.jpg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><meta itemprop=\"width\" content=\"400\"><meta itemprop=\"height\" content=\"200\"><\/span><\/figure>\n\n\n\n<p><a href=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-400-200.jpg\">https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2025\/09\/dodge-400-200.jpg<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\"  src=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover-1024x576.jpg\" alt=\"\u041a\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u0448\u0430\u043f\u043a\u0430 \u0441\u0430\u0438\u0306\u0442\u0430 \u0441 Swiper \u0441\u043b\u0430\u0438\u0306\u0434\u0435\u0440\u043e\u043c. HTML \u0432\u0435\u0440\u0441\u0442\u043a\u0430 \u043d\u0430 Gulp \u0441\u0431\u043e\u0440\u043a\u0435\" class=\"wp-image-1034\" srcset=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover-1024x576.jpg 1024w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover-300x169.jpg 300w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover-768x432.jpg 768w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover-1536x864.jpg 1536w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover-711x400.jpg 711w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover.jpg 1920w, https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover-711x400@2x.jpg 1422w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><meta itemprop=\"width\" content=\"1024\"><meta itemprop=\"height\" content=\"576\"><\/span><\/figure>\n\n\n\n<p><a href=\"https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover-870x400.jpg\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/webcademy.ru\/blog\/wp-content\/uploads\/2023\/07\/Travel-X-Cover-870&#215;400.jpg<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u0424\u0430\u0439\u043b <code>.editorconfig<\/code><\/h4>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;null&quot;,&quot;mime&quot;:&quot;text\/plain&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;Plain Text&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;text&quot;}\"># EditorConfig is awesome: https:\/\/EditorConfig.org\n\n# \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\nindent_style = tab\nindent_size = 4\ntrim_trailing_whitespace = true\n\n# \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 (\u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e)\n[*.md]\ntrim_trailing_whitespace = false\n<\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\u0424\u0430\u0439\u043b <code>.prettierrc<\/code><\/h4>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;javascript&quot;,&quot;mime&quot;:&quot;application\/json&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;JSON&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;json&quot;}\">{\n\t&quot;singleQuote&quot;: true,\n\t&quot;trailingComma&quot;: &quot;all&quot;,\n\t&quot;semi&quot;: true,\n\t&quot;printWidth&quot;: 80,\n\t&quot;tabWidth&quot;: 4,\n\t&quot;endOfLine&quot;: &quot;lf&quot;\n}\n<\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">CSS \u0441\u0442\u0438\u043b\u0438. \u0424\u0430\u0439\u043b <code>globals.css<\/code><\/h4>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;css&quot;,&quot;mime&quot;:&quot;text\/css&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;CSS&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;css&quot;}\">\/* =============================================\n   \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0438\u043b\u0438 (globals.css)\n   - \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u043c\u044b \u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0441\u0442\u0438\u043b\u0438\n   - \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b\n   ============================================= *\/\n\/* \u0422\u0435\u043c\u0430: \u043a\u043e\u0440\u043d\u0435\u0432\u044b\u0435 CSS\u2011\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 *\/\n:root {\n\t--bg: #070f14;\n\t--bg-2: #0b1620;\n\t--card: #0f1f2a;\n\t--text: #e6f1ff;\n\t--muted: #9fb2c7;\n\t--accent: #2fe39a;\n\t--accent-2: #38bdf8;\n\t--ring: rgba(47, 227, 154, 0.3);\n}\n\n\/* \u0411\u0430\u0437\u0430: box-sizing \u0438 \u0432\u044b\u0441\u043e\u0442\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 *\/\n* {\n\tbox-sizing: border-box;\n}\nhtml,\nbody {\n\theight: 100%;\n}\nbody {\n\tmargin: 0;\n\tbackground-color: #0e1b25;\n\n\tcolor: var(--text);\n\n\tfont: 16px\/1.6 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto,\n\t\tHelvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji';\n\toverflow-x: hidden;\n\n\tfont-family: var(--font-inter);\n}\n\n\/* \u0422\u0438\u043f\u043e\u0433\u0440\u0430\u0444\u0438\u043a\u0430: \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 *\/\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n\tcolor: #fff;\n}\n\n\/* \u0411\u043b\u043e\u043a\u0438 \u043a\u043e\u0434\u0430 *\/\ncode pre {\n\ttext-align: left;\n\twidth: max-content;\n\tmargin: 0 auto;\n\tborder-radius: 12px;\n\tbackground-color: rgba(5, 20, 30, 0.7);\n\tbackdrop-filter: blur(5px);\n\tpadding: 20px;\n\tfont-size: 14px;\n\tcolor: #16a34a;\n\tcolor: #58a0d8;\n}\n\n\/* \u041c\u0435\u0434\u0438\u0430: \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e *\/\n.image {\n\tobject-fit: cover;\n\theight: auto;\n}\n\n\/* \u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043c\u0430\u043a\u0435\u0442\u0430 *\/\n.container {\n\twidth: min(1100px, 92%);\n\tmargin: 0 auto;\n}\n\n\/* \u0424\u043e\u043d: \u0442\u043e\u043d\u043a\u0430\u044f \u0442\u043e\u0447\u0435\u0447\u043d\u0430\u044f \u0441\u0435\u0442\u043a\u0430 *\/\n.bg-grid {\n\tposition: fixed;\n\tinset: 0;\n\tpointer-events: none;\n\tz-index: -1;\n\tbackground-image: radial-gradient(\n\t\trgba(120, 200, 255, 0.2) 1px,\n\t\ttransparent 1px\n\t);\n\tbackground-size: 18px 18px;\n\tmask-image: radial-gradient(\n\t\tcircle at 50% 10%,\n\t\trgba(0, 0, 0, 0.99),\n\t\ttransparent 40%\n\t);\n}\n\n\/* \u041d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f: \u0432\u0435\u0440\u0445\u043d\u044f\u044f \u043f\u0430\u043d\u0435\u043b\u044c *\/\n.nav {\n\tposition: sticky;\n\ttop: 0;\n\tz-index: 20;\n\t\/* backdrop-filter: saturate(130%) blur(10px); *\/\n}\n\n.nav-inner {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tgap: 1rem;\n\tpadding: 14px 0;\n\tborder-bottom: 1px solid rgba(255, 255, 255, 0.05);\n}\n\n\/* \u041d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f: \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0439 \u0431\u043b\u043e\u043a \u0441\u0441\u044b\u043b\u043e\u043a *\/\n\n.navigation {\n\tposition: sticky;\n\ttop: 20px;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\tz-index: 20;\n\n\tdisplay: flex;\n\tgap: 0.6rem;\n\talign-items: center;\n\n\twidth: max-content;\n\n\tborder-radius: 999px;\n\tpadding: 10px 16px;\n\tborder: 1px solid rgba(255, 255, 255, 0.08);\n\tbackground: rgba(255, 255, 255, 0.04);\n\tcolor: var(--text);\n\n\tbackdrop-filter: saturate(130%) blur(10px);\n\n}\n\n\/* \u0421\u0441\u044b\u043b\u043a\u0438 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 *\/\n.nav-link {\n\tcolor: var(--muted);\n\ttext-decoration: none;\n\tpadding: 8px 12px;\n\tborder-radius: 999px;\n\ttransition: 150ms ease;\n}\n\n.nav-link:hover {\n\tcolor: var(--text);\n\tbackground: rgba(255, 255, 255, 0.04);\n}\n\n\/* \u041a\u043d\u043e\u043f\u043a\u0438 *\/\n.buttons-wrapper {\n\tdisplay: flex;\n\tgap: 10px;\n\tjustify-content: center;\n}\n\n.btn {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 0.5rem;\n\tfont-weight: 600;\n\ttext-decoration: none;\n\tborder-radius: 999px;\n\tpadding: 10px 16px;\n\tborder: 1px solid rgba(255, 255, 255, 0.08);\n\tcursor: pointer;\n}\n\n.btn-ghost {\n\tbackground: rgba(255, 255, 255, 0.04);\n\tcolor: var(--text);\n}\n\n.btn-ghost:hover {\n\tbackground: rgba(255, 255, 255, 0.07);\n}\n\n.btn-primary {\n\tcolor: #072617;\n\tbackground: linear-gradient(180deg, #43f3ad, #16a34a);\n\tborder: none;\n\tbox-shadow: 0 12px 30px rgba(67, 243, 173, 0.25),\n\t\tinset 0 0 0 1px rgba(255, 255, 255, 0.15);\n}\n\n.btn-primary:hover {\n\tfilter: saturate(1.1) brightness(1.02);\n\ttransform: translateY(-1px);\n}\n\n\/* \u0420\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b *\/\n.page {\n\tpadding: 48px 0 64px;\n}\n\n\/* \u0420\u0430\u0437\u0434\u0435\u043b Hero \/ \u043a\u043e\u043d\u0442\u0435\u043d\u0442 *\/\n.content {\n\ttext-align: center;\n\tpadding: 56px 0 36px;\n}\n\n.badge {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 0.4rem;\n\tborder: 1px solid rgba(255, 255, 255, 0.08);\n\tpadding: 8px 12px;\n\tborder-radius: 999px;\n\tcolor: var(--muted);\n\tbackground: rgba(10, 20, 28, 0.5);\n}\n\n.content h1 {\n\tmargin: 1em 0 0.5em;\n\tfont-size: clamp(38px, 7.5vw, 68px);\n\tline-height: 1.05;\n\tletter-spacing: -0.02em;\n}\n\n.content h2 {\n\tmargin: 1em 0 0.5em;\n\tfont-size: clamp(28px, 6.5vw, 52px);\n\tline-height: 1.05;\n\tletter-spacing: -0.02em;\n}\n\n.content &gt; h1:first-child,\n.content &gt; h2:first-child {\n\tmargin-top: 0;\n}\n\n.content p {\n\tcolor: var(--muted);\n\tmax-width: 760px;\n\tmargin: 0 auto 24px;\n}\n\n\/* \u0421\u0435\u0442\u043a\u0438 \u0438 \u0441\u043f\u0438\u0441\u043a\u0438 *\/\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, minmax(0, 1fr));\n\tgap: 12px;\n}\n\n\/* \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 *\/\n.users-list {\n\tmax-width: 600px;\n\tmargin: 0 auto;\n\ttext-align: left;\n}\n\n.users-list .item {\n\tborder-radius: 0px;\n\tborder-bottom: 0px;\n\n\tbackdrop-filter: blur(5px);\n}\n\n.users-list .item:first-child {\n\tborder-top-right-radius: 12px;\n\tborder-top-left-radius: 12px;\n}\n.users-list .item:last-child {\n\tborder-bottom-left-radius: 12px;\n\tborder-bottom-right-radius: 12px;\n}\n\n@media (min-width: 700px) {\n\t.grid {\n\t\tgrid-template-columns: repeat(2, minmax(0, 1fr));\n\t}\n}\n@media (min-width: 1000px) {\n\t.grid {\n\t\tgrid-template-columns: repeat(3, minmax(0, 1fr));\n\t}\n}\n\n\/* \u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 *\/\n.card {\n\tbackground: linear-gradient(\n\t\t180deg,\n\t\trgba(255, 255, 255, 0.06),\n\t\trgba(255, 255, 255, 0.03)\n\t);\n\tborder: 1px solid rgba(255, 255, 255, 0.08);\n\tborder-radius: 14px;\n\tpadding: 16px;\n\ttransition: 150ms ease;\n}\n\n.card:hover {\n\tborder-color: rgba(47, 227, 154, 0.35);\n\tbox-shadow: 0 10px 30px rgba(0, 0, 0, 0.35), 0 0 0 6px var(--ring);\n}\n\n.card--user-details {\n\tdisplay: grid;\n\tgrid-template-columns: 140px 1fr;\n\trow-gap: 8;\n}\n\n\/* \u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u043f\u0438\u0441\u043a\u0430\/\u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 *\/\n.item {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 1rem;\n\tpadding: 14px 16px 15px;\n\tborder-radius: 12px;\n\tbackground: rgba(255, 255, 255, 0.03);\n\tborder: 1px solid rgba(255, 255, 255, 0.07);\n\ttext-decoration: none;\n\tcolor: var(--text);\n}\n\n.item:hover {\n\tbackground: rgba(255, 255, 255, 0.05);\n\tborder-color: rgba(47, 227, 154, 0.35);\n\tborder-bottom-width: 1px;\n\tborder-bottom-style: solid;\n\tpadding-bottom: 14px;\n}\n\n.item-title {\n\tfont-weight: 600;\n}\n\n.item-sub {\n\tcolor: var(--muted);\n\tfont-size: 14px;\n}\n\n\/* \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0430 *\/\n.section-title {\n\tmargin: 36px 0 12px;\n\tfont-size: 24px;\n\tletter-spacing: 0.2px;\n\tcolor: #dbeafe;\n}\n\n\/* \u041f\u043e\u0434\u0432\u0430\u043b (footer) *\/\n.footer {\n\tpadding: 20px 0 40px;\n\tcolor: var(--muted);\n\tborder-top: 1px solid rgba(255, 255, 255, 0.06);\n\ttext-align: center;\n\tfont-size: 14px;\n}\n\n\/* \u0423\u0442\u0438\u043b\u0438\u0442\u044b *\/\n.stack {\n\tdisplay: flex;\n\tgap: 12px;\n\tjustify-content: center;\n}\n\n\/* p, *\/\n.muted {\n\tcolor: var(--muted);\n}\n\n\/* \u0421\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438 \u043e\u0431\u0451\u0440\u0442\u043a\u0438 \u0441 \u0440\u0430\u043c\u043a\u043e\u0439 *\/\n.user-page {\n\tborder: 1px solid #ffffff3c;\n\tpadding: 30px;\n}\n\n.bordered-wrapper {\n\tborder: 1px solid #ffffff3c;\n\tpadding: 30px;\n}\n\n\/* \u0418\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 *\/\n.loader-wrapper {\n\twidth: 100%;\n\theight: 200px;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.loader {\n\twidth: 48px;\n\theight: 48px;\n\tborder: 5px solid #fff;\n\tborder-bottom-color: #ff3d00;\n\tborder-radius: 50%;\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tanimation: rotation 1s linear infinite;\n}\n\n\/* \u0410\u043d\u0438\u043c\u0430\u0446\u0438\u0438 *\/\n@keyframes rotation {\n\t0% {\n\t\ttransform: rotate(0deg);\n\t}\n\t100% {\n\t\ttransform: rotate(360deg);\n\t}\n}<\/pre><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u043c \u0443\u0440\u043e\u043a\u0435 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0430\u0439\u0442\u0430-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 Next.js. \u041c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0438\u0437\u0443\u0447\u0438\u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Next.js, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446. \u041d\u0430 \u043f\u0440\u043e\u0442\u044f\u0436\u0435\u043d\u0438\u0438 \u0443\u0440\u043e\u043a\u0430 \u043c\u044b \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u043b\u0438 \u0432\u0430\u0436\u043d\u044b\u0435 \u0430\u0441\u043f\u0435\u043a\u0442\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b &#171;\u041e \u043d\u0430\u0441&#187;, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430\u043c\u0438 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1290,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[54,55],"class_list":["post-1282","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-react-js","tag-next-js","tag-react-js"],"_links":{"self":[{"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/posts\/1282"}],"collection":[{"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/comments?post=1282"}],"version-history":[{"count":10,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/posts\/1282\/revisions"}],"predecessor-version":[{"id":1300,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/posts\/1282\/revisions\/1300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/media\/1290"}],"wp:attachment":[{"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/media?parent=1282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/categories?post=1282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/tags?post=1282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}