Files
Kanban-Front/src/css/App.css

480 lines
8.7 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;
}