calendar 1.1

Bug de contraste du texte
Limitation de la largeur de la popup
Largeurs des colonnes fixes.
This commit is contained in:
Fred Tempez 2024-08-26 22:29:16 +02:00
parent 4fb8922734
commit b8386ef42f
4 changed files with 344 additions and 8 deletions

View File

@ -17,7 +17,7 @@
class calendar extends common
{
const VERSION = '1.0';
const VERSION = '1.1';
const REALNAME = 'Calendrier';
const DATA_DIRECTORY = self::DATA_DIR . 'calendar/';
@ -280,7 +280,7 @@ class calendar extends common
{
// Feuille de styles
$cssContent =
'.textRed {
'div .gc-event.textRed {
padding: 2px;
border-radius: 5px;
color: red;
@ -288,22 +288,22 @@ class calendar extends common
font-size: 18px;
width: 90% ;
}
.textGreen {
div .gc-event.textGreen {
border-radius: 5px;
padding: 2px;
color: lightgreen;
background-color: darkgrey;
font-size: 18px;
font-size: 18px;
width: 90% ;
}
.textOrange {
div .gc-event.textOrange {
padding: 2px;
border-radius: 5px;
color: orange;
background-color: green;
font-size: 18px;
width: 90% ;
}';
}';
$this->setData(['page', $this->getUrl(0), 'css', $cssContent]);
}

View File

@ -1,4 +1,8 @@
# Version 1.01
- Limite à 80% la largeur de la popup pour les petits écrans.
- Contraste de couleurs des textes qui écrasent la couleur définie dans la feuille de style perso.
- Largeurs des colonnes fixes.
# Version 1.00
- Activer dans la gestion du profil
# Version 0.4

View File

@ -1 +1,332 @@
@import url(https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap);.gc-calendar-wrapper{transform:scale(.75);transform-origin:top left;width:133.33%;height:auto}.gc-calendar{font-family:Inter,sans-serif;background-color:#fff;padding:1rem}.gc-calendar .gc-calendar-header{background-color:#fff;padding:2px;height:max-content;display:flex;align-items:center;margin-bottom:40px}.gc-calendar .gc-calendar-header button.next,.gc-calendar .gc-calendar-header button.prev{height:36px;left:0;top:0;border-radius:100px;background:#fff;border-radius:100px;position:relative;display:inline-block;border:0;padding:4px 15px;font-size:24px;box-shadow:inset 0 -1px 0 #edf2f7;cursor:pointer;color:#7a7a9d;font-weight:700;margin-right:10px;width:inherit}.gc-calendar .gc-calendar-header button.next:hover,.gc-calendar .gc-calendar-header button.prev:hover{box-shadow:0 3px 6px rgba(0,0,0,.08),0 7px 14px rgba(50,50,93,.1)}.gc-calendar .gc-calendar-header button.next:focus,.gc-calendar .gc-calendar-header button.prev:focus{box-shadow:0 3px 6px rgba(0,0,0,.08),0 7px 14px rgba(50,50,93,.1);outline:0;border:0}.gc-calendar .gc-calendar-header button.prev{margin-left:20px}.gc-calendar .gc-calendar-header .gc-calendar-month-year{font-style:normal;font-weight:600;font-size:28px;color:#38385c;line-height:136.02%;min-width:220px}.gc-calendar table.calendar{width:100%}.gc-calendar table.calendar th{text-align:start;font-weight:600;font-size:14px;line-height:136.02%;padding:2px;text-transform:uppercase;color:#7a7a9d;position:relative;padding-bottom:12px}.gc-calendar table.calendar td{height:150px;position:relative;padding-top:3px;vertical-align:top;width:calc(100% / 7)}.gc-calendar table.calendar td.next-month .day-number,.gc-calendar table.calendar td.prev-month .day-number{color:#b5b5bd}.gc-calendar table.calendar td .day-number{font-size:24px;font-weight:800;line-height:38.09px;overflow-y:auto;color:#38385c;text-decoration:none;display:block}.gc-calendar table.calendar td .today .day-number{color:#4c6fff;border:solid #4c6fff;border-radius:5px;margin:1px;width:90%}.gc-calendar table.calendar a{text-decoration:none;display:block}.gc-calendar table.calendar a:hover{background-color:#4c6fff;width:90%;border-radius:5px;padding-left:10px;transition:.2s}.gc-calendar table.calendar a:hover .day-number{color:#fff}.gc-calendar table.calendar th::before,.gc-calendar table.calendar tr:not(:last-child) td::before{content:"";display:block;width:90%;height:2px;border-radius:1px;background-color:#8f8f93;bottom:0;left:0;position:absolute}.gc-calendar table.calendar td:hover{background:linear-gradient(90deg,#e1e8ff 90%,transparent 50%);padding-left:10px;padding-right:10px;transition:.3s}.gc-calendar .gc-event{display:block;overflow:hidden;margin-bottom:10px}.slide-in-left{-webkit-animation:slide-in-left .5s cubic-bezier(.25,.46,.45,.94) both;animation:slide-in-left .5s cubic-bezier(.25,.46,.45,.94) both}.slide-in-right{-webkit-animation:slide-in-right .5s cubic-bezier(.25,.46,.45,.94) both;animation:slide-in-right .5s cubic-bezier(.25,.46,.45,.94) both}.slide-out-left{-webkit-animation:slide-out-left .5s cubic-bezier(.55,.085,.68,.53) both;animation:slide-out-left .5s cubic-bezier(.55,.085,.68,.53) both}.slide-out-right{-webkit-animation:slide-out-right .5s cubic-bezier(.55,.085,.68,.53) both;animation:slide-out-right .5s cubic-bezier(.55,.085,.68,.53) both}@-webkit-keyframes slide-in-left{0%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes slide-in-left{0%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@-webkit-keyframes slide-in-right{0%{-webkit-transform:translateX(1000px);transform:translateX(1000px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes slide-in-right{0%{-webkit-transform:translateX(1000px);transform:translateX(1000px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}}@keyframes slide-out-left{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(1000px);transform:translateX(1000px);opacity:0}}@keyframes slide-out-right{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(1000px);transform:translateX(1000px);opacity:0}}
@import url(https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap);
.gc-calendar-wrapper {
transform: scale(0.75);
transform-origin: top left;
width: 133.33%;
height: auto;
}
.gc-calendar {
font-family: Inter, sans-serif;
background-color: #fff;
padding: 1rem;
}
.gc-calendar .gc-calendar-header {
background-color: #fff;
padding: 2px;
height: max-content;
display: flex;
align-items: center;
margin-bottom: 40px
}
.gc-calendar .gc-calendar-header button.next,
.gc-calendar .gc-calendar-header button.prev {
height: 36px;
left: 0;
top: 0;
border-radius: 100px;
background: #fff;
border-radius: 100px;
position: relative;
display: inline-block;
border: 0;
padding: 4px 15px;
font-size: 24px;
box-shadow: inset 0 -1px 0 #edf2f7;
cursor: pointer;
color: #7a7a9d;
font-weight: 700;
margin-right: 10px;
width: inherit
}
.gc-calendar .gc-calendar-header button.next:hover,
.gc-calendar .gc-calendar-header button.prev:hover {
box-shadow: 0 3px 6px rgba(0, 0, 0, .08), 0 7px 14px rgba(50, 50, 93, .1)
}
.gc-calendar .gc-calendar-header button.next:focus,
.gc-calendar .gc-calendar-header button.prev:focus {
box-shadow: 0 3px 6px rgba(0, 0, 0, .08), 0 7px 14px rgba(50, 50, 93, .1);
outline: 0;
border: 0
}
.gc-calendar .gc-calendar-header button.prev {
margin-left: 20px
}
.gc-calendar .gc-calendar-header .gc-calendar-month-year {
font-style: normal;
font-weight: 600;
font-size: 28px;
color: #38385c;
line-height: 136.02%;
min-width: 220px
}
.gc-calendar table.calendar {
width: 100%;
table-layout: fixed; /* Add this to make column widths equal */
}
.gc-calendar table.calendar th {
text-align: start;
font-weight: 600;
font-size: 14px;
line-height: 136.02%;
padding: 2px;
text-transform: uppercase;
color: #7a7a9d;
position: relative;
padding-bottom: 12px
}
.gc-calendar table.calendar td {
height: 150px;
position: relative;
padding-top: 3px;
vertical-align: top;
width: calc(100% / 7)
}
.gc-calendar table.calendar td.next-month .day-number,
.gc-calendar table.calendar td.prev-month .day-number {
color: #b5b5bd
}
.gc-calendar table.calendar td .day-number {
font-size: 24px;
font-weight: 800;
line-height: 38.09px;
overflow-y: auto;
color: #38385c;
text-decoration: none;
display: block
}
.gc-calendar table.calendar td .today .day-number {
color: #4c6fff;
border: solid #4c6fff;
border-radius: 5px;
margin: 1px;
width: 90%
}
.gc-calendar table.calendar a {
text-decoration: none;
display: block
}
.gc-calendar table.calendar a:hover {
background-color: #4c6fff;
width: 90%;
border-radius: 5px;
padding-left: 10px;
transition: .2s
}
.gc-calendar table.calendar a:hover .day-number {
color: #fff
}
.gc-calendar table.calendar th::before,
.gc-calendar table.calendar tr:not(:last-child) td::before {
content: "";
display: block;
width: 90%;
height: 2px;
border-radius: 1px;
background-color: #8f8f93;
bottom: 0;
left: 0;
position: absolute
}
.gc-calendar table.calendar td:hover {
background: linear-gradient(90deg, #e1e8ff 90%, transparent 50%);
padding-left: 10px;
padding-right: 10px;
transition: .3s
}
.gc-calendar .gc-event {
display: block;
overflow: hidden;
margin-bottom: 10px
}
.slide-in-left {
-webkit-animation: slide-in-left .5s cubic-bezier(.25, .46, .45, .94) both;
animation: slide-in-left .5s cubic-bezier(.25, .46, .45, .94) both
}
.slide-in-right {
-webkit-animation: slide-in-right .5s cubic-bezier(.25, .46, .45, .94) both;
animation: slide-in-right .5s cubic-bezier(.25, .46, .45, .94) both
}
.slide-out-left {
-webkit-animation: slide-out-left .5s cubic-bezier(.55, .085, .68, .53) both;
animation: slide-out-left .5s cubic-bezier(.55, .085, .68, .53) both
}
.slide-out-right {
-webkit-animation: slide-out-right .5s cubic-bezier(.55, .085, .68, .53) both;
animation: slide-out-right .5s cubic-bezier(.55, .085, .68, .53) both
}
/* Media query pour les petits écrans */
@media (max-width: 600px) {
.gc-calendar table.calendar th,
.gc-calendar table.calendar td {
padding: 5px; /* Réduire les padding */
font-size: 10px; /* Réduire la taille de la police */
}
.gc-calendar .gc-calendar-header .gc-calendar-month-year {
font-size: 18px; /* Ajuster la taille de la police pour les mois */
min-width: auto; /* Enlever la largeur minimale pour l'adaptation */
}
.gc-calendar .gc-calendar-header button.next,
.gc-calendar .gc-calendar-header button.prev {
font-size: 14px; /* Réduire la taille de la police des boutons */
padding: 4px 10px; /* Ajuster les padding */
}
.gc-calendar table.calendar td .day-number {
font-size: 16px; /* Réduire la taille de la police pour les numéros de jour */
line-height: 24px; /* Ajuster la hauteur de ligne */
}
.gc-calendar table.calendar td .today .day-number {
font-size: 16px; /* Réduire la taille de la police pour le jour actuel */
}
.gc-calendar-wrapper {
transform: scale(1); /* Réajuster l'échelle pour petits écrans */
width: 100%; /* Adapter la largeur à 100% */
}
.gc-calendar table.calendar td {
height: auto; /* Ajuster la hauteur pour s'adapter au contenu */
width: calc(100% / 7); /* S'assurer que les colonnes sont de largeur égale */
}
}
@-webkit-keyframes slide-in-left {
0% {
-webkit-transform: translateX(-1000px);
transform: translateX(-1000px);
opacity: 0
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1
}
}
@keyframes slide-in-left {
0% {
-webkit-transform: translateX(-1000px);
transform: translateX(-1000px);
opacity: 0
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1
}
}
@-webkit-keyframes slide-in-right {
0% {
-webkit-transform: translateX(1000px);
transform: translateX(1000px);
opacity: 0
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1
}
}
@keyframes slide-in-right {
0% {
-webkit-transform: translateX(1000px);
transform: translateX(1000px);
opacity: 0
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1
}
}
@-webkit-keyframes slide-out-left {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1
}
100% {
-webkit-transform: translateX(-1000px);
transform: translateX(-1000px);
opacity: 0
}
}
@keyframes slide-out-left {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1
}
100% {
-webkit-transform: translateX(-1000px);
transform: translateX(-1000px);
opacity: 0
}
}
@-webkit-keyframes slide-out-right {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1
}
100% {
-webkit-transform: translateX(1000px);
transform: translateX(1000px);
opacity: 0
}
}
@keyframes slide-out-right {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1
}
100% {
-webkit-transform: translateX(1000px);
transform: translateX(1000px);
opacity: 0
}
}

View File

@ -21,7 +21,8 @@
padding: 20px;
border-radius: 5px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
width: 400px;
width: 350px;
max-width: 80%;
text-align: center;
font-family: 'Inter', sans-serif; /* Assurer la police Inter dans la popup */
}