diff --git a/src/app/globals.css b/src/app/globals.css
index d4414e9..94cda99 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -114,7 +114,8 @@
.btn-sweep::before,
.account-dot,
.featured-cf::before,
- .featured-cap { animation: none !important; }
+ .featured-cap,
+ .minnect-card { animation: none !important; }
.featured-item,
.featured-ring,
.featured-dot { transition: none !important; }
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index b9a39c0..95a647b 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -12,6 +12,8 @@ import "../styles/post.css";
import "../styles/composer.css";
import "../styles/featured.css";
import "../styles/feed.css";
+import "../styles/trending.css";
+import "../styles/search.css";
import "../styles/legacy.css";
const manrope = Manrope({
diff --git a/src/components/ExpertSearch.tsx b/src/components/ExpertSearch.tsx
index d94c9d1..cce7eb7 100644
--- a/src/components/ExpertSearch.tsx
+++ b/src/components/ExpertSearch.tsx
@@ -1,5 +1,6 @@
"use client";
+import { SweepButton } from "@/components/Buttons";
import { HexAvatar } from "@/components/HexAvatar";
import { useEffect, useRef, useState } from "react";
import type { DiscoverCategory } from "@/lib/discover";
@@ -27,28 +28,30 @@ export function ExpertSearchView(p: ExpertSearchViewProps) {
{p.categories.length > 0 ? (
{p.categories.map((c) => (
-
+ />
))}
) : null}
@@ -59,15 +62,20 @@ export function ExpertSearchView(p: ExpertSearchViewProps) {
No experts found.
) : null}
{p.status === "ready" && p.results.length > 0 ? (
-
+
{p.results.map((e) => (
- -
+
-
-
-
{e.displayName || "Expert"}
- {e.byline ?
{e.byline} : null}
- {e.rating !== null ?
★ {e.rating.toFixed(1)} : null}
+
+ {e.displayName || "Expert"}
+ {e.byline ? {e.byline} : null}
+ {e.rating !== null ? (
+
+
+ {e.rating.toFixed(1)}
+
+ ) : null}
))}
diff --git a/src/components/MinnectMedia.tsx b/src/components/MinnectMedia.tsx
index c315e25..892b8b0 100644
--- a/src/components/MinnectMedia.tsx
+++ b/src/components/MinnectMedia.tsx
@@ -1,6 +1,7 @@
"use client";
-import { useState } from "react";
+import { useRef, useState } from "react";
+import { HexAvatar } from "@/components/HexAvatar";
import type { DiscoverMedia } from "@/lib/discover";
interface Props {
@@ -8,36 +9,75 @@ interface Props {
thumbnailUrl: string | null;
question: string | null;
who: string;
+ pictureUrl?: string | null;
+ views?: number | null;
}
-/** Video answers play inline; audio keeps the audio control; no url shows the thumbnail only. */
-export function MinnectMedia({ media, thumbnailUrl, question, who }: Props) {
+/**
+ * The trending card's 16:9 frame. Video answers play inline as a