@@ -225,6 +227,7 @@ export function NoteInner(props: NoteProps) {
creator={ev.pubkey}
depth={props.depth}
disableMedia={!(options.showMedia ?? true)}
+ disableMediaSpotlight={!(props.options?.showMediaSpotlight ?? true)}
/>
);
}
diff --git a/packages/app/src/Element/ProfilePreview.css b/packages/app/src/Element/ProfilePreview.css
index 2d0dbf23..00211cc0 100644
--- a/packages/app/src/Element/ProfilePreview.css
+++ b/packages/app/src/Element/ProfilePreview.css
@@ -2,7 +2,6 @@
display: flex;
align-items: center;
min-height: 59px;
- padding: 0 16px;
}
.profile-preview .pfp {
diff --git a/packages/app/src/Element/Thread.tsx b/packages/app/src/Element/Thread.tsx
index 4bbe091a..efd0e30c 100644
--- a/packages/app/src/Element/Thread.tsx
+++ b/packages/app/src/Element/Thread.tsx
@@ -216,7 +216,7 @@ export function ThreadRoute() {
);
}
-export function Thread(props: { onBack?: () => void }) {
+export function Thread(props: { onBack?: () => void; disableSpotlight?: boolean }) {
const thread = useContext(ThreadContext);
const navigate = useNavigate();
@@ -248,7 +248,7 @@ export function Thread(props: { onBack?: () => void }) {
key={note.id}
data={note}
related={getReactions(thread.reactions, note.id)}
- options={{ showReactionsLink: true }}
+ options={{ showReactionsLink: true, showMediaSpotlight: !props.disableSpotlight }}
onClick={navigateThread}
/>
);
diff --git a/packages/app/src/Element/Zap.tsx b/packages/app/src/Element/Zap.tsx
index a9ecfd01..96071297 100644
--- a/packages/app/src/Element/Zap.tsx
+++ b/packages/app/src/Element/Zap.tsx
@@ -16,20 +16,16 @@ const Zap = ({ zap, showZapped = true }: { zap: ParsedZap; showZapped?: boolean
const pubKey = useLogin().publicKey;
return valid && sender ? (
-
-
+
+
{receiver !== pubKey && showZapped &&
}
-
-
-
-
-
+
+
+
{(content?.length ?? 0) > 0 && sender && (
-
-
-
+
)}
) : null;
diff --git a/packages/app/src/Pages/Deck.css b/packages/app/src/Pages/Deck.css
index e2035ddd..81147ddf 100644
--- a/packages/app/src/Pages/Deck.css
+++ b/packages/app/src/Pages/Deck.css
@@ -52,20 +52,23 @@
cursor: pointer;
}
-.thread-overlay .modal-body {
+.modal.thread-overlay > .modal-body {
background-color: unset;
padding: 0;
width: 100vw;
height: 100vh;
+ --border-color: #3a3a3a;
+}
+
+.modal.thread-overlay > .modal-body > div {
display: flex;
flex-direction: row;
border-radius: unset;
justify-content: center;
gap: 16px;
- --border-color: #3a3a3a;
}
-.thread-overlay .modal-body > div:last-of-type {
+.modal.thread-overlay > .modal-body > div > div:last-of-type {
width: 550px;
min-width: 550px;
height: 100vh;
diff --git a/packages/app/src/Pages/DeckLayout.tsx b/packages/app/src/Pages/DeckLayout.tsx
index 651a1e00..1be3bf7d 100644
--- a/packages/app/src/Pages/DeckLayout.tsx
+++ b/packages/app/src/Pages/DeckLayout.tsx
@@ -64,7 +64,7 @@ export function SnortDeckLayout() {
case "articles":
return
;
case "notifications":
- return
;
+ return
;
}
})}
@@ -74,7 +74,7 @@ export function SnortDeckLayout() {
deckScope.setThread(undefined)} />
- deckScope.setThread(undefined)} />
+ deckScope.setThread(undefined)} disableSpotlight={true} />
@@ -167,7 +167,7 @@ function MediaCol({ setThread }: { setThread: (e: NostrLink) => void }) {
);
}
-function NotificationsCol() {
+function NotificationsCol({ setThread }: { setThread: (e: NostrLink) => void }) {
return (
@@ -175,7 +175,7 @@ function NotificationsCol() {
-
+
);
diff --git a/packages/app/src/Pages/Notifications.tsx b/packages/app/src/Pages/Notifications.tsx
index f4e81b84..1d47a684 100644
--- a/packages/app/src/Pages/Notifications.tsx
+++ b/packages/app/src/Pages/Notifications.tsx
@@ -17,6 +17,8 @@ import useModeration from "Hooks/useModeration";
import { useEventFeed } from "Feed/EventFeed";
import Text from "Element/Text";
import { formatShort } from "Number";
+import { LiveEvent } from "Element/LiveEvent";
+import ProfilePreview from "Element/ProfilePreview";
function notificationContext(ev: TaggedNostrEvent) {
switch (ev.kind) {
@@ -55,7 +57,7 @@ function notificationContext(ev: TaggedNostrEvent) {
}
}
-export default function NotificationsPage() {
+export default function NotificationsPage({ onClick }: { onClick?: (link: NostrLink) => void }) {
const login = useLogin();
const { isMuted } = useModeration();
const groupInterval = 3600 * 3;
@@ -90,15 +92,17 @@ export default function NotificationsPage() {
return (
- {login.publicKey && [...timeGrouped.entries()].map(([k, g]) => )}
+ {login.publicKey &&
+ [...timeGrouped.entries()].map(([k, g]) => )}
);
}
-function NotificationGroup({ evs }: { evs: Array
}) {
+function NotificationGroup({ evs, onClick }: { evs: Array; onClick?: (link: NostrLink) => void }) {
const { ref, inView } = useInView({ triggerOnce: true });
const { formatMessage } = useIntl();
const kind = evs[0].kind;
+ const navigate = useNavigate();
const zaps = useMemo(() => {
return evs.filter(a => a.kind === EventKind.ZapReceipt).map(a => parseZap(a, UserCache));
@@ -183,7 +187,7 @@ function NotificationGroup({ evs }: { evs: Array }) {