480 lines
8.7 KiB
CSS
480 lines
8.7 KiB
CSS
html, body {
|
||
height: 100%;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.App {
|
||
text-align: center;
|
||
}
|
||
|
||
.App-logo {
|
||
height: 40vmin;
|
||
pointer-events: none;
|
||
}
|
||
|
||
@media (prefers-reduced-motion: no-preference) {
|
||
.App-logo {
|
||
animation: App-logo-spin infinite 20s linear;
|
||
}
|
||
}
|
||
|
||
@font-face {
|
||
font-family: "Roboto Regular";
|
||
src: url("./../fonts/roboto-regular/roboto-regular.svg") format("svg");
|
||
src: url("./../fonts/roboto-regular/roboto-regular.ttf") format("truetype");
|
||
src: url("./../fonts/roboto-regular/roboto-regular.woff") format("woff");
|
||
src: url("./../fonts/roboto-regular/roboto-regular.woff2") format("woff2");
|
||
font-weight: normal;
|
||
font-style: normal;
|
||
}
|
||
|
||
.App-header {
|
||
background-color: #282c34;
|
||
min-height: 100vh;
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
justify-content: center;
|
||
font-size: calc(10px + 2vmin);
|
||
color: white;
|
||
}
|
||
|
||
.App-link {
|
||
color: #61dafb;
|
||
}
|
||
|
||
@keyframes App-logo-spin {
|
||
from {
|
||
transform: rotate(0deg);
|
||
}
|
||
to {
|
||
transform: rotate(360deg);
|
||
}
|
||
}
|
||
|
||
.switch-link {
|
||
margin-top: 15px;
|
||
text-align: center;
|
||
}
|
||
|
||
.switch-link button {
|
||
background: none;
|
||
border: none;
|
||
color: #007bff;
|
||
cursor: pointer;
|
||
font-size: 14px;
|
||
text-decoration: underline;
|
||
}
|
||
|
||
body {
|
||
font-family: 'Roboto Regular';
|
||
margin: 0;
|
||
padding: 0;
|
||
background-color: #33404d;
|
||
}
|
||
|
||
body * { transition: all .4s ease; }
|
||
|
||
ul{
|
||
list-style-type: none;
|
||
padding: 0px;
|
||
}
|
||
|
||
.app {
|
||
max-width: 800px;
|
||
margin: 0 auto;
|
||
padding: 20px;
|
||
}
|
||
|
||
.app-container {
|
||
height: 100vh;
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
}
|
||
|
||
/* Страница входа */
|
||
.login-page {
|
||
background-color: #1f2430;
|
||
border-radius: 8px;
|
||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
||
padding: 20px;
|
||
margin: 50px auto;
|
||
max-width: 400px;
|
||
}
|
||
|
||
.profile-page {
|
||
background-color: #1f2430;
|
||
border-radius: 8px;
|
||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
||
padding: 20px;
|
||
margin: 10px auto;
|
||
max-width: 1200px;
|
||
}
|
||
|
||
.page-container {
|
||
flex: 1 1 auto; /* растёт и заполняет остаток */
|
||
display: flex;
|
||
flex-direction: column;
|
||
overflow-x: auto;
|
||
box-sizing: border-box;
|
||
|
||
background-color: #1f2430;
|
||
border-radius: 8px;
|
||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
||
padding: 20px;
|
||
margin: 10px 0px;
|
||
max-width: 99%;
|
||
width: 100%; /* Занимает всю доступную ширину */
|
||
}
|
||
|
||
h2 {
|
||
text-align: center;
|
||
color: #CAD1D8;
|
||
margin-bottom: 20px;
|
||
}
|
||
|
||
p {
|
||
text-align: center;
|
||
color: #CAD1D8;
|
||
margin-bottom: 0px;
|
||
}
|
||
|
||
.modal-content p {
|
||
text-align: left
|
||
}
|
||
|
||
.modal-content div {
|
||
margin-bottom: 20px
|
||
}
|
||
|
||
.text-block {
|
||
text-align: left;
|
||
color: #999999;
|
||
margin-bottom: 2em;
|
||
}
|
||
|
||
.com {
|
||
color: #999999;
|
||
text-align: left;
|
||
margin: 10px 0px 10px 0px;
|
||
margin-bottom: auto;
|
||
}
|
||
|
||
.com modal-content {
|
||
text-align: left;
|
||
color: #999999;
|
||
margin: 10px 0px 10px 0px;
|
||
margin-bottom: auto;
|
||
}
|
||
|
||
.modal-content input{
|
||
margin: 10px 0px;
|
||
}
|
||
|
||
.modal-content div{
|
||
margin: 10px 0px;
|
||
}
|
||
|
||
.user-info p {
|
||
text-align: left;
|
||
color: #CAD1D8;
|
||
margin: 15px 0;
|
||
font-size: 20px;
|
||
}
|
||
|
||
form div {
|
||
margin-bottom: 15px;
|
||
}
|
||
|
||
label {
|
||
display: block;
|
||
margin-bottom: 5px;
|
||
font-weight: bold;
|
||
color: #CAD1D8;
|
||
}
|
||
|
||
input[type="text"],
|
||
input[type="password"] {
|
||
width: 100%;
|
||
padding: 10px;
|
||
border: 1px solid #ddd;
|
||
border-radius: 4px;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.Important-button:hover {
|
||
background-color: #cb0101;
|
||
}
|
||
|
||
.Important-button {
|
||
width: 100%;
|
||
padding: 12px;
|
||
margin: 10px auto;
|
||
background-color: #e30000;
|
||
color: white;
|
||
border: none;
|
||
border-radius: 4px;
|
||
cursor: pointer;
|
||
font-size: 16px;
|
||
}
|
||
|
||
button {
|
||
width: 100%;
|
||
padding: 12px;
|
||
margin: 10px auto;
|
||
background-color: #007bff;
|
||
color: white;
|
||
border: none;
|
||
border-radius: 4px;
|
||
cursor: pointer;
|
||
font-size: 16px;
|
||
}
|
||
|
||
.frame {
|
||
background-color: #33404d;
|
||
margin: 10px 0px;
|
||
width: 344px;
|
||
padding: 6px;
|
||
border-radius: 6px;
|
||
font-size: 16px;
|
||
border: 2px solid #999999
|
||
}
|
||
|
||
.frame p {
|
||
font-size: 16px;
|
||
}
|
||
|
||
.frame:hover {
|
||
border-color: #CAD1D8;
|
||
}
|
||
|
||
button:hover {
|
||
background-color: #0056b3;
|
||
}
|
||
|
||
button:disabled {
|
||
background-color: #6c757d;
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
/* Сообщения об ошибках */
|
||
.error {
|
||
background-color: #f8d7da;
|
||
color: #721c24;
|
||
padding: 10px;
|
||
border-radius: 4px;
|
||
margin-bottom: 15px;
|
||
text-align: center;
|
||
}
|
||
|
||
/* Страница профиля */
|
||
.form-group {
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.form-group label {
|
||
text-align: left;
|
||
display: block;
|
||
margin-bottom: 5px;
|
||
font-weight: 500;
|
||
}
|
||
|
||
.form-group input {
|
||
width: 100%;
|
||
padding: 8px;
|
||
border: 1px solid #ddd;
|
||
border-radius: 4px;
|
||
}
|
||
|
||
.modal-buttons {
|
||
display: flex;
|
||
gap: 10px;
|
||
margin-top: 20px;
|
||
}
|
||
|
||
.button-small {
|
||
width: 30%;
|
||
min-width: auto;
|
||
height: auto;
|
||
margin-bottom: auto;
|
||
}
|
||
|
||
.user-info p {
|
||
text-align: left;
|
||
margin: 5px 0px 5px 0px;
|
||
font-size: 20px;
|
||
}
|
||
|
||
.buttonName {
|
||
display: flex;
|
||
}
|
||
|
||
.buttonName button{
|
||
background-color: #007bff;
|
||
margin: 10px 5px;
|
||
width: 50px;
|
||
min-width: 50px;
|
||
padding: 6px;
|
||
border-radius: 6px;
|
||
font-size: 20px;
|
||
}
|
||
|
||
.buttonName button:hover {
|
||
background-color: #0056b3;
|
||
}
|
||
|
||
.com p {
|
||
color: #CAD1D8;
|
||
font-size: 18px;
|
||
}
|
||
|
||
h3 {
|
||
text-align: left;
|
||
color: #CAD1D8;
|
||
margin: 0px;
|
||
}
|
||
|
||
.description-textarea {
|
||
width: 100%;
|
||
padding: 12px;
|
||
border: 1px solid #ddd;
|
||
border-radius: 6px;
|
||
font-family: inherit;
|
||
resize: vertical;
|
||
min-height: 120px;
|
||
max-height: 200px;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.description-textarea:focus {
|
||
outline: none;
|
||
border-color: #007bff;
|
||
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
|
||
}
|
||
|
||
.char-counter {
|
||
text-align: right;
|
||
color: #6c757d;
|
||
font-size: 0.875rem;
|
||
margin-top: 4px;
|
||
}
|
||
|
||
.margin-top-large {
|
||
margin-top: 10em;
|
||
}
|
||
|
||
.avatar-wrapper {
|
||
position: relative;
|
||
display: inline-block;
|
||
float: right;
|
||
margin: 30px
|
||
}
|
||
|
||
.avatar-upload-label {
|
||
display: block;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.avatar-file-input {
|
||
position: absolute;
|
||
width: 100%;
|
||
height: 100%;
|
||
opacity: 0;
|
||
z-index: 0;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.avatar-container {
|
||
position: relative;
|
||
width: 200px;
|
||
height: 200px;
|
||
border-radius: 50%;
|
||
overflow: hidden;
|
||
background-color: #e0e0e0;
|
||
transition: all 0.3s ease;
|
||
z-index: 0;
|
||
}
|
||
|
||
.avatar-image {
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: cover;
|
||
transition: transform 0.3s ease;
|
||
}
|
||
|
||
.avatar-placeholder {
|
||
width: 100%;
|
||
height: 100%;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
font-size: 40px;
|
||
color: #323332;
|
||
text-transform: uppercase;
|
||
transition: background-color 0.3s ease;
|
||
}
|
||
|
||
/*Overlay — серый фон с плюсом*/
|
||
.avatar-overlay {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
background-color: rgba(200, 200, 200, 0.8); /* Светло‑серый фон */
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
opacity: 0;
|
||
visibility: hidden;
|
||
transition: opacity 0.3s ease, visibility 0.3s ease;
|
||
border-radius: 50%;
|
||
z-index: 3;
|
||
}
|
||
|
||
/* Плюс в центре */
|
||
.rounded-plus {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
width: 80px; /* Диаметр круга */
|
||
height: 80px;
|
||
background-color: #333333; /* Тёмно‑серый фон плюса */
|
||
color: white; /* Белый знак "+" */
|
||
font-size: 96px; /* Размер символа "+" */
|
||
font-weight: bold;
|
||
border-radius: 50%; /* Делаем круглым */
|
||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Лёгкая тень */
|
||
transition: background-color 0.3s ease, transform 0.3s ease;
|
||
}
|
||
|
||
/* Эффект при наведении на плюс (можно убрать, если не нужно) */
|
||
.avatar-upload-label:hover .rounded-plus {
|
||
background-color: #323332; /* Темнее при наведении */
|
||
transform: scale(1.08); /* Лёгкое увеличение */
|
||
}
|
||
|
||
/* Эффект при наведении */
|
||
.avatar-upload-label:hover .avatar-overlay {
|
||
opacity: 1;
|
||
visibility: visible;
|
||
}
|
||
|
||
.avatar-upload-label:hover .avatar-container {
|
||
transform: scale(1.05);
|
||
}
|
||
|
||
.avatar-upload-label:hover .avatar-placeholder,
|
||
.avatar-upload-label:hover .avatar-image {
|
||
filter: brightness(0.9);
|
||
}
|
||
|
||
/* Индикатор загрузки */
|
||
.uploading-spinner {
|
||
margin-top: 10px;
|
||
font-size: 12px;
|
||
color: #6c757d;
|
||
text-align: center;
|
||
} |