Files
myprojplanet_vite/src/components/CGridTableRec/CGridTableRec.scss

240 lines
4.6 KiB
SCSS
Raw Normal View History

// ========================================
// BASE STYLES
// ========================================
$primary-color: #1976d2;
$border-radius: 10px;
$transition-speed: 0.3s;
$mobile-breakpoint: 768px;
@use 'sass:color';
$shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
$shadow-md: 0 2px 6px rgba(0, 0, 0, 0.08);
$shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15);
// ========================================
// TABLE STYLES
// ========================================
2021-09-16 21:08:02 +02:00
.colmodif {
cursor: pointer;
}
.coldate {
max-width: 250px;
min-width: 200px;
}
.tdclass,
.trclass {
2021-10-03 16:11:29 +02:00
min-height: 20px !important;
margin-top: 3px;
2021-09-16 21:08:02 +02:00
}
.q-table td {
padding-left: 1px;
padding-right: 2px;
padding-top: 0;
padding-bottom: 0;
2021-09-16 21:08:02 +02:00
&__title {
font-size: 1rem;
}
}
.q-table {
&__col {
font-size: 1rem;
color: gray;
}
}
2021-12-03 22:47:53 +01:00
.newrec_fields {
2021-12-03 22:47:53 +01:00
display: flex;
padding: 2px;
margin: 2px;
align-items: center;
justify-content: center;
}
2021-12-31 01:44:16 +01:00
.riduci_pad {
min-height: 30px;
padding: 3px 6px !important;
2021-12-31 01:44:16 +01:00
}
.q-table__top {
padding-top: 0 !important;
}
// ========================================
// DIALOG & LAYOUT
// ========================================
.right-align-dialog .q-dialog {
right: 0;
left: auto;
margin: 0;
}
.flexible-width {
flex: 1;
max-width: 500px;
}
.hint_search {
color: gray;
}
// ========================================
// CAROUSEL STYLES - MODERNIZZATI
// ========================================
.q-carousel__slide {
padding: 5px !important;
@media (max-width: $mobile-breakpoint) {
padding: 3px !important;
}
2024-10-22 15:27:00 +02:00
}
.carousel-scroll-container {
overflow-y: auto;
max-height: calc(100vh - 120px);
&::-webkit-scrollbar {
width: 6px;
}
&::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.05);
border-radius: 3px;
}
&::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.2);
border-radius: 3px;
&:hover {
background: rgba(0, 0, 0, 0.3);
}
}
@media (max-width: $mobile-breakpoint) {
max-height: calc(100vh - 100px);
}
}
// ========================================
// TOOLBAR MODERNO
// ========================================
.modern-grid-toolbar {
background: linear-gradient(135deg, $primary-color 0%, #1565c0 100%);
color: white;
padding: 10px 14px;
min-height: 50px;
border-radius: $border-radius $border-radius 0 0;
box-shadow: $shadow-sm;
@media (max-width: $mobile-breakpoint) {
padding: 8px 12px;
min-height: 46px;
}
}
// ========================================
// BUTTON MODERNO
// ========================================
.modern-add-btn {
padding: 6px 18px;
font-weight: 600;
transition: all $transition-speed;
box-shadow: $shadow-sm;
&:hover {
transform: translateY(-1px);
box-shadow: $shadow-hover;
}
@media (max-width: $mobile-breakpoint) {
padding: 5px 16px;
}
}
// ========================================
// INFINITE SCROLL
// ========================================
// ========================================
// GRID LAYOUT PER CARD
// ========================================
.q-infinite-scroll {
padding: 6px;
gap: 8px;
// Desktop: layout a griglia 2 colonne
@media (min-width: $mobile-breakpoint + 1) {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
padding: 8px;
}
// Desktop large: 3 colonne per schermi molto larghi
@media (min-width: 1400px) {
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}
// Mobile: colonna singola
@media (max-width: $mobile-breakpoint) {
display: flex;
flex-direction: column;
padding: 5px;
gap: 6px;
}
}
// ========================================
// DIALOG CARDS
// ========================================
.q-dialog {
:deep(.modern-card) {
box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
border-radius: $border-radius;
}
}
// ========================================
// FIXED TOGGLE
// ========================================
.fixed-toggle {
position: fixed;
top: 70px;
right: 12px;
z-index: 1000;
box-shadow: $shadow-md;
border-radius: 20px;
background: white;
padding: 4px 8px;
@media (max-width: $mobile-breakpoint) {
top: 65px;
right: 10px;
padding: 3px 6px;
}
}
.grid-card-item {
width: 100%;
background: rgba(255, 255, 255, 0.7);
backdrop-filter: blur(8px);
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.9);
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
padding: 8px; // Spazio tra carousel e card
@media (max-width: $mobile-breakpoint) {
width: 100%;
padding: 4px; // Ridotto su mobile
}
}
.fill-all-width {
width: 100%;
}