377 lines
8.3 KiB
CSS

@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css";
/* buttons.css - Styles pour les boutons, tooltips et menu */
/* Styles pour les boutons avec icônes */
.button.tooltip,
.tooltip {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
padding: 0;
border-radius: var(--radius-sm);
transition: var(--transition-fast);
}
.button.tooltip i,
.tooltip i {
font-size: 1.2rem;
}
/* Style pour le bouton de déconnexion */
.logout-form button {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--radius-sm);
padding: 0;
border: 1px solid var(--border-color);
background-color: var(--bg-tertiary);
color: var(--text-primary);
position: relative;
}
.logout-form button:hover {
background-color: var(--error-color);
}
.logout-form button i {
font-size: 1.2rem;
}
/* Tooltip styles */
.tooltip::after {
content: attr(data-tooltip);
position: absolute;
bottom: -35px;
left: 50%;
transform: translateX(-50%);
background-color: var(--bg-primary);
color: var(--text-primary);
padding: 5px 10px;
border-radius: var(--radius-sm);
font-size: 0.8rem;
white-space: nowrap;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s, visibility 0.3s;
z-index: 100;
pointer-events: none;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
border: 1px solid var(--border-color);
}
.tooltip:hover::after {
opacity: 1;
visibility: visible;
}
/* Styles pour le texte à côté des icônes (mobile) */
.tooltip-text {
display: none;
margin-left: var(--spacing-md);
}
/* Menu toggle button */
.menu-toggle {
display: none;
background: none;
border: none;
color: var(--text-primary);
font-size: 1.5rem;
cursor: pointer;
padding: var(--spacing-sm);
}
/* Styles pour la barre de navigation */
.admin-nav {
position: relative;
}
.nav-menu {
display: flex;
gap: var(--spacing-md);
justify-content: flex-end;
}
/* Styles pour les boutons d'action des romans */
.story-actions {
display: flex;
gap: var(--spacing-sm);
}
/* Style spécifique pour le bouton d'édition */
.story-actions a.button {
background-color: var(--accent-primary);
color: var(--text-tertiary);
}
.story-actions a.button:hover {
background-color: var(--accent-secondary);
}
/* Style spécifique pour le bouton d'accès */
.story-actions .manage-access {
background-color: var(--bg-secondary);
color: var(--text-primary);
}
.story-actions .manage-access:hover {
background-color: var(--accent-primary);
color: var(--text-tertiary);
}
/* Style spécifique pour le bouton de suppression */
.story-actions .delete-story {
background-color: var(--bg-secondary);
color: var(--text-primary);
}
.story-actions .delete-story:hover {
background-color: var(--error-color);
color: var(--text-tertiary);
}
/* Styles pour les boutons modaux */
.modal-footer .button {
width: auto;
padding: var(--spacing-sm) var(--spacing-md);
display: flex;
align-items: center;
gap: var(--spacing-sm);
}
.modal-footer .button i,
.modal-footer .button .button-text {
pointer-events: none; /* Solution au problème de clic */
}
/* Styles pour afficher du texte dans les boutons */
.button-text {
margin-left: var(--spacing-sm);
}
/* Styles pour les boutons avec texte intégré */
.button.with-text {
width: auto;
padding: var(--spacing-sm) var(--spacing-md);
justify-content: flex-start;
}
.button.with-text i {
margin-right: var(--spacing-sm);
}
/* Styles pour les boutons de formulaire */
.submit-button,
#cleanMedia,
#addUserBtn {
width: auto;
padding: var(--spacing-sm) var(--spacing-md);
display: flex;
align-items: center;
gap: var(--spacing-sm);
}
/* Solution globale pour les problèmes de clic sur les boutons */
button i,
button span,
.button i,
.button span {
pointer-events: none;
}
/* Styles pour les boutons d'action de chapitre */
.chapter-actions .button {
padding: 0;
width: 40px;
height: 40px;
}
.chapter-actions .edit-chapter {
background-color: var(--accent-primary);
}
.chapter-actions .edit-cover {
background-color: var(--bg-secondary);
}
.chapter-actions .delete-chapter {
background-color: var(--bg-secondary);
}
.chapter-actions .delete-chapter:hover {
background-color: var(--error-color);
}
/* Styles pour les boutons de formulaire */
.form-actions .button {
display: flex;
align-items: center;
justify-content: center;
gap: var(--spacing-sm);
}
.form-actions .button i {
font-size: 1.2rem;
}
/* Bouton d'ajout */
.button.add-button {
background-color: var(--accent-primary);
color: var(--text-tertiary);
}
.button.add-button:hover {
background-color: var(--accent-secondary);
}
.chapter-actions .edit-chapter,
.chapter-actions .edit-cover,
.chapter-actions .delete-chapter {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
padding: 0;
border-radius: var(--radius-sm);
transition: var(--transition-fast);
position: relative;
border: none;
cursor: pointer;
}
.chapter-actions .edit-chapter i,
.chapter-actions .edit-cover i,
.chapter-actions .delete-chapter i {
font-size: 1.2rem;
}
.chapter-actions .button-text {
display: none;
}
.chapter-actions .edit-chapter {
background-color: var(--accent-primary);
color: var(--text-tertiary);
}
.chapter-actions .edit-cover,
.chapter-actions .delete-chapter {
background-color: var(--bg-secondary);
color: var(--text-primary);
}
.chapter-actions .delete-chapter:hover {
background-color: var(--error-color);
}
.chapter-actions .edit-chapter i,
.chapter-actions .edit-cover i,
.chapter-actions .delete-chapter i,
.chapter-actions .button-text {
pointer-events: none;
}
/* Media queries pour le menu mobile */
@media (max-width: 768px) {
.menu-toggle {
display: block;
position: absolute;
right: var(--spacing-md);
top: 50%;
transform: translateY(-50%);
z-index: 101;
}
.nav-menu {
flex-direction: column;
position: absolute;
top: 100%;
right: 0;
background-color: var(--bg-secondary);
border: 1px solid var(--border-color);
border-radius: var(--radius-sm);
padding: var(--spacing-md);
z-index: 100;
width: 200px;
gap: var(--spacing-sm);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
/* État caché par défaut */
opacity: 0;
visibility: hidden;
transform: translateY(-10px);
transition: all var(--transition-fast);
}
.nav-menu.active {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
/* Style des boutons en mode mobile */
.nav-menu.active .button,
.nav-menu.active .logout-form button {
width: 100%;
justify-content: flex-start;
padding: var(--spacing-sm) var(--spacing-md);
gap: var(--spacing-md);
}
/* Afficher le texte des tooltips en mode mobile */
.nav-menu.active .tooltip-text {
display: inline-block;
}
/* Cacher les tooltips standards sur mobile */
.tooltip::after {
display: none;
}
.logout-form {
width: 100%;
}
/* Afficher le texte des tooltips en mode mobile pour les actions des romans */
.story-actions.active .tooltip-text {
display: inline-block;
margin-left: var(--spacing-sm);
}
.story-actions.active .button {
width: auto;
padding: var(--spacing-xs) var(--spacing-sm);
}
.chapter-actions.active .edit-chapter,
.chapter-actions.active .edit-cover,
.chapter-actions.active .delete-chapter {
width: 100%;
justify-content: flex-start;
padding: var(--spacing-sm) var(--spacing-md);
}
.chapter-actions.active .button-text {
display: inline-block;
margin-left: var(--spacing-sm);
}
}
/* Pour les très petits écrans */
@media (max-width: 480px) {
.story-actions {
justify-content: space-between;
}
.story-actions .button {
flex: 1;
}
}