0f6e0d514f
- Modal "Cambiar personaje" (diseño de la web) con filtro, avatar de raza, nombre en color de clase y subtítulo nivel/raza/clase. - Barra "Publicas como: X · Cambiar personaje" sobre el formulario de respuesta (solo con sesión iniciada). - Preferencia persistente en acore_web.forum_character (por cuenta), validada. - resolvePosters usa el personaje fijado si existe; si no, el de más nivel. - API /api/forum/character (GET lista + actual, POST fijar), gated por sesión. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
341 lines
17 KiB
CSS
341 lines
17 KiB
CSS
/*
|
|
* Estilos del foro (adaptado del forum.css original de FusionCMS).
|
|
* Cambios respecto al original:
|
|
* - rutas de imagen ../images/ -> /forum/ (assets en public/forum, ver copia)
|
|
* - el dorado del foro se alinea al acento del sitio (#d79602)
|
|
* - se aportan .nice_button, .main-wide y .pagination (no están en theme.css)
|
|
* theme.css se importa DESPUÉS y podría pisar reglas: por eso el foro cuelga de
|
|
* contenedores propios (.forum-container, .forum-padding, .topic_post…).
|
|
*/
|
|
|
|
:root {
|
|
--forum-gold: #d79602;
|
|
--forum-gold-soft: #c9a33c;
|
|
}
|
|
|
|
/* ===================== index ===================== */
|
|
.forum-container { margin: 0 40px; }
|
|
|
|
.category-title {
|
|
display: block;
|
|
color: #8a8272;
|
|
font-size: 15px;
|
|
font-weight: bold;
|
|
text-shadow: 0 0 8px #000, 0 1px 1px #000;
|
|
text-transform: uppercase;
|
|
text-align: left;
|
|
}
|
|
|
|
.forum-row {
|
|
width: 100%;
|
|
min-height: 75px;
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
text-align: left;
|
|
border-radius: 3px;
|
|
overflow: hidden;
|
|
background: rgba(0, 0, 0, .18);
|
|
box-shadow: 0 0 11px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .03);
|
|
transition: all 200ms;
|
|
}
|
|
.forum-row:hover { box-shadow: 0 0 11px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .05); }
|
|
|
|
.forum-row .icon img { margin: 6px 0 0 6px; }
|
|
.forum-row .forum_title_desc { text-align: left; flex: 1 1 220px; }
|
|
.forum-row .forum_title_desc a { display: block; }
|
|
.forum-row .forum_title_desc a h1 {
|
|
font-size: 14px; color: var(--forum-gold); font-weight: bold; margin: 8px 0 0 20px; transition: all 200ms;
|
|
}
|
|
.forum-row .forum_title_desc a:hover h1 { color: #f0b53a; }
|
|
.forum-row .forum_title_desc a h2 { font-size: 12px; color: #6d6a5e; font-weight: bold; margin: 4px 0 8px 20px; }
|
|
|
|
.forum-row .post, .forum-row .topics { min-width: 78px; text-align: center; }
|
|
.forum-row .post p, .forum-row .topics p { font-size: 15px; color: #8a8578; font-weight: bold; margin: 24px 0; }
|
|
|
|
.forum-row .lastpost { flex: 1 1 200px; padding-left: 12px; }
|
|
.forum-row .lastpost p.topic_title a { font-size: 12px; color: #8d8370; font-weight: bold; }
|
|
.forum-row .lastpost p.topic_title a:hover { color: var(--forum-gold); }
|
|
.forum-row .lastpost p.by { margin: 0 0 0 15px; }
|
|
.forum-row .lastpost p.by a { font-size: 12px; font-weight: bold; color: var(--forum-gold-soft); }
|
|
.forum-row .lastpost p.postdate { font-size: 11px; color: #6d6a5e; margin: 0 0 0 15px; }
|
|
|
|
/* class tiles (type 1) & flag tiles (type 2) */
|
|
.class-row {
|
|
display: flex;
|
|
align-items: center;
|
|
width: 100%;
|
|
min-height: 53px;
|
|
overflow: hidden;
|
|
background: rgba(0, 0, 0, .18);
|
|
box-shadow: 0 0 11px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .03);
|
|
border-radius: 4px;
|
|
transition: all 200ms;
|
|
}
|
|
.class-row:hover { box-shadow: 0 0 11px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .05); }
|
|
.class-row .icon { width: 36px; height: 36px; margin: 8px; flex: 0 0 auto; }
|
|
.class-row .icon img.image_icon { width: 36px; height: 36px; border-radius: 3px; box-shadow: 0 0 6px rgba(0, 0, 0, .4); }
|
|
.class-row .icon div.image_icon {
|
|
width: 36px; height: 36px;
|
|
background-image: url(/forum/forum_icons/icons.jpg);
|
|
background-repeat: no-repeat;
|
|
border-radius: 3px;
|
|
box-shadow: 0 0 6px rgba(0, 0, 0, .4);
|
|
}
|
|
.deathknight .icon div.image_icon { background-position: 0 0; }
|
|
.druid .icon div.image_icon { background-position: -36px 0; }
|
|
.hunter .icon div.image_icon { background-position: -72px 0; }
|
|
.mage .icon div.image_icon { background-position: -108px 0; }
|
|
.paladin .icon div.image_icon { background-position: -144px 0; }
|
|
.priest .icon div.image_icon { background-position: -180px 0; }
|
|
.rogue .icon div.image_icon { background-position: -216px 0; }
|
|
.shaman .icon div.image_icon { background-position: -252px 0; }
|
|
.warlock .icon div.image_icon { background-position: -288px 0; }
|
|
.warrior .icon div.image_icon { background-position: -324px 0; }
|
|
.monk .icon div.image_icon { background-position: -360px 0; }
|
|
.demonhunter .icon div.image_icon { background-position: -396px 0; }
|
|
.evoker .icon div.image_icon { background-position: -432px 0; }
|
|
.class-row .info { margin: 0 0 0 4px; text-align: left; }
|
|
.class-row .info a { display: block; }
|
|
.class-row .info a h1 { font-size: 13px; color: var(--forum-gold); }
|
|
.class-row .info a h2 { font-size: 11px; color: #6d6a5e; }
|
|
|
|
.forum-path { margin-bottom: 10px; display: block; color: var(--forum-gold); font-weight: bold; }
|
|
.forum-path a { color: var(--forum-gold); opacity: .7; }
|
|
.forum-path a:hover { opacity: 1; }
|
|
.forum-path .sep { opacity: .4; margin: 0 6px; }
|
|
|
|
/* ===================== subforum ===================== */
|
|
.main-wide { max-width: 1100px; margin: 0 auto; padding: 0 15px; }
|
|
.forum-padding { margin: 0 30px; }
|
|
|
|
.forum_header, .topic_header {
|
|
width: 100%;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin: 20px 0;
|
|
padding-bottom: 12px;
|
|
box-shadow: 0 2px 0 rgba(0, 0, 0, .25);
|
|
}
|
|
.forum_title h1 { font-size: 24px; color: var(--forum-gold); }
|
|
.forum_title h3 { font-weight: bold; font-size: 13px; color: #6d6a5e; }
|
|
.forum_header h4, .topic_header h4 { font-size: 20px; color: #6d6a5e; font-weight: normal; }
|
|
.forum_header h4 b, .topic_header h4 b { color: var(--forum-gold-soft); }
|
|
|
|
.actions_c { display: flex; justify-content: space-between; align-items: center; margin: 0 0 24px; flex-wrap: wrap; gap: 10px; }
|
|
|
|
ul.pagination { display: flex; list-style: none; padding: 0; margin: 0; gap: 3px; flex-wrap: wrap; }
|
|
ul.pagination li a, ul.pagination li p {
|
|
display: block; min-width: 24px; height: 24px; line-height: 24px; padding: 0 6px;
|
|
background: rgba(241, 221, 196, .07); border-radius: 3px; text-align: center; color: #8a8578;
|
|
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .02), 0 1px 1px rgba(0, 0, 0, .4);
|
|
}
|
|
ul.pagination li.active p { color: var(--forum-gold); font-weight: bold; }
|
|
ul.pagination li a:hover { color: var(--forum-gold); }
|
|
|
|
ul.topic_row {
|
|
display: flex; flex-wrap: nowrap; align-items: center; width: 100%; list-style: none; margin: 0 0 6px; padding: 0;
|
|
background: rgba(0, 0, 0, .18);
|
|
box-shadow: 0 0 11px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .03);
|
|
border-radius: 3px;
|
|
}
|
|
ul.topic_row li { text-shadow: 0 0 6px rgba(0, 0, 0, .5), 0 1px 1px rgba(0, 0, 0, .6); }
|
|
ul.topic_row .icon { width: 60px; flex: 0 0 auto; }
|
|
ul.topic_row .icon img { margin: 8px 0 0 4px; }
|
|
ul.topic_row li.topic_title_by_date { flex: 1 1 auto; text-align: left; }
|
|
ul.topic_row li.topic_title_by_date h1 { margin: 11px 0 0 14px; }
|
|
ul.topic_row li.topic_title_by_date h1 a { font-size: 13px; font-weight: bold; color: var(--forum-gold); }
|
|
ul.topic_row li.topic_title_by_date h1 a:hover { color: #f0b53a; }
|
|
ul.topic_row li.topic_title_by_date p { margin: 3px 0 8px 14px; font-weight: bold; font-size: 11px; color: #6d6a5e; }
|
|
ul.topic_row li.topic_title_by_date p a.username { color: var(--forum-gold-soft); }
|
|
ul.topic_row .lastpost { flex: 0 0 220px; padding-left: 14px; color: #6d6a5e; text-align: left; }
|
|
ul.topic_row .lastpost h4 { margin: 13px 0 0 0; font-size: 11px; }
|
|
ul.topic_row .lastpost h4 a { color: var(--forum-gold-soft); }
|
|
ul.topic_row .lastpost h5 { margin: 2px 0 8px; font-size: 11px; color: #6d6a5e; }
|
|
|
|
.forum-empty { text-align: center; color: #6d6a5e; padding: 30px 0; }
|
|
|
|
/* ===================== posts ===================== */
|
|
.topic_title h1 { font-size: 22px; color: var(--forum-gold); margin: 0 0 5px; font-weight: bold; }
|
|
.topic_title h3 { font-weight: bold; font-size: 13px; color: #6d6a5e; }
|
|
|
|
.topic_post {
|
|
display: flex; flex-wrap: wrap; width: 100%;
|
|
background: rgba(0, 0, 0, .18);
|
|
box-shadow: 0 0 11px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .03);
|
|
border-radius: 3px; margin: 0 0 30px;
|
|
}
|
|
.topic_post.isStaff {
|
|
box-shadow: inset 0 0 1px rgba(96, 76, 65, .3), 0 0 0 1px #251d19, 0 2px 2px rgba(0, 0, 0, .3), inset 0 0 46px rgba(255, 68, 0, .12);
|
|
}
|
|
.topic_post .left_side {
|
|
flex: 0 0 200px; padding: 10px; background: rgba(0, 0, 0, .25);
|
|
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03);
|
|
}
|
|
.topic_post .right_side { flex: 1 1 320px; display: flex; flex-direction: column; }
|
|
.username_container { display: block; margin: 6px 0 0; text-align: center; }
|
|
.username_container a.username { font-size: 14px; color: var(--forum-gold-soft); font-weight: bold; }
|
|
.topic_post .left_side .user_avatar {
|
|
width: 86px; height: 86px; border-radius: 3px; margin: 16px auto; overflow: hidden;
|
|
background: rgba(69, 67, 62, .5);
|
|
box-shadow: inset 0 0 1px 1px rgba(255, 255, 255, .05), inset 0 0 28px rgba(0, 0, 0, .8), 0 0 16px rgba(0, 0, 0, .6);
|
|
}
|
|
.topic_post .left_side .user_avatar.isStaff { border: 1px solid #813c26; box-shadow: 0 0 21px rgba(240, 106, 59, .45); }
|
|
.topic_post .left_side .user_avatar span { display: block; width: 100%; height: 100%; }
|
|
.topic_post .left_side .user_info { text-align: center; }
|
|
h3.post_field {
|
|
border: 1px solid #212322; border-radius: 5px; margin: 8px 4px; display: flex; align-items: center; gap: .5rem; padding: 8px;
|
|
font-size: 12px; font-weight: bold; color: #8a8578;
|
|
}
|
|
h3.post_field dt { min-width: auto; }
|
|
h3.post_field dd { margin: 0; }
|
|
.badge_staff { color: #f06a3b; }
|
|
|
|
.topic_post .right_side .post_container {
|
|
padding: 14px; font-size: 13px; color: #b5b1a3; min-height: 120px;
|
|
text-shadow: 0 1px 1px rgba(0, 0, 0, .6);
|
|
}
|
|
.topic_post .right_side .post_container img { display: block; max-width: 100%; height: auto; }
|
|
/* Enlaces normales del post en dorado; los de wowhead (data-wowhead) se dejan con
|
|
SU color de calidad e icono, sin subrayado, para que se vean como en el tooltip. */
|
|
.topic_post .right_side .post_container a:not([data-wowhead]) { color: var(--forum-gold-soft); text-decoration: underline; }
|
|
/* enlaces de wowhead sin subrayado, tanto en el post como en la vista previa */
|
|
.post_container a[data-wowhead] { text-decoration: none; }
|
|
|
|
/* Vista previa bajo el editor (se ve como el post publicado, con icono/nombre/calidad). */
|
|
.forum-preview { margin-top: 14px; border: 1px solid #2a2723; border-radius: 3px; background: rgba(0, 0, 0, .18); padding: 10px 14px; }
|
|
.forum-preview-label { font-size: 11px; text-transform: uppercase; color: #8a8578; margin-bottom: 8px; }
|
|
.forum-preview .post_container { color: #b5b1a3; font-size: 13px; }
|
|
.forum-preview .post_container img { max-width: 100%; height: auto; }
|
|
|
|
/* Colores de calidad de WoW. theme.css solo trae q3..q6, así que aquí se completan
|
|
q0..q2 y q7 (con !important para ganar al color del enlace del post). Sin esto,
|
|
p.ej. un ítem verde (q2) se quedaba sin color y salía blanco. */
|
|
.post_container a.q0, .q0 { color: #9d9d9d !important; }
|
|
.post_container a.q1, .q1 { color: #ffffff !important; }
|
|
.post_container a.q2, .q2 { color: #1eff00 !important; }
|
|
.post_container a.q3 { color: #0070dd !important; }
|
|
.post_container a.q4 { color: #a335ee !important; }
|
|
.post_container a.q5 { color: #ff8000 !important; }
|
|
.post_container a.q6 { color: #e6cc80 !important; }
|
|
.post_container a.q7, .q7 { color: #00ccff !important; }
|
|
.post_deleted { opacity: .5; }
|
|
|
|
ul.post_controls { display: flex; justify-content: flex-end; align-items: center; gap: 8px; list-style: none; padding: 15px; margin: auto 0 0; }
|
|
ul.post_controls li { display: inline-flex; align-items: center; }
|
|
ul.post_controls .post_date { color: #6d6a5e; font-weight: bold; font-size: 11px; margin-right: auto; }
|
|
|
|
/* quick reply / editor */
|
|
.quick_reply { padding: 0 20px 20px; background: rgba(0, 0, 0, .18); border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03); }
|
|
.quick_reply h2 { font-size: 14px; color: #8a8578; padding: 18px 0; text-transform: uppercase; text-align: left; }
|
|
.forum-form-actions { display: flex; align-items: center; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
|
|
.forum-form-actions .right-0 { margin-left: auto; }
|
|
|
|
.forum-input {
|
|
width: 100%; padding: 12px; margin: 12px 0; border: none; border-radius: 3px; color: #d4cdbb; font-size: 14px;
|
|
background: rgba(0, 0, 0, .25); box-shadow: inset 1px 1px 2px rgba(0, 0, 0, .25), inset 0 0 10px rgba(0, 0, 0, .1);
|
|
}
|
|
.forum-input::placeholder { color: #6d6a5e; }
|
|
|
|
/* Botón del foro: mismo lenguaje que el <button> del tema (theme.css:159),
|
|
el que sale como «Editar» en el resto de la web (fondo translúcido, texto
|
|
crema, mayúsculas, aclara al hover). NO un dorado propio. */
|
|
.nice_button {
|
|
/* inline-flex + altura fija para que <a> y <button> queden a la MISMA altura:
|
|
los <button> heredan height:50px del tema y los <a> no, y eso descuadraba la
|
|
fila (se notaba sobre todo en «Borrar», que es un <button>). box-sizing evita
|
|
que el padding sume por encima de la altura. */
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
box-sizing: border-box;
|
|
height: 42px;
|
|
padding: 0 20px;
|
|
border: 0;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
font-family: futuraef-book, Arial, sans-serif;
|
|
font-size: 15px;
|
|
line-height: 1;
|
|
text-transform: uppercase;
|
|
text-decoration: none;
|
|
color: #ebdec2;
|
|
background: hsla(0, 0%, 100%, 0.05);
|
|
transition: 0.4s;
|
|
}
|
|
/* Estados de enlace: sin esto, el `a:visited/:link { color:#2471a9 }` del tema
|
|
(más específico que .nice_button) pinta de azul el texto de «Crear tema». */
|
|
a.nice_button,
|
|
a.nice_button:link,
|
|
a.nice_button:visited {
|
|
color: #ebdec2;
|
|
}
|
|
.nice_button:hover,
|
|
.nice_button:focus,
|
|
a.nice_button:hover,
|
|
a.nice_button:focus {
|
|
background: hsla(0, 0%, 100%, 0.1);
|
|
color: #fff;
|
|
}
|
|
.nice_button:disabled {
|
|
color: #5c4c44;
|
|
cursor: default;
|
|
background: hsla(0, 0%, 100%, 0.05);
|
|
}
|
|
|
|
/* ===================== responsive ===================== */
|
|
@media (max-width: 991px) {
|
|
.forum-container { margin: 0; }
|
|
.forum-padding { margin: 0; }
|
|
}
|
|
@media (max-width: 767px) {
|
|
.forum-row .post, .forum-row .topics { display: none; }
|
|
ul.topic_row .lastpost { display: none; }
|
|
.topic_post .left_side { flex-basis: 100%; }
|
|
.topic_post .left_side .user_avatar { width: 56px; height: 56px; }
|
|
}
|
|
|
|
/* Nombre de hermandad junto al personaje en el foro */
|
|
.username_guild { color: #c8a24c; font-weight: 400; font-size: .8em; }
|
|
|
|
/* ===== Selector de personaje del foro ===== */
|
|
.forum-charpick { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px;
|
|
background: #17140f; border: 1px solid #2b2620; border-radius: 8px; padding: 10px 14px; }
|
|
.forum-charpick-as { color: #9a948a; font-size: 13px; }
|
|
.forum-charpick-as b { font-weight: 700; }
|
|
.forum-charpick-auto { color: #b8b0a2 !important; font-weight: 600; }
|
|
.forum-charpick-btn { display: inline-flex; align-items: center; gap: 7px; background: #241f19;
|
|
border: 1px solid #3a342b; color: #e6ddc9; border-radius: 6px; padding: 7px 13px; cursor: pointer;
|
|
font-family: inherit; font-size: 13px; transition: border-color .15s, color .15s; }
|
|
.forum-charpick-btn:hover { border-color: #c8a24c; color: #fff; }
|
|
.forum-charpick-btn > i { color: #c8a24c; }
|
|
|
|
.forum-charpick-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(0,0,0,.65);
|
|
display: flex; align-items: center; justify-content: center; padding: 20px; }
|
|
.forum-charpick-modal { width: 100%; max-width: 460px; max-height: 80vh; display: flex; flex-direction: column;
|
|
background: #14110c; border: 1px solid #c8a24c; border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,.6); overflow: hidden; }
|
|
.forum-charpick-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px;
|
|
border-bottom: 1px solid #2b2620; }
|
|
.forum-charpick-head h3 { margin: 0; font-size: 18px; font-weight: 800; color: #e6b53c; }
|
|
.forum-charpick-close { background: #241f19; border: 1px solid #3a342b; color: #d9c9a0; width: 32px; height: 32px;
|
|
border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
|
|
.forum-charpick-close:hover { border-color: #c8a24c; color: #fff; }
|
|
.forum-charpick-search { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid #201c16; }
|
|
.forum-charpick-search > i { color: #7d7568; }
|
|
.forum-charpick-search input { flex: 1; background: #17140f; border: 1px solid #3a342b; color: #e6ddc9;
|
|
border-radius: 6px; padding: 8px 10px; font-family: inherit; font-size: 14px; }
|
|
.forum-charpick-search input:focus { outline: none; border-color: #c8a24c; }
|
|
.forum-charpick-list { overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 6px; }
|
|
.forum-charpick-empty { color: #8a847a; text-align: center; padding: 20px; margin: 0; }
|
|
.forum-charpick-item { display: flex; align-items: center; gap: 12px; background: #17140f; border: 1px solid #2b2620;
|
|
border-radius: 8px; padding: 8px 10px; cursor: pointer; font-family: inherit; text-align: left; width: 100%;
|
|
transition: border-color .15s, background .15s; }
|
|
.forum-charpick-item:hover { border-color: #c8a24c; background: #1e1a13; }
|
|
.forum-charpick-item.active { border-color: #c8a24c; background: #241f19; }
|
|
.forum-charpick-ava { width: 48px; height: 48px; border-radius: 8px; border: 1px solid #3a342b; flex: 0 0 auto; }
|
|
.forum-charpick-info { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
|
|
.forum-charpick-name { font-weight: 700; font-size: 15px; }
|
|
.forum-charpick-sub { color: #9a948a; font-size: 12px; }
|
|
.forum-charpick-chk { color: #4ade5f; margin-left: auto; }
|