Mercurial > libervia-templates
view sat_templates/templates/bulma/static/styles.css @ 413:0190a0d32909 default tip
Forum: Major redesign of forums:
Forums have been redesigned. They follow the new general design with 2 or 3 panels,
allowing to have directly a forum if one is found/set up, and a panel on the left to
search/discover other ones.
Categories have been rewritten to be usable with pubsub relationships, a XEP-0277 type
node is used for topics, and each item has a comments node for the threads.
The thread view is set in `forum/show_messages.html` template. It has a header with a
search box and a button to (un)subscribe.
Items are displayed with the same macros as for the blog items.
Below a room is set for editor, tags and attachments.
rel 463
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 05 Sep 2025 21:54:09 +0200 |
parents | a5588ea3bcd6 |
children |
line wrap: on
line source
:root { --selected-item-bg: deepskyblue; /* Reaction colors */ --reaction-background: #ffffff; --reaction-hover-background: #f5f5f5; --reaction-border: #dbdbdb; /* User reaction colors */ --reaction-user-background: #eef6fc; --reaction-user-hover-background: #e3f1fc; --reaction-user-border: #3273dc; /* Spacing */ --reaction-padding: 0.25rem 0.5rem; --reaction-gap: 0.5rem; --reaction-margin-top: 0.5rem; /* Typography */ --reaction-font-size: 0.875rem; --reaction-counter-font-size: 0.75rem; } [data-theme="dark"] { --reaction-background: #2c2c2c; --reaction-hover-background: #404040; --reaction-border: #4a4a4a; --reaction-user-background: #1a3b5c; --reaction-user-hover-background: #234875; --reaction-user-border: #3273dc; } html, body { height: 100vh; overflow: hidden; } body { display: flex; flex-direction: column; } #body { display: flex; flex-direction: column; overflow: auto; } .is-full-height { height: 100%; } .is-full-width { width: 100%; } .navbar-item { gap: 0; } .menu-item { padding-top: 0.225em; } .is-text-content { white-space: break-spaces; } .avatar { width: 40px; height: 40px; border-radius: 50%; background-color: #3273dc; color: #fff; } .avatar.image { background-color: #ccc; padding: 3px; } div.jid-search-dialog { min-height: 80%; } div.search-item.is-selected { background-color: var(--selected-item-bg); } .collapsible-content { overflow: hidden; max-height: 0; opacity: 1; transition: max-height 0.3s ease-out, opacity 0.2s linear; } .collapsible-header.collapsed .collapsible-icon { transform: rotate(-90deg); } /* Animation */ .collapsible-header.collapsed + .collapsible-content { opacity: 0; } .collapsible-icon { transition: transform 0.2s ease-out; } /* Panels */ .modal-panel-header { border-bottom: 1px solid #dbdbdb; padding: 0.5rem 1rem; } #left_panel li:hover { background-color: #444; } /* dialogs */ .modal-dialog { transform: scaleY(0); } div.state_appended .modal-dialog, div.main_notification.state_appended { transform: scaleY(1); transition: transform 0.15s ease-in; } .main_notification { position: fixed; top: 2rem; left: 0; right: 0; z-index: 10000; transform: scaleY(0); transition: transform 0.15s ease-in; } div.main_notification>div.column { display: flex; max-width: 95%; } div.main_notification>div.column>div.notification { max-width: 80rem; } /* Sidebar toggle transitions */ .left-sidebar, .right-sidebar { transition: transform 0.3s ease, max-width 0.3s ease, opacity 0.3s ease; overflow-x: hidden; } .left-sidebar.is-collapsed { transform: translateX(-100%); max-width: 0; padding: 0; margin: 0; opacity: 0; } .right-sidebar.is-collapsed { transform: translateX(100%); max-width: 0; padding: 0; margin: 0; opacity: 0; } .main-panel.is-expanded-left { margin-left: 0; } .main-panel.is-expanded-right { margin-right: 0; } /* Common components */ /* Reactions */ .reactions-container { gap: var(--reaction-gap); margin-top: var(--reaction-margin-top); } .reaction { padding: var(--reaction-padding); border-radius: 1rem; background-color: var(--reaction-background); font-size: var(--reaction-font-size); cursor: pointer; transition: all 0.2s ease; border: 1px solid var(--reaction-border); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } .reaction:hover { background-color: var(--reaction-hover-background); } .reaction .counter { margin-left: 0.25rem; font-size: var(--reaction-counter-font-size); color: var(--color-text); } .reaction.own-reaction { background-color: var(--reaction-user-background); border-color: var(--reaction-user-border); } .reaction.own-reaction:hover { background-color: var(--reaction-user-hover-background); } /* Side Panels */ .modal-panel { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; display: flex; pointer-events: none; } .modal-panel-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: hsla(221,14%,4%,0.86); opacity: 0; transition: opacity 0.3s ease; pointer-events: all; } .modal-panel-container { position: absolute; background: white; box-shadow: -2px 0 10px rgba(0,0,0,0.1); overflow-y: auto; transition: transform 0.3s ease-out; will-change: transform; pointer-events: all; } /* Position classes */ .modal-panel-container.is-right { top: 0; right: 0; height: 100vh; transform: translateX(100%); border-left: 1px solid #eee; } .modal-panel-container.is-left { top: 0; left: 0; height: 100vh; transform: translateX(-100%); border-right: 1px solid #eee; } .modal-panel-container.is-top { top: 0; left: 0; right: 0; transform: translateY(-100%); border-bottom: 1px solid #eee; } .modal-panel-container.is-bottom { bottom: 0; left: 0; right: 0; transform: translateY(100%); border-top: 1px solid #eee; } /* Active state */ .modal-panel.is-active .modal-panel-background { opacity: 1; } .modal-panel.is-active .modal-panel-container { transform: none !important; } /* Closing animation */ .modal-panel.closing .modal-panel-background { opacity: 0; } .modal-panel.closing .modal-panel-container.is-right { transform: translateX(100%) !important; } .modal-panel.closing .modal-panel-container.is-left { transform: translateX(-100%) !important; } .modal-panel.closing .modal-panel-container.is-top { transform: translateY(-100%) !important; } .modal-panel.closing .modal-panel-container.is-bottom { transform: translateY(100%) !important; } .thumbnail-image { max-height: 100%; } /* Tags */ .tag_input { display: inline-block; width: 6rem; } /* Attachments */ .attachments { opacity: 1; max-height: 1000px; transition: opacity 0.5s ease-in-out, max-height 0.5s ease-in-out, padding 0.5s ease-in-out, margin 0.5s ease-in-out; overflow-x: auto; overflow-y: hidden; padding: 1.25rem 0; margin: 0; white-space: nowrap; } .attachments.is-contracted { opacity: 0; max-height: 0; padding: 0; } .attachment-preview { position: relative; border: 1px solid #dbdbdb; padding: 0.3rem 0.5rem; border-radius: 4px; background-color: #f5f5f5; margin: 0 1rem 0 0 !important; width: 9rem; } .progress_finished progress { opacity: 0; } /* Responsive */ @media screen and (max-width: 768px) { .modal-panel-container { width: 90% !important; } } @media screen and (min-width: 769px) { .modal-panel-container.is-right, .modal-panel-container.is-left { width: 50rem; } .modal-panel-container.is-top, .modal-panel-container.is-bottom { height: 80vh; } }