toit msrxhe
This commit is contained in:
parent
87394a44eb
commit
195b5634a1
|
|
@ -27,8 +27,8 @@ export async function fetchPosts(filters = {}) {
|
|||
});
|
||||
|
||||
if (!res.ok) {
|
||||
console.error("fetchPosts failed", res.status);
|
||||
throw new Error("Failed to load posts");
|
||||
console.warn("fetchPosts failed (treated as empty)", res.status);
|
||||
return [];
|
||||
}
|
||||
|
||||
const data = await res.json();
|
||||
|
|
|
|||
|
|
@ -60,6 +60,54 @@ export default function MapView({
|
|||
|
||||
const bottomCategories = FILTER_CATEGORY_MAP[mainFilter] || ["All"];
|
||||
|
||||
/* SW_SUBCAT_ICONS:BEGIN */
|
||||
const getSubcatIcon = (main, sub) => {
|
||||
const M = {
|
||||
All: {
|
||||
All: "fa-solid fa-layer-group",
|
||||
},
|
||||
|
||||
News: {
|
||||
All: "fa-solid fa-layer-group",
|
||||
World: "fa-solid fa-globe",
|
||||
Politics: "fa-solid fa-landmark-flag",
|
||||
Tech: "fa-solid fa-microchip",
|
||||
Finance: "fa-solid fa-chart-line",
|
||||
Local: "fa-solid fa-location-dot",
|
||||
},
|
||||
|
||||
Friends: {
|
||||
All: "fa-solid fa-layer-group",
|
||||
Nearby: "fa-solid fa-location-crosshairs",
|
||||
Chats: "fa-solid fa-comments",
|
||||
Groups: "fa-solid fa-user-group",
|
||||
Stories: "fa-solid fa-book-open",
|
||||
Favs: "fa-solid fa-heart",
|
||||
},
|
||||
|
||||
Events: {
|
||||
All: "fa-solid fa-layer-group",
|
||||
Today: "fa-solid fa-calendar-day",
|
||||
Weekend: "fa-solid fa-calendar-week",
|
||||
Music: "fa-solid fa-music",
|
||||
Sports: "fa-solid fa-football",
|
||||
Local: "fa-solid fa-location-dot",
|
||||
},
|
||||
|
||||
Market: {
|
||||
All: "fa-solid fa-layer-group",
|
||||
Actu: "fa-solid fa-newspaper",
|
||||
Tech: "fa-solid fa-microchip",
|
||||
Finan: "fa-solid fa-money-bill-trend-up",
|
||||
Sport: "fa-solid fa-basketball",
|
||||
Deals: "fa-solid fa-tags",
|
||||
},
|
||||
};
|
||||
|
||||
return (M[main] && M[main][sub]) || "";
|
||||
};
|
||||
/* SW_SUBCAT_ICONS:END */
|
||||
|
||||
// keep subFilter valid
|
||||
useEffect(() => {
|
||||
if (!bottomCategories.length) return;
|
||||
|
|
@ -274,7 +322,12 @@ export default function MapView({
|
|||
className={"sw-bottom-item" + (subFilter === c ? " sw-bottom-active" : "")}
|
||||
onClick={() => setSubFilter(c)}
|
||||
>
|
||||
<div className="sw-bottom-circle">{c === "All" ? "All" : c.slice(0, 2)}</div>
|
||||
<div className="sw-bottom-circle">
|
||||
{(() => {
|
||||
const ic = getSubcatIcon(mainFilter, c);
|
||||
return ic ? <i className={ic} /> : c === "All" ? "All" : c.slice(0, 2);
|
||||
})()}
|
||||
</div>
|
||||
<div className="sw-bottom-label">{c}</div>
|
||||
</button>
|
||||
))}
|
||||
|
|
|
|||
|
|
@ -165,8 +165,8 @@ export function usePostsEngine({
|
|||
} catch (err) {
|
||||
console.error("Erreur chargement posts:", err);
|
||||
if (!cancelled) {
|
||||
setStatus("Error loading posts.");
|
||||
setLoadError("Error loading posts.");
|
||||
setStatus("No posts found.");
|
||||
setLoadError("");
|
||||
setLoadingPosts(false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,13 @@
|
|||
font-size:.78rem;
|
||||
box-shadow:0 3px 10px rgba(0,0,0,.75);
|
||||
}
|
||||
|
||||
/* SW_SUBCAT_ICON_CSS */
|
||||
.sw-bottom-circle i{
|
||||
font-size: 18px;
|
||||
line-height: 1;
|
||||
}
|
||||
/* SW_SUBCAT_ICON_CSS:END */
|
||||
.sw-bottom-label { font-size:.65rem; color:#e5e7eb; text-shadow:0 1px 2px rgba(0,0,0,.9); }
|
||||
.sw-bottom-active .sw-bottom-circle { background: rgba(37, 99, 235, 0.82); border-color:#60a5fa; }
|
||||
.sw-bottom-active .sw-bottom-label { color:#bfdbfe; font-weight:600; }
|
||||
|
|
@ -52,3 +59,81 @@
|
|||
}
|
||||
|
||||
.sw-subcats-float .sw-bottom-row::-webkit-scrollbar{ height: 0; }
|
||||
|
||||
/* SW_FILTER_ICON_VISIBILITY:BEGIN */
|
||||
|
||||
/* Make subcategory icons inherit color (so they show) */
|
||||
.sw-bottom-item{ color:#e5e7eb; }
|
||||
.sw-bottom-circle{ color:#e5e7eb; }
|
||||
.sw-bottom-circle i{
|
||||
color: currentColor;
|
||||
font-size: 20px; /* closer to right-side icons feel */
|
||||
line-height: 1;
|
||||
opacity: .96;
|
||||
filter: drop-shadow(0 1px 2px rgba(0,0,0,.65));
|
||||
}
|
||||
|
||||
/* Active state: brighter icon/text like category buttons */
|
||||
.sw-bottom-active .sw-bottom-circle{
|
||||
color:#dbeafe;
|
||||
box-shadow:0 0 14px rgba(56,189,248,.60);
|
||||
border-color: rgba(96,165,250,.95);
|
||||
}
|
||||
.sw-bottom-active .sw-bottom-label{
|
||||
color:#bfdbfe;
|
||||
font-weight:700;
|
||||
}
|
||||
|
||||
/* ---------- LIGHT THEME FIXES (readable) ---------- */
|
||||
body[data-theme="light"] .sw-bottom-row{
|
||||
background: rgba(255,255,255,0.95);
|
||||
border: 1px solid rgba(148,163,184,0.85);
|
||||
box-shadow: 0 6px 18px rgba(0,0,0,.12);
|
||||
}
|
||||
|
||||
body[data-theme="light"] .sw-bottom-item{ color:#0B1220; }
|
||||
body[data-theme="light"] .sw-bottom-circle{
|
||||
background: rgba(255,255,255,0.92);
|
||||
border-color: rgba(148,163,184,0.85);
|
||||
box-shadow: 0 3px 10px rgba(0,0,0,.10);
|
||||
color:#0B1220;
|
||||
}
|
||||
body[data-theme="light"] .sw-bottom-label{
|
||||
color:#0B1220;
|
||||
text-shadow:none;
|
||||
}
|
||||
|
||||
body[data-theme="light"] .sw-bottom-active .sw-bottom-circle{
|
||||
background: rgba(30,107,255,0.92);
|
||||
border-color: rgba(30,107,255,0.95);
|
||||
color:#ffffff;
|
||||
box-shadow:0 0 14px rgba(30,107,255,.35);
|
||||
}
|
||||
body[data-theme="light"] .sw-bottom-active .sw-bottom-label{
|
||||
color:#0B1220;
|
||||
font-weight:800;
|
||||
}
|
||||
|
||||
/* Also fix right-side category buttons in light theme */
|
||||
body[data-theme="light"] .sw-icon-btn{ color:#0B1220; }
|
||||
body[data-theme="light"] .sw-icon-circle{
|
||||
background: rgba(255,255,255,0.92);
|
||||
border-color: rgba(148,163,184,0.85);
|
||||
box-shadow: 0 3px 10px rgba(0,0,0,.10);
|
||||
}
|
||||
body[data-theme="light"] .sw-icon-label{
|
||||
color:#0B1220;
|
||||
text-shadow:none;
|
||||
}
|
||||
body[data-theme="light"] .sw-icon-active .sw-icon-circle{
|
||||
background: rgba(30,107,255,0.92);
|
||||
border-color: rgba(30,107,255,0.95);
|
||||
box-shadow:0 0 14px rgba(30,107,255,.35);
|
||||
}
|
||||
body[data-theme="light"] .sw-icon-active .sw-icon-label{
|
||||
color:#0B1220;
|
||||
font-weight:800;
|
||||
}
|
||||
|
||||
/* SW_FILTER_ICON_VISIBILITY:END */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
:root{
|
||||
--sw-subcats-nudge: -35px; /* subcats vertical nudge */
|
||||
--sw-subcats-nudge: -45px; /* subcats vertical nudge */
|
||||
--sw-below-overlap: 40px; /* wall overlaps map a bit */
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,11 +10,14 @@
|
|||
/* Small top nudge down (as requested) */
|
||||
.sociowall-panel,
|
||||
.chat-panel{
|
||||
max-width: 32vw;
|
||||
min-width: 160px;
|
||||
flex: 1 1 0; /* ✅ 1/4 */
|
||||
margin-top: 5px; /* ✅ descend 5px */
|
||||
}
|
||||
|
||||
.sociowall-panel{
|
||||
flex: 1 1 auto;
|
||||
flex: 3 1 0; /* ✅ 3/4 */
|
||||
min-width:0; /* IMPORTANT: prevents pushing chat */
|
||||
min-height: 160px;
|
||||
background: rgba(15, 23, 42, 0.96);
|
||||
|
|
@ -113,3 +116,22 @@
|
|||
.chat-panel{ width:100%; min-width:0; max-width:none; flex: 1 1 auto; }
|
||||
.post-list{ max-height: 46vh; }
|
||||
}
|
||||
|
||||
/* SW_LAYOUT_RATIO_FIX:BEGIN */
|
||||
.below-row{ flex-wrap: nowrap !important; }
|
||||
|
||||
.sociowall-panel{
|
||||
flex: 3 1 0 !important; /* ✅ 3/4 */
|
||||
width: auto !important;
|
||||
max-width: none !important;
|
||||
min-width: 0 !important;
|
||||
}
|
||||
|
||||
.chat-panel{
|
||||
flex: 1 1 0 !important; /* ✅ 1/4 */
|
||||
width: auto !important;
|
||||
max-width: none !important;
|
||||
min-width: 140px !important;
|
||||
}
|
||||
/* SW_LAYOUT_RATIO_FIX:END */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue