diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..09649c6 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,14 @@ +{ + "configurations": [ + { + "type": "java", + "name": "Spring Boot-DemoApplication", + "request": "launch", + "cwd": "${workspaceFolder}", + "mainClass": "com.example.demo.DemoApplication", + "projectName": "PIbd-22_Puchkina_Internet_Programming_2", + "args": "", + "envFile": "${workspaceFolder}/.env" + } + ] +} \ No newline at end of file diff --git a/lab4-5/.gradle/8.5/executionHistory/executionHistory.bin b/lab4-5/.gradle/8.5/executionHistory/executionHistory.bin index d45f895..9206911 100644 Binary files a/lab4-5/.gradle/8.5/executionHistory/executionHistory.bin and b/lab4-5/.gradle/8.5/executionHistory/executionHistory.bin differ diff --git a/lab4-5/.gradle/8.5/executionHistory/executionHistory.lock b/lab4-5/.gradle/8.5/executionHistory/executionHistory.lock index a94c191..411b1d0 100644 Binary files a/lab4-5/.gradle/8.5/executionHistory/executionHistory.lock and b/lab4-5/.gradle/8.5/executionHistory/executionHistory.lock differ diff --git a/lab4-5/.gradle/8.5/fileHashes/fileHashes.bin b/lab4-5/.gradle/8.5/fileHashes/fileHashes.bin index c915957..24e6d0c 100644 Binary files a/lab4-5/.gradle/8.5/fileHashes/fileHashes.bin and b/lab4-5/.gradle/8.5/fileHashes/fileHashes.bin differ diff --git a/lab4-5/.gradle/8.5/fileHashes/fileHashes.lock b/lab4-5/.gradle/8.5/fileHashes/fileHashes.lock index c396f38..f44039a 100644 Binary files a/lab4-5/.gradle/8.5/fileHashes/fileHashes.lock and b/lab4-5/.gradle/8.5/fileHashes/fileHashes.lock differ diff --git a/lab4-5/.gradle/8.5/fileHashes/resourceHashesCache.bin b/lab4-5/.gradle/8.5/fileHashes/resourceHashesCache.bin index d17f963..1a39d3f 100644 Binary files a/lab4-5/.gradle/8.5/fileHashes/resourceHashesCache.bin and b/lab4-5/.gradle/8.5/fileHashes/resourceHashesCache.bin differ diff --git a/lab4-5/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/lab4-5/.gradle/buildOutputCleanup/buildOutputCleanup.lock index c58053a..efb1a6d 100644 Binary files a/lab4-5/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/lab4-5/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/lab4-5/.gradle/buildOutputCleanup/outputFiles.bin b/lab4-5/.gradle/buildOutputCleanup/outputFiles.bin index d687d5f..8f1377a 100644 Binary files a/lab4-5/.gradle/buildOutputCleanup/outputFiles.bin and b/lab4-5/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/lab4-5/.gradle/file-system.probe b/lab4-5/.gradle/file-system.probe index d9ee812..3f3c786 100644 Binary files a/lab4-5/.gradle/file-system.probe and b/lab4-5/.gradle/file-system.probe differ diff --git a/lab4-5/.vscode/launch.json b/lab4-5/.vscode/launch.json index edb9da4..f49bb16 100644 --- a/lab4-5/.vscode/launch.json +++ b/lab4-5/.vscode/launch.json @@ -9,6 +9,16 @@ "projectName": "demo", "args": "", "envFile": "${workspaceFolder}/.env" + }, + { + "type": "java", + "name": "Spring Boot-DemoApplication", + "request": "launch", + "cwd": "${workspaceFolder}", + "mainClass": "com.example.demo.DemoApplication", + "projectName": "lab4-5", + "args": "", + "envFile": "${workspaceFolder}/.env" } ] } \ No newline at end of file diff --git a/lab4-5/bin/main/public/css/style.css b/lab4-5/bin/main/public/css/style.css index 7423490..5603568 100644 --- a/lab4-5/bin/main/public/css/style.css +++ b/lab4-5/bin/main/public/css/style.css @@ -51,9 +51,9 @@ td form { } .my-footer { - background-color: #2c2c2c; + background-color: #533908; height: 32px; - color: rgba(255, 255, 255, 0.5); + color: white; } .cart-image { diff --git a/lab4-5/bin/main/templates/cart.html b/lab4-5/bin/main/templates/cart.html index e872e4c..d41938f 100644 --- a/lab4-5/bin/main/templates/cart.html +++ b/lab4-5/bin/main/templates/cart.html @@ -29,7 +29,7 @@
-
@@ -49,7 +49,7 @@
-
@@ -75,7 +75,7 @@
- + diff --git a/lab4-5/bin/main/templates/error.html b/lab4-5/bin/main/templates/error.html index faa6b0a..1cf1485 100644 --- a/lab4-5/bin/main/templates/error.html +++ b/lab4-5/bin/main/templates/error.html @@ -30,7 +30,7 @@ - На главную + На главную diff --git a/lab4-5/bin/main/templates/login.html b/lab4-5/bin/main/templates/login.html index eb3a6d7..1516e81 100644 --- a/lab4-5/bin/main/templates/login.html +++ b/lab4-5/bin/main/templates/login.html @@ -32,7 +32,7 @@
- + Регистрация
diff --git a/lab4-5/bin/main/templates/orders.html b/lab4-5/bin/main/templates/orders.html index e61d78b..9a37dd5 100644 --- a/lab4-5/bin/main/templates/orders.html +++ b/lab4-5/bin/main/templates/orders.html @@ -16,7 +16,7 @@ - + @@ -54,7 +54,7 @@ totalPages=${totalPages}, currentPage=${currentPage}) }" /> diff --git a/lab4-5/bin/main/templates/profile.html b/lab4-5/bin/main/templates/profile.html index c5dd854..2ad669d 100644 --- a/lab4-5/bin/main/templates/profile.html +++ b/lab4-5/bin/main/templates/profile.html @@ -7,50 +7,53 @@
- +
-
-
- + + +
+
+ +
+
+
    +
  • + [[${stat.typeName}]]: + [[${#numbers.formatDecimal(stat.totalPrice, 1, 2)}]] ₽ + ([[${stat.totalCount}]] шт.) +
  • +
+
+
+ +
+ + + +
+ + +
-
-
    -
  • - [[${stat.typeName}]]: - [[${#numbers.formatDecimal(stat.totalPrice, 1, 2)}]] ₽ - ([[${stat.totalCount}]] шт.) -
  • -
-
-
-
-
- - - -
- - -
-
+
diff --git a/lab4-5/bin/main/templates/signup.html b/lab4-5/bin/main/templates/signup.html index 293fcaa..b3a0c54 100644 --- a/lab4-5/bin/main/templates/signup.html +++ b/lab4-5/bin/main/templates/signup.html @@ -25,7 +25,7 @@ class="invalid-feedback">
- + Отмена
diff --git a/lab4-5/bin/main/templates/subscription-edit.html b/lab4-5/bin/main/templates/subscription-edit.html index 6d940ec..91d6ea0 100644 --- a/lab4-5/bin/main/templates/subscription-edit.html +++ b/lab4-5/bin/main/templates/subscription-edit.html @@ -19,7 +19,7 @@
- + Отмена
diff --git a/lab4-5/bin/main/templates/subscription.html b/lab4-5/bin/main/templates/subscription.html index b3123a9..1b08a97 100644 --- a/lab4-5/bin/main/templates/subscription.html +++ b/lab4-5/bin/main/templates/subscription.html @@ -12,7 +12,7 @@

Списки рассылки

- Добавить список рассылки + Добавить список рассылки
diff --git a/lab4-5/bin/main/templates/type-edit.html b/lab4-5/bin/main/templates/type-edit.html index 91f03ca..0107b58 100644 --- a/lab4-5/bin/main/templates/type-edit.html +++ b/lab4-5/bin/main/templates/type-edit.html @@ -18,7 +18,7 @@
- + Отмена
diff --git a/lab4-5/bin/main/templates/type.html b/lab4-5/bin/main/templates/type.html index ec0909e..6535bd9 100644 --- a/lab4-5/bin/main/templates/type.html +++ b/lab4-5/bin/main/templates/type.html @@ -12,7 +12,7 @@

Типы заказов

- Добавить тип заказа + Добавить тип заказа
diff --git a/lab4-5/bin/main/templates/user-edit.html b/lab4-5/bin/main/templates/user-edit.html index 659be54..f25edac 100644 --- a/lab4-5/bin/main/templates/user-edit.html +++ b/lab4-5/bin/main/templates/user-edit.html @@ -19,7 +19,7 @@
- + Отмена
diff --git a/lab4-5/bin/main/templates/user.html b/lab4-5/bin/main/templates/user.html index cce1336..4f80ae9 100644 --- a/lab4-5/bin/main/templates/user.html +++ b/lab4-5/bin/main/templates/user.html @@ -12,7 +12,7 @@

Пользователи

- Добавить пользователя + Добавить пользователя
diff --git a/lab4-5/build/classes/java/main/com/example/demo/users/api/UserProfileController.class b/lab4-5/build/classes/java/main/com/example/demo/users/api/UserProfileController.class index 5136513..100c0f6 100644 Binary files a/lab4-5/build/classes/java/main/com/example/demo/users/api/UserProfileController.class and b/lab4-5/build/classes/java/main/com/example/demo/users/api/UserProfileController.class differ diff --git a/lab4-5/build/resources/main/public/css/style.css b/lab4-5/build/resources/main/public/css/style.css index 7423490..dd5ccbd 100644 --- a/lab4-5/build/resources/main/public/css/style.css +++ b/lab4-5/build/resources/main/public/css/style.css @@ -1,18 +1,116 @@ +/* montserrat-alternates-200 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 200; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-200.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-300 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 300; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-300.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-regular - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 400; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-regular.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-500 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 500; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-500.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-600 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 600; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-600.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-700 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 700; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-700.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-800 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 800; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-800.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-900 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 900; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-900.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + html, body { + font-family: "Montserrat Alternates", sans-serif; height: 100%; } h1 { font-size: 1.5em; + color:#533908 } h2 { font-size: 1.25em; + text-align: center; + color:#533908 +} + +.my-catalog-title{ + font-size: 50px; + text-align: center; } h3 { font-size: 1.1em; + color:#533908 } td form { @@ -38,22 +136,29 @@ td form { } .my-navbar { - background-color: #3c3c3c !important; + border-bottom:#533908 solid 2px; + margin-bottom: 2em; } .my-navbar .link a:hover { + color:#533908; text-decoration: underline; } +.my-a{ + color:#533908 +} + + .my-navbar .logo { width: 26px; height: 26px; } .my-footer { - background-color: #2c2c2c; + background-color: #533908; height: 32px; - color: rgba(255, 255, 255, 0.5); + color: white; } .cart-image { @@ -64,4 +169,17 @@ td form { .cart-item { height: auto; +} + +.button-secondary{ + background-color: #533908; + border: 7px solid #533908; + color: white; + margin-top: 15px; + margin-bottom: 40px; + border-radius: 25px; +} + +.form-select{ + width: 35%; } \ No newline at end of file diff --git a/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-200.woff2 b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-200.woff2 new file mode 100644 index 0000000..2dba87d Binary files /dev/null and b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-200.woff2 differ diff --git a/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-300.woff2 b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-300.woff2 new file mode 100644 index 0000000..3d90813 Binary files /dev/null and b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-300.woff2 differ diff --git a/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-500.woff2 b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-500.woff2 new file mode 100644 index 0000000..a2230c4 Binary files /dev/null and b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-500.woff2 differ diff --git a/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-600.woff2 b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-600.woff2 new file mode 100644 index 0000000..906968b Binary files /dev/null and b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-600.woff2 differ diff --git a/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-700.woff2 b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-700.woff2 new file mode 100644 index 0000000..4831eb8 Binary files /dev/null and b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-700.woff2 differ diff --git a/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-800.woff2 b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-800.woff2 new file mode 100644 index 0000000..cf6b858 Binary files /dev/null and b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-800.woff2 differ diff --git a/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-900.woff2 b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-900.woff2 new file mode 100644 index 0000000..9908413 Binary files /dev/null and b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-900.woff2 differ diff --git a/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-regular.woff2 b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-regular.woff2 new file mode 100644 index 0000000..7864ce9 Binary files /dev/null and b/lab4-5/build/resources/main/public/fonts/montserrat-alternates-v17-cyrillic_latin-regular.woff2 differ diff --git a/lab4-5/build/resources/main/public/img/img1.jpg b/lab4-5/build/resources/main/public/img/img1.jpg new file mode 100644 index 0000000..5813ddc Binary files /dev/null and b/lab4-5/build/resources/main/public/img/img1.jpg differ diff --git a/lab4-5/build/resources/main/public/img/img2.jpg b/lab4-5/build/resources/main/public/img/img2.jpg new file mode 100644 index 0000000..28c065c Binary files /dev/null and b/lab4-5/build/resources/main/public/img/img2.jpg differ diff --git a/lab4-5/build/resources/main/public/img/img3.jpg b/lab4-5/build/resources/main/public/img/img3.jpg new file mode 100644 index 0000000..187dc25 Binary files /dev/null and b/lab4-5/build/resources/main/public/img/img3.jpg differ diff --git a/lab4-5/build/resources/main/templates/cart.html b/lab4-5/build/resources/main/templates/cart.html index e872e4c..d41938f 100644 --- a/lab4-5/build/resources/main/templates/cart.html +++ b/lab4-5/build/resources/main/templates/cart.html @@ -29,7 +29,7 @@ - @@ -49,7 +49,7 @@
- @@ -75,7 +75,7 @@
- + diff --git a/lab4-5/build/resources/main/templates/default.html b/lab4-5/build/resources/main/templates/default.html index c70ec36..9164d9a 100644 --- a/lab4-5/build/resources/main/templates/default.html +++ b/lab4-5/build/resources/main/templates/default.html @@ -1,5 +1,5 @@ - @@ -7,7 +7,7 @@ - My shop + ANNA @@ -15,11 +15,11 @@ -
- - - - - - - - - - - - - - - - - - - - - -
IDТип заказаЦенаКоличествоСумма
-
- - - -
-
+
+ + + +

Данные отсутствуют

+ +
+
+ + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
IDТип товараЦенаКоличествоСумма
+
+ + + +
+
+
+ + - - -
- +
- \ No newline at end of file diff --git a/lab4-5/build/resources/main/templates/profile.html b/lab4-5/build/resources/main/templates/profile.html index c5dd854..9e59855 100644 --- a/lab4-5/build/resources/main/templates/profile.html +++ b/lab4-5/build/resources/main/templates/profile.html @@ -7,50 +7,51 @@
- - -
-
- +

Личный кабинет

+ + +
+
+ +
+
+
    +
  • + [[${stat.typeName}]]: + [[${#numbers.formatDecimal(stat.totalPrice, 1, 2)}]] ₽ + ([[${stat.totalCount}]] шт.) +
  • +
+
+
+
+
+ + + +
+ +
+
-
-
    -
  • - [[${stat.typeName}]]: - [[${#numbers.formatDecimal(stat.totalPrice, 1, 2)}]] ₽ - ([[${stat.totalCount}]] шт.) -
  • -
-
-
-
-
- - - -
- -
-
-
diff --git a/lab4-5/build/resources/main/templates/signup.html b/lab4-5/build/resources/main/templates/signup.html index 293fcaa..b3a0c54 100644 --- a/lab4-5/build/resources/main/templates/signup.html +++ b/lab4-5/build/resources/main/templates/signup.html @@ -25,7 +25,7 @@ class="invalid-feedback">
- + Отмена
diff --git a/lab4-5/build/resources/main/templates/subscription-edit.html b/lab4-5/build/resources/main/templates/subscription-edit.html index 6d940ec..91d6ea0 100644 --- a/lab4-5/build/resources/main/templates/subscription-edit.html +++ b/lab4-5/build/resources/main/templates/subscription-edit.html @@ -19,7 +19,7 @@
- + Отмена
diff --git a/lab4-5/build/resources/main/templates/subscription.html b/lab4-5/build/resources/main/templates/subscription.html index b3123a9..5e50941 100644 --- a/lab4-5/build/resources/main/templates/subscription.html +++ b/lab4-5/build/resources/main/templates/subscription.html @@ -11,8 +11,8 @@

Данные отсутствуют

Списки рассылки

-
- Добавить список рассылки + diff --git a/lab4-5/build/resources/main/templates/type-edit.html b/lab4-5/build/resources/main/templates/type-edit.html index 91f03ca..dedd5b2 100644 --- a/lab4-5/build/resources/main/templates/type-edit.html +++ b/lab4-5/build/resources/main/templates/type-edit.html @@ -13,12 +13,12 @@
- +
- + Отмена
diff --git a/lab4-5/build/resources/main/templates/type.html b/lab4-5/build/resources/main/templates/type.html index ec0909e..c0f649c 100644 --- a/lab4-5/build/resources/main/templates/type.html +++ b/lab4-5/build/resources/main/templates/type.html @@ -2,7 +2,7 @@ - Типы заказов + Типы товаров @@ -10,16 +10,16 @@

Данные отсутствуют

-

Типы заказов

-
- + diff --git a/lab4-5/build/resources/main/templates/user-edit.html b/lab4-5/build/resources/main/templates/user-edit.html index 659be54..f25edac 100644 --- a/lab4-5/build/resources/main/templates/user-edit.html +++ b/lab4-5/build/resources/main/templates/user-edit.html @@ -19,7 +19,7 @@
- + Отмена
diff --git a/lab4-5/build/resources/main/templates/user.html b/lab4-5/build/resources/main/templates/user.html index cce1336..e384c9b 100644 --- a/lab4-5/build/resources/main/templates/user.html +++ b/lab4-5/build/resources/main/templates/user.html @@ -11,8 +11,8 @@

Данные отсутствуют

Пользователи

-
IDТип заказаТип товара
diff --git a/lab4-5/build/tmp/compileJava/previous-compilation-data.bin b/lab4-5/build/tmp/compileJava/previous-compilation-data.bin index b6cb1d7..4cfd2ad 100644 Binary files a/lab4-5/build/tmp/compileJava/previous-compilation-data.bin and b/lab4-5/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/lab4-5/data.mv.db b/lab4-5/data.mv.db index f9860f1..7c904bb 100644 Binary files a/lab4-5/data.mv.db and b/lab4-5/data.mv.db differ diff --git a/lab4-5/data.trace.db b/lab4-5/data.trace.db index 0fdffa3..62699e2 100644 --- a/lab4-5/data.trace.db +++ b/lab4-5/data.trace.db @@ -1072,3 +1072,202 @@ java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supporte at org.jkiss.dbeaver.runtime.jobs.ConnectJob.run(ConnectJob.java:77) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:115) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) +2024-06-04 23:22:22.951527+04:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) + at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1335) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1165) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:266) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:240) + at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4866) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:921) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.startup.Tomcat.start(Tomcat.java:437) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:105) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:499) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:218) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:188) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:618) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) + at com.example.demo.DemoApplication.main(DemoApplication.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 103 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 97 more +2024-06-04 23:22:24.576008+04:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) + at com.example.demo.DemoApplication.main(DemoApplication.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 66 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: D:/ip/web ANNA 2sem/PIbd-22_Puchkina_Internet_Programming_2/lab4-5/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 60 more diff --git a/lab4-5/src/main/java/com/example/demo/users/api/UserProfileController.java b/lab4-5/src/main/java/com/example/demo/users/api/UserProfileController.java index 219827a..2bdb6e1 100644 --- a/lab4-5/src/main/java/com/example/demo/users/api/UserProfileController.java +++ b/lab4-5/src/main/java/com/example/demo/users/api/UserProfileController.java @@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.mvc.support.RedirectAttributes; @@ -31,9 +32,10 @@ import com.example.demo.users.service.UserService; import jakarta.validation.Valid; @Controller +@RequestMapping(UserProfileController.URL) public class UserProfileController { + public static final String URL = "/profile"; private static final String PROFILE_VIEW = "profile"; - private static final String PAGE_ATTRIBUTE = "page"; private static final String TYPEID_ATTRIBUTE = "typeId"; private static final String PROFILE_ATTRIBUTE = "profile"; @@ -114,7 +116,7 @@ public class UserProfileController { profile.getSubscriptions().stream() .map(this::toSubscriptionWithStatus) .collect(Collectors.toSet())); - return Constants.REDIRECT_VIEW + "/"; + return Constants.REDIRECT_VIEW + URL; } @PostMapping("/delete/{id}") @@ -127,6 +129,6 @@ public class UserProfileController { redirectAttributes.addAttribute(PAGE_ATTRIBUTE, page); redirectAttributes.addAttribute(TYPEID_ATTRIBUTE, typeId); orderService.delete(principal.getId(), id); - return Constants.REDIRECT_VIEW + "/"; + return Constants.REDIRECT_VIEW + URL; } } diff --git a/lab4-5/src/main/resources/public/css/style.css b/lab4-5/src/main/resources/public/css/style.css index 7423490..dd5ccbd 100644 --- a/lab4-5/src/main/resources/public/css/style.css +++ b/lab4-5/src/main/resources/public/css/style.css @@ -1,18 +1,116 @@ +/* montserrat-alternates-200 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 200; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-200.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-300 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 300; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-300.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-regular - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 400; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-regular.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-500 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 500; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-500.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-600 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 600; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-600.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-700 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 700; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-700.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-800 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 800; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-800.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* montserrat-alternates-900 - cyrillic_latin */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: "Montserrat Alternates"; + font-style: normal; + font-weight: 900; + src: url("../fonts/montserrat-alternates-v17-cyrillic_latin-900.woff2") format("woff2"); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + html, body { + font-family: "Montserrat Alternates", sans-serif; height: 100%; } h1 { font-size: 1.5em; + color:#533908 } h2 { font-size: 1.25em; + text-align: center; + color:#533908 +} + +.my-catalog-title{ + font-size: 50px; + text-align: center; } h3 { font-size: 1.1em; + color:#533908 } td form { @@ -38,22 +136,29 @@ td form { } .my-navbar { - background-color: #3c3c3c !important; + border-bottom:#533908 solid 2px; + margin-bottom: 2em; } .my-navbar .link a:hover { + color:#533908; text-decoration: underline; } +.my-a{ + color:#533908 +} + + .my-navbar .logo { width: 26px; height: 26px; } .my-footer { - background-color: #2c2c2c; + background-color: #533908; height: 32px; - color: rgba(255, 255, 255, 0.5); + color: white; } .cart-image { @@ -64,4 +169,17 @@ td form { .cart-item { height: auto; +} + +.button-secondary{ + background-color: #533908; + border: 7px solid #533908; + color: white; + margin-top: 15px; + margin-bottom: 40px; + border-radius: 25px; +} + +.form-select{ + width: 35%; } \ No newline at end of file diff --git a/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-200.woff2 b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-200.woff2 new file mode 100644 index 0000000..2dba87d Binary files /dev/null and b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-200.woff2 differ diff --git a/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-300.woff2 b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-300.woff2 new file mode 100644 index 0000000..3d90813 Binary files /dev/null and b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-300.woff2 differ diff --git a/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-500.woff2 b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-500.woff2 new file mode 100644 index 0000000..a2230c4 Binary files /dev/null and b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-500.woff2 differ diff --git a/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-600.woff2 b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-600.woff2 new file mode 100644 index 0000000..906968b Binary files /dev/null and b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-600.woff2 differ diff --git a/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-700.woff2 b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-700.woff2 new file mode 100644 index 0000000..4831eb8 Binary files /dev/null and b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-700.woff2 differ diff --git a/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-800.woff2 b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-800.woff2 new file mode 100644 index 0000000..cf6b858 Binary files /dev/null and b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-800.woff2 differ diff --git a/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-900.woff2 b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-900.woff2 new file mode 100644 index 0000000..9908413 Binary files /dev/null and b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-900.woff2 differ diff --git a/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-regular.woff2 b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-regular.woff2 new file mode 100644 index 0000000..7864ce9 Binary files /dev/null and b/lab4-5/src/main/resources/public/fonts/montserrat-alternates-v17-cyrillic_latin-regular.woff2 differ diff --git a/lab4-5/src/main/resources/public/img/img1.jpg b/lab4-5/src/main/resources/public/img/img1.jpg new file mode 100644 index 0000000..5813ddc Binary files /dev/null and b/lab4-5/src/main/resources/public/img/img1.jpg differ diff --git a/lab4-5/src/main/resources/public/img/img2.jpg b/lab4-5/src/main/resources/public/img/img2.jpg new file mode 100644 index 0000000..28c065c Binary files /dev/null and b/lab4-5/src/main/resources/public/img/img2.jpg differ diff --git a/lab4-5/src/main/resources/public/img/img3.jpg b/lab4-5/src/main/resources/public/img/img3.jpg new file mode 100644 index 0000000..187dc25 Binary files /dev/null and b/lab4-5/src/main/resources/public/img/img3.jpg differ diff --git a/lab4-5/src/main/resources/templates/cart.html b/lab4-5/src/main/resources/templates/cart.html index e872e4c..d41938f 100644 --- a/lab4-5/src/main/resources/templates/cart.html +++ b/lab4-5/src/main/resources/templates/cart.html @@ -29,7 +29,7 @@
- @@ -49,7 +49,7 @@
- @@ -75,7 +75,7 @@
- + diff --git a/lab4-5/src/main/resources/templates/default.html b/lab4-5/src/main/resources/templates/default.html index c70ec36..9164d9a 100644 --- a/lab4-5/src/main/resources/templates/default.html +++ b/lab4-5/src/main/resources/templates/default.html @@ -1,5 +1,5 @@ - @@ -7,7 +7,7 @@ - My shop + ANNA @@ -15,11 +15,11 @@ -
- - - - - - - - - - - - - - - - - - - - - -
IDТип заказаЦенаКоличествоСумма
-
- - - -
-
+
+ + + +

Данные отсутствуют

+ +
+
+ + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
IDТип товараЦенаКоличествоСумма
+
+ + + +
+
+
+ + - - -
- +
- \ No newline at end of file diff --git a/lab4-5/src/main/resources/templates/profile.html b/lab4-5/src/main/resources/templates/profile.html index c5dd854..9e59855 100644 --- a/lab4-5/src/main/resources/templates/profile.html +++ b/lab4-5/src/main/resources/templates/profile.html @@ -7,50 +7,51 @@
- - -
-
- +

Личный кабинет

+ + +
+
+ +
+
+
    +
  • + [[${stat.typeName}]]: + [[${#numbers.formatDecimal(stat.totalPrice, 1, 2)}]] ₽ + ([[${stat.totalCount}]] шт.) +
  • +
+
+
+
+
+ + + +
+ +
+
-
-
    -
  • - [[${stat.typeName}]]: - [[${#numbers.formatDecimal(stat.totalPrice, 1, 2)}]] ₽ - ([[${stat.totalCount}]] шт.) -
  • -
-
-
-
-
- - - -
- -
-
-
diff --git a/lab4-5/src/main/resources/templates/signup.html b/lab4-5/src/main/resources/templates/signup.html index 293fcaa..b3a0c54 100644 --- a/lab4-5/src/main/resources/templates/signup.html +++ b/lab4-5/src/main/resources/templates/signup.html @@ -25,7 +25,7 @@ class="invalid-feedback">
- + Отмена
diff --git a/lab4-5/src/main/resources/templates/subscription-edit.html b/lab4-5/src/main/resources/templates/subscription-edit.html index 6d940ec..91d6ea0 100644 --- a/lab4-5/src/main/resources/templates/subscription-edit.html +++ b/lab4-5/src/main/resources/templates/subscription-edit.html @@ -19,7 +19,7 @@
- + Отмена
diff --git a/lab4-5/src/main/resources/templates/subscription.html b/lab4-5/src/main/resources/templates/subscription.html index b3123a9..5e50941 100644 --- a/lab4-5/src/main/resources/templates/subscription.html +++ b/lab4-5/src/main/resources/templates/subscription.html @@ -11,8 +11,8 @@

Данные отсутствуют

Списки рассылки

-
- Добавить список рассылки + diff --git a/lab4-5/src/main/resources/templates/type-edit.html b/lab4-5/src/main/resources/templates/type-edit.html index 91f03ca..dedd5b2 100644 --- a/lab4-5/src/main/resources/templates/type-edit.html +++ b/lab4-5/src/main/resources/templates/type-edit.html @@ -13,12 +13,12 @@
- +
- + Отмена
diff --git a/lab4-5/src/main/resources/templates/type.html b/lab4-5/src/main/resources/templates/type.html index ec0909e..c0f649c 100644 --- a/lab4-5/src/main/resources/templates/type.html +++ b/lab4-5/src/main/resources/templates/type.html @@ -2,7 +2,7 @@ - Типы заказов + Типы товаров @@ -10,16 +10,16 @@

Данные отсутствуют

-

Типы заказов

-
- + diff --git a/lab4-5/src/main/resources/templates/user-edit.html b/lab4-5/src/main/resources/templates/user-edit.html index 659be54..f25edac 100644 --- a/lab4-5/src/main/resources/templates/user-edit.html +++ b/lab4-5/src/main/resources/templates/user-edit.html @@ -19,7 +19,7 @@
- + Отмена
diff --git a/lab4-5/src/main/resources/templates/user.html b/lab4-5/src/main/resources/templates/user.html index cce1336..e384c9b 100644 --- a/lab4-5/src/main/resources/templates/user.html +++ b/lab4-5/src/main/resources/templates/user.html @@ -11,8 +11,8 @@

Данные отсутствуют

Пользователи

-
IDТип заказаТип товара