Files
KomPage/src/static/style.css

251 lines
4.6 KiB
CSS

/* other styles are in magic.css */
/* ========== GRID LAYOUT ========== */
.results {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 1em;
margin-top: 20px;
}
/* Responsive: show 1 per row on small screens */
@media screen and (max-width: 768px) {
.results {
grid-template-columns: 1fr;
}
}
/* ========== CARD STYLING ========== */
.card {
position: relative;
padding: 10px;
border: 1px solid #ccc;
background: #fafafa;
text-align: center;
transition: box-shadow 0.2s transform 0.2s;
border-radius: 10px;
}
.card:hover {
box-shadow: 0 0 10px #aaa;
transform: scale(1.1);
/* pop out by 10% */
z-index: 2;
/* ensure it appears above others */
}
.card img {
width: 100%;
height: auto;
}
/* ========== ACTION BUTTONS ========== */
.actions {
margin-top: 10px;
display: flex;
justify-content: space-around;
}
.actions .info {
background-color: #007bff;
color: white;
border: none;
padding: 0.5em 1em;
cursor: pointer;
border-radius: 5px;
margin-right: 0.5em;
}
.actions .info:hover {
background-color: #0056b3;
}
.actions .request {
background-color: #28a745;
color: white;
border: none;
padding: 0.5em 1em;
cursor: pointer;
border-radius: 5px;
}
.actions .request:hover {
background-color: #1e7e34;
}
/* ========== MODAL ========== */
.modal {
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
background-color: #fefefe;
margin: 5% auto;
padding: 20px;
border: 1px solid #888;
width: 50%;
border-radius: 10px;
}
.close {
float: right;
font-size: 28px;
font-weight: bold;
cursor: pointer;
}
/* ========== IMAGE CONTAINER ========== */
.image-container {
position: relative;
overflow: hidden;
}
.image-container img {
width: 100%;
height: auto;
display: block;
transition: filter 0.3s ease;
}
/* ========== BLUR CONTROL VIA BODY CLASS ========== */
body.nsfw-disabled .image-container.nsfw img {
filter: grayscale(100%) blur(5px) !important;
/* Ensure the blur is applied */
transition: filter 0.3s ease;
/* Add smooth transition */
}
body.nsfw-disabled .image-container.nsfw:hover img {
filter: none !important;
/* Remove blur on hover */
}
/* ========== BADGE ========== */
.adult-badge {
position: absolute;
top: 8px;
left: 8px;
background-color: rgba(255, 0, 0, 0.8);
color: white;
padding: 4px 8px;
font-size: 12px;
font-weight: bold;
border-radius: 4px;
z-index: 1;
pointer-events: none;
}
.search-bar {
display: flex;
flex-direction: column;
gap: 10px;
margin-bottom: 20px;
}
.search-bar select {
padding: 5px;
border: 1px solid #ccc;
border-radius: 4px;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 1;
}
.dropdown-content .dropdown-item {
padding: 8px 16px;
cursor: pointer;
}
.dropdown-content .dropdown-item:hover {
background-color: #f1f1f1;
}
.dropdown-content.show {
display: block;
}
.reset {
/* Implement design here */
background-color: #f44336;
/* round the edges of the button */
border-radius: 9px;
}
.selectors {
display: flex;
gap: 10px;
margin-bottom: 8px;
margin-top: 5px;
flex-wrap: wrap;
}
/* ========== KOMGA SPECIFIC STYLES ========== */
.card.komga {
border: 3px solid green;
box-sizing: border-box;
/* disable the request button for entries in Komga */
/* only allow the info button to be clicked */
opacity: 0.3;
}
.card.requested {
border: 3px solid orange;
box-sizing: border-box;
/* disable the request button for entries in Komga */
/* only allow the info button to be clicked */
opacity: 0.3;
}
.card.manga.requested .request {
pointer-events: none;
opacity: 0.5;
}
.card.komga .request {
pointer-events: none;
opacity: 0.5;
}
.card.komga:hover,
.card.requested:hover {
transform: none !important;
box-shadow: none !important;
z-index: auto !important;
}
.card .delete-button {
position: absolute;
top: 5px;
right: 5px;
background-color: #dc3545;
color: white;
border: none;
padding: 0.5em;
cursor: pointer;
border-radius: 50%;
z-index: 3;
opacity: 1;
}
.card:hover .delete-button {
display: block;
}