diff --git a/frontend/src/resources/landing/fonts/GolosText-Bold.ttf b/frontend/src/resources/landing/fonts/GolosText-Bold.ttf new file mode 100644 index 00000000..3a41f9b5 Binary files /dev/null and b/frontend/src/resources/landing/fonts/GolosText-Bold.ttf differ diff --git a/frontend/src/resources/landing/fonts/GolosText-DemiBold.ttf b/frontend/src/resources/landing/fonts/GolosText-DemiBold.ttf new file mode 100644 index 00000000..5514593b Binary files /dev/null and b/frontend/src/resources/landing/fonts/GolosText-DemiBold.ttf differ diff --git a/frontend/src/resources/landing/fonts/GolosText-Medium.ttf b/frontend/src/resources/landing/fonts/GolosText-Medium.ttf new file mode 100644 index 00000000..bb2c29b4 Binary files /dev/null and b/frontend/src/resources/landing/fonts/GolosText-Medium.ttf differ diff --git a/frontend/src/resources/landing/fonts/GolosText-Regular.ttf b/frontend/src/resources/landing/fonts/GolosText-Regular.ttf new file mode 100644 index 00000000..7e0f0e5b Binary files /dev/null and b/frontend/src/resources/landing/fonts/GolosText-Regular.ttf differ diff --git a/frontend/src/resources/landing/fonts/Inter-Bold.otf b/frontend/src/resources/landing/fonts/Inter-Bold.otf new file mode 100644 index 00000000..c74cc0c6 Binary files /dev/null and b/frontend/src/resources/landing/fonts/Inter-Bold.otf differ diff --git a/frontend/src/resources/landing/fonts/Inter-Light.otf b/frontend/src/resources/landing/fonts/Inter-Light.otf new file mode 100644 index 00000000..2a83ae16 Binary files /dev/null and b/frontend/src/resources/landing/fonts/Inter-Light.otf differ diff --git a/frontend/src/resources/landing/fonts/Inter-Medium.otf b/frontend/src/resources/landing/fonts/Inter-Medium.otf new file mode 100644 index 00000000..ca7bfcd4 Binary files /dev/null and b/frontend/src/resources/landing/fonts/Inter-Medium.otf differ diff --git a/frontend/src/resources/landing/fonts/Inter-Regular.otf b/frontend/src/resources/landing/fonts/Inter-Regular.otf new file mode 100644 index 00000000..84e6a61c Binary files /dev/null and b/frontend/src/resources/landing/fonts/Inter-Regular.otf differ diff --git a/frontend/src/resources/landing/fonts/Inter-SemiBold.otf b/frontend/src/resources/landing/fonts/Inter-SemiBold.otf new file mode 100644 index 00000000..daf4c441 Binary files /dev/null and b/frontend/src/resources/landing/fonts/Inter-SemiBold.otf differ diff --git a/frontend/src/resources/landing/fonts/Inter-Thin.otf b/frontend/src/resources/landing/fonts/Inter-Thin.otf new file mode 100644 index 00000000..22592e04 Binary files /dev/null and b/frontend/src/resources/landing/fonts/Inter-Thin.otf differ diff --git a/frontend/src/resources/landing/home.css b/frontend/src/resources/landing/home.css new file mode 100644 index 00000000..fbe1af8a --- /dev/null +++ b/frontend/src/resources/landing/home.css @@ -0,0 +1,548 @@ +@font-face { + font-family: 'InterL'; + src: url('fonts/Inter-Light.otf'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'Inter'; + src: url('fonts/Inter-Regular.otf'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'InterM'; + src: url('fonts/Inter-Medium.otf'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'InterSB'; + src: url('fonts/Inter-SemiBold.otf'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'InterB'; + src: url('fonts/Inter-Bold.otf'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: 'Golos'; + src: url('fonts/GolosText-Regular.ttf'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: 'GolosM'; + src: url('fonts/GolosText-Medium.ttf'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'GolosDB'; + src: url('fonts/GolosText-DemiBold.ttf'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'GolosB'; + src: url('fonts/GolosText-Bold.ttf'); + font-weight: 400; + font-style: normal; +} + +:root { + --white: #ffffff; + --black: #000000; + --color-text-primary: #1d1e21; + --color-text-secondary: #acacac; + --color-link: #c64e1b; + --color-link-hover: #fa773f; + --color-form: #3f434b; + --color-bg-main: #223d36; + --color-light: #868b87; + --bg-light: #fafafa; + --bg-warn: #ffdcc6; + --bg-form: #eee; + --border-light: #d2d2d2; + --bg-shadow: 0 19px 19px 0 rgba(230, 230, 230, 0.19), 0 1px 4px 0 #f3f3f3; + + --h-header: 64px; + --w-screen: 100px; + + --size-text-maintitle: 54px; + --size-text-title: 40px; + --size-text-subtitle: 32px; + --size-text-primary: 20px; + --size-text-secondary: 16px; + + --indent-huge: 72px; + --indent-big: 52px; + --indent-medium: 32px; + --indent-small: 24px; + --indent-mini: 16px; +} +body, html { + height: 100% +} + +body { + -ms-text-size-adjust: 100%; + -moz-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + + display: flex; + flex-direction: column; + padding: 0; + margin: 0; +} + +a { + color: var(--color-link); + text-decoration: none; + &:hover, + &:focus, + &:active { + color: var(--color-link-hover); + } +} + +button, a.btn { + display: flex; + justify-content: center; + align-items: center; + color: var(--white); + font-family: 'InterL'; + font-size: var(--size-text-secondary); + padding: 0 24px; + height: 50px; + border: 0; + border-radius: 4px; + background: var(--color-link); + &:hover, + &:focus, + &:active { + background: var(--color-link-hover); + cursor: pointer; + } +} + +.header { + display: flex; + flex-direction: row; + align-items: center; + font-family: 'InterSB'; + min-height: var(--h-header); + padding: 0 var(--w-screen); + border: 0; + background-color: var(--color-bg-main); + + .header-logo { + width: 62px; + height: 40px; + background: url(img/svg/mil-logo.svg) no-repeat 0 50%; + } + .header-title { + color: var(--white); + font-size: var(--size-text-secondary); + margin-left: var(--indent-mini); + } +} +:is(.ul, .fl) .header { + background-color: var(--color-text-primary); +} + +.container { + width: 100%; + max-width: 100%; + height: auto; + margin: 0; + padding: var(--h-header) 0 0; + position: absolute; + top: 0px; + left: 0; + right: 0; + bottom: 0; + border: 0; + overflow: hidden; +} + +.container-inside { + display: flex; + flex-direction: column; + height: 100%; + color: var(--color-text-primary); + font-family: 'Inter'; + padding: 0 var(--w-screen); + background-color: var(--bg-light); + overflow: auto; + + .short-text { + max-width: 60%; + } + .paragraph-left .short-text { + max-width: 80%; + } + .block-group { + display: flex; + flex-direction: row; + margin: auto; + } + .block { + font-family: 'Inter'; + min-width: 355px; + padding: 40px; + border-radius: 12px; + background-color: var(--white); + box-shadow: var(--bg-shadow); + + & > div { + max-width: 350px; + } + & + .block { + margin-left: 40px; + } + .btn { + width: auto; + margin-top: var(--indent-medium); + } + } +} +:is(.ul, .fl) .container-inside { + padding: 0; + background-color: var(--white); + + .list-group { + position: relative; + padding: 0 var(--w-screen); + + .btn { + width: max-content; + } + .title { + font-size: var(--size-text-maintitle); + font-family: 'GolosB'; + margin-bottom: var(--indent-huge); + } + .subtitle { + font-size: var(--size-text-title); + font-family: 'GolosDB'; + margin-bottom: var(--indent-big); + } + .muted { + color: var(--color-light); + } + .paragraph { + display: flex; + flex-direction: row; + + .paragraph-left { + width: 40%; + } + .paragraph-right { + width: 60%; + margin-left: 40px; + } + .text { + font-family: 'InterSB'; + font-size: var(--size-text-primary); + margin-bottom: var(--indent-mini); + + &.checklist, &.clock { + padding-top: 44px; + + &::after { + content: ""; + position: absolute; + } + &.checklist { + background: url(img/svg/checklist-32x32.svg) no-repeat 0 0; + } + &.clock { + background: url(img/svg/clock-32x32.svg) no-repeat 0 0; + } + } + } + } + .list { + margin-bottom: var(--indent-medium); + & > div { + position: relative; + padding-left: 36px; + + & + div { + margin-top: var(--indent-mini); + } + &::after { + content: ""; + position: absolute; + width: 24px; + height: 24px; + top: 0; + left: 0; + } + &.esia::after { + background: url(img/svg/esia-24x24.svg) no-repeat 0 0; + } + &.case::after { + background: url(img/svg/case-24x24.svg) no-repeat 0 0; + } + &.user::after { + background: url(img/svg/user-24x24.svg) no-repeat 0 0; + } + } + } + .section-group > div { + display: flex; + flex-direction: column; + min-height: 48px; + position: relative; + padding: 16px 16px 16px 76px; + margin-bottom: 16px; + border-radius: 4px; + background-color: var(--bg-form); + + &::before { + content: ""; + position: absolute; + left: 16px; + width: 48px; + height: 48px; + border-radius: 50px; + background-color: var(--color-bg-main); + background-repeat: no-repeat; + background-position: 50% 50%; + } + &.icon-case::before { + background-image: url(img/svg/case-wt.svg); + } + &.icon-shield::before { + background-image: url(img/svg/shield-wt.svg); + } + &.icon-clip::before { + background-image: url(img/svg/clip-wt.svg); + } + &.icon-pers::before { + background-image: url(img/svg/pers-wt.svg); + } + &.icon-building::before { + background-image: url(img/svg/building-wt.svg); + } + .muted { + margin-top: 12px; + } + .detailed { + color: var(--color-text-primary); + font-family: 'InterB'; + } + } + .pass-list { + position: relative; + display: flex; + flex-direction: row; + padding-top: 60px; + + &::before { + content: ""; + position: absolute; + width: calc(80% + 40px); + height: 4px; + top: 18px; + left: 0; + background-color: var(--color-link-hover); + } + & > div { + position: relative; + width: 20%; + + &::before { + content: ""; + position: absolute; + width: 32px; + height: 32px; + top: -60px; + left: 0; + border-radius: 2px; + border: 4px solid var(--color-link-hover); + background-color: var(--bg-light); + transform: rotate(45deg); + } + &::after { + content: ""; + position: absolute; + font-family: 'InterB'; + top: -50px; + left: 15px; + } + &:nth-child(1)::after { + content: "1"; + } + &:nth-child(2)::after { + content: "2"; + } + &:nth-child(3)::after { + content: "3"; + } + &:nth-child(4)::after { + content: "4"; + } + &:nth-child(5)::after { + content: "5"; + } + & + div { + margin-left: 40px; + } + } + } + .msg-list { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + padding: 8px; + + span { + width: 32px; + height: 32px; + padding-right: 16px; + background: url(img/svg/info-gr.svg) no-repeat 0 0; + } + } + .docs-list { + position: relative; + display: flex; + flex-direction: row; + + & > div { + position: relative; + display: flex; + flex-direction: row; + align-items: center; + width: 20%; + + a { + width: 24px; + height: 24px; + padding-right: 8px; + background: url(img/svg/download-24x24.svg) no-repeat 0 0; + } + & + div { + margin-left: 40px; + } + } + } + &.lk-what { + padding-top: var(--indent-huge); + padding-bottom: var(--indent-huge); + &::after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + opacity: 0.12; + background: url(img/svg/bg-star.svg) no-repeat calc(100% + 200px) -180px transparent; + z-index: 0; + } + & > div { + position: relative; + z-index: 1; + } + } + &.lk-access { + color: var(--white); + padding-top: var(--indent-big); + padding-bottom: var(--indent-big); + background-color: var(--color-bg-main); + } + &.lk-info { + padding-top: var(--indent-big); + padding-bottom: var(--indent-big); + } + &.lk-pass { + padding-top: var(--indent-big); + padding-bottom: var(--indent-big); + background-color: var(--bg-light); + } + &.lk-msg { + background-color: var(--border-light); + } + &.lk-docs { + flex: 1; + color: var(--white); + padding-top: var(--indent-huge); + padding-bottom: var(--indent-huge); + background-color: var(--color-text-primary); + } + } +} + +/*@media ((max-width: 780px) or ((orientation: landscape) and (max-device-width : 1024px))) {*/ +@media (max-width: 1024px) { + body { + --w-screen: 32px; + + --size-text-maintitle: 32px; + --size-text-title: 28px; + --size-text-subtitle: 24px; + + --indent-huge: 32px; + --indent-big: 24px; + --indent-medium: 24px; + --indent-small: 16px; + } + + .container-inside .short-text { + max-width: 100% !important; + } + + .container-inside .block-group { + flex-direction: column; + margin: 0; + + .block { + min-width: auto; + margin: var(--indent-huge) 0 0; + & > div { + max-width: inherit !important; + } + } + } + :is(.ul, .fl) .container-inside .list-group { + .paragraph { + flex-direction: column; + + :is(.paragraph-left, .paragraph-right) { + width: auto; + margin: 0; + } + } + &.lk-what .paragraph-right { + margin-top: var(--indent-mini); + } + } +} + +@media (max-width: 480px) { + body { + --w-screen: 16px; + + --size-text-maintitle: 28px; + --size-text-title: 24px; + --size-text-subtitle: 20px; + + --indent-huge: 24px; + --indent-big: 24px; + --indent-medium: 16px; + --indent-small: 16px; + } + :is(.ul, .fl) .container-inside .list-group { + .docs-list > div { + } + } +} diff --git a/frontend/src/resources/landing/home.html b/frontend/src/resources/landing/home.html new file mode 100644 index 00000000..78be9240 --- /dev/null +++ b/frontend/src/resources/landing/home.html @@ -0,0 +1,109 @@ + + + + + + + + + +
+ +
Официальный сайт Минобороны России mil.ru
+
+ +
+
+
+
+
Личный кабинет для ведения воинского учета в организациях
+
+
+
Кому доступен личный кабинет?
+
Организациям, за ĸоторыми заĸреплена обязанность по осуществлению воинсĸого учета в соответствии с ФЗ от 28.03.1998 No 53-ФЗ
+
+
+
Для чего нужен личный кабинет?
+
Для своевременной и оперативной передачи сведений в военĸоматы в элеĸтронном виде
+
+
+
+
+
+
+
+
Как получить доступ к Личному кабинету?
+
+
+
+
Необходимо авторизоваться
+
Потребуется подтвержденная учетная запись организации
+
Доступ предоставляется тольĸо сотрудниĸу, наделенному соответствующими полномочиями (ролью) на ведения воинсĸого учета внутри организации
+
+ Войти в Личный кабинет +
+
+
+
+
Какие виды сведений доступны для отправки?
+
+
+
+
+ Сведения о приеме на работу (увольнении), зачислении в образовательную организацию (отчислении) +
Срок передачи сведений: до 5 дней
+
+
+ Изменения сведений сотрудников, необходимых для ведения воинского учета +
Срок передачи сведений: до 5 дней
+
+
+ Сообщение о гражданах, не состоящих, но обязанных состоять на воинском учете +
Срок передачи сведений: до 3 дней
+
+
+
+
+
+
+ Ежегодное предоставление списка граждан мужского пола, подлежащих первоначальной постановке на воинский учет в год достижения ими возраста 17 лет +
Срок передачи сведений: ежегодно, в срок до 1 ноября
+
+
+ Ежегодное предоставление списка сотрудников/обучающихся в организации, подлежащих воинскому учету +
Срок передачи сведений: ежегодно, по согласованию с военкоматом
+
+
+
+
+
+
+
Как передавать сведения?
+
+
Подготовьте файл-excel с данными в соответствии с форматом
+
Убедитесь, что все данные в файле введены ĸорреĸтно
+
Войдите в личный ĸабинет организации через Госуслуги
+
Выберите необходимый вид сведения и загрузите файл
+
Следите за статусом приема
+
+
+
+
+ Если в файле будут ошибĸи, данные не будут приняты Реестром и выгрузĸу сведений придется повторить +
+
+
+
Формы документов для заполнения
+
+
Приложение №2
+
Приложение №9
+
Приложение №10
+
Приложение №11
+
Приложение №12
+
+
+
+
+ + + \ No newline at end of file diff --git a/frontend/src/resources/landing/img/svg/bg-star.svg b/frontend/src/resources/landing/img/svg/bg-star.svg new file mode 100644 index 00000000..ab3b8983 --- /dev/null +++ b/frontend/src/resources/landing/img/svg/bg-star.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/frontend/src/resources/landing/img/svg/building-wt.svg b/frontend/src/resources/landing/img/svg/building-wt.svg new file mode 100644 index 00000000..812624a2 --- /dev/null +++ b/frontend/src/resources/landing/img/svg/building-wt.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/frontend/src/resources/landing/img/svg/case-24x24.svg b/frontend/src/resources/landing/img/svg/case-24x24.svg new file mode 100644 index 00000000..b7d08dcc --- /dev/null +++ b/frontend/src/resources/landing/img/svg/case-24x24.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/resources/landing/img/svg/case-wt.svg b/frontend/src/resources/landing/img/svg/case-wt.svg new file mode 100644 index 00000000..6616d12d --- /dev/null +++ b/frontend/src/resources/landing/img/svg/case-wt.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/resources/landing/img/svg/checklist-32x32.svg b/frontend/src/resources/landing/img/svg/checklist-32x32.svg new file mode 100644 index 00000000..636c87e6 --- /dev/null +++ b/frontend/src/resources/landing/img/svg/checklist-32x32.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/resources/landing/img/svg/clip-wt.svg b/frontend/src/resources/landing/img/svg/clip-wt.svg new file mode 100644 index 00000000..92d5751e --- /dev/null +++ b/frontend/src/resources/landing/img/svg/clip-wt.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/frontend/src/resources/landing/img/svg/clock-32x32.svg b/frontend/src/resources/landing/img/svg/clock-32x32.svg new file mode 100644 index 00000000..aa8dc19c --- /dev/null +++ b/frontend/src/resources/landing/img/svg/clock-32x32.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/resources/landing/img/svg/download-24x24.svg b/frontend/src/resources/landing/img/svg/download-24x24.svg new file mode 100644 index 00000000..322085c7 --- /dev/null +++ b/frontend/src/resources/landing/img/svg/download-24x24.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/resources/landing/img/svg/esia-24x24.svg b/frontend/src/resources/landing/img/svg/esia-24x24.svg new file mode 100644 index 00000000..d67a5b47 --- /dev/null +++ b/frontend/src/resources/landing/img/svg/esia-24x24.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/resources/landing/img/svg/fl.svg b/frontend/src/resources/landing/img/svg/fl.svg new file mode 100644 index 00000000..a197b6fd --- /dev/null +++ b/frontend/src/resources/landing/img/svg/fl.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/resources/landing/img/svg/info-gr.svg b/frontend/src/resources/landing/img/svg/info-gr.svg new file mode 100644 index 00000000..66d332de --- /dev/null +++ b/frontend/src/resources/landing/img/svg/info-gr.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/resources/landing/img/svg/mil-logo.svg b/frontend/src/resources/landing/img/svg/mil-logo.svg new file mode 100644 index 00000000..9964dc8d --- /dev/null +++ b/frontend/src/resources/landing/img/svg/mil-logo.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/resources/landing/img/svg/pers-wt.svg b/frontend/src/resources/landing/img/svg/pers-wt.svg new file mode 100644 index 00000000..48590edc --- /dev/null +++ b/frontend/src/resources/landing/img/svg/pers-wt.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/resources/landing/img/svg/shield-wt.svg b/frontend/src/resources/landing/img/svg/shield-wt.svg new file mode 100644 index 00000000..68deefa5 --- /dev/null +++ b/frontend/src/resources/landing/img/svg/shield-wt.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/resources/landing/img/svg/ul.svg b/frontend/src/resources/landing/img/svg/ul.svg new file mode 100644 index 00000000..305cc02c --- /dev/null +++ b/frontend/src/resources/landing/img/svg/ul.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/frontend/src/resources/landing/img/svg/user-24x24.svg b/frontend/src/resources/landing/img/svg/user-24x24.svg new file mode 100644 index 00000000..80fe8382 --- /dev/null +++ b/frontend/src/resources/landing/img/svg/user-24x24.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/webpack.aot.config.js b/frontend/webpack.aot.config.js index 6615ed72..7e1e4798 100644 --- a/frontend/webpack.aot.config.js +++ b/frontend/webpack.aot.config.js @@ -94,7 +94,8 @@ module.exports = { {from: 'src/resources/img/progress.gif', to: 'src/resources/img/progress.gif'}, {from: 'src/resources/img/logo.png', to: 'src/resources/img/logo.png'}, {from: 'src/resources/app-config.json', to: 'src/resources/app-config.json'}, - {from: 'src/resources/app.version', to: 'src/resources/app.version'} + {from: 'src/resources/app.version', to: 'src/resources/app.version'}, + {context: "src/resources/landing/", from: '**/*'} ]), new MiniCssExtractPlugin({ filename: '[name].[hash].css',