Show global feed when logged out
This commit is contained in:
parent
503b0e0f7a
commit
8f824aaa63
@ -3,13 +3,13 @@ import EventKind from "../nostr/EventKind";
|
|||||||
import { Subscriptions } from "../nostr/Subscriptions";
|
import { Subscriptions } from "../nostr/Subscriptions";
|
||||||
import useSubscription from "./Subscription";
|
import useSubscription from "./Subscription";
|
||||||
|
|
||||||
export default function useTimelineFeed(pubKeys) {
|
export default function useTimelineFeed(pubKeys, global = false) {
|
||||||
const sub = useMemo(() => {
|
const sub = useMemo(() => {
|
||||||
if (!Array.isArray(pubKeys)) {
|
if (!Array.isArray(pubKeys)) {
|
||||||
pubKeys = [pubKeys];
|
pubKeys = [pubKeys];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pubKeys || pubKeys.length === 0) {
|
if (!global && (!pubKeys || pubKeys.length === 0)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|||||||
export default function Layout(props) {
|
export default function Layout(props) {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
const isInit = useSelector(s => s.login.loggedOut);
|
||||||
const key = useSelector(s => s.login.publicKey);
|
const key = useSelector(s => s.login.publicKey);
|
||||||
const relays = useSelector(s => s.login.relays);
|
const relays = useSelector(s => s.login.relays);
|
||||||
const notifications = useSelector(s => s.login.notifications);
|
const notifications = useSelector(s => s.login.notifications);
|
||||||
@ -46,6 +47,10 @@ export default function Layout(props) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (typeof isInit !== "boolean") {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="page">
|
<div className="page">
|
||||||
<div className="header">
|
<div className="header">
|
||||||
|
@ -3,11 +3,12 @@ import { useSelector } from "react-redux";
|
|||||||
import Note from "../element/Note";
|
import Note from "../element/Note";
|
||||||
import useTimelineFeed from "../feed/TimelineFeed";
|
import useTimelineFeed from "../feed/TimelineFeed";
|
||||||
import { NoteCreator } from "../element/NoteCreator";
|
import { NoteCreator } from "../element/NoteCreator";
|
||||||
|
import { useMemo } from "react";
|
||||||
|
|
||||||
export default function RootPage() {
|
export default function RootPage() {
|
||||||
const pubKey = useSelector(s => s.login.publicKey);
|
const [loggedOut, pubKey, follows] = useSelector(s => [s.login.loggedOut, s.login.publicKey, s.login.follows]);
|
||||||
const follows = useSelector(a => a.login.follows);
|
|
||||||
const { notes } = useTimelineFeed(follows);
|
const { notes } = useTimelineFeed(follows, loggedOut === true);
|
||||||
|
|
||||||
function followHints() {
|
function followHints() {
|
||||||
if (follows?.length === 0 && pubKey) {
|
if (follows?.length === 0 && pubKey) {
|
||||||
|
@ -8,6 +8,11 @@ const NotificationsReadItem = "notifications-read";
|
|||||||
const LoginSlice = createSlice({
|
const LoginSlice = createSlice({
|
||||||
name: "Login",
|
name: "Login",
|
||||||
initialState: {
|
initialState: {
|
||||||
|
/**
|
||||||
|
* If there is no login
|
||||||
|
*/
|
||||||
|
loggedOut: null,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Current user private key
|
* Current user private key
|
||||||
*/
|
*/
|
||||||
@ -49,7 +54,11 @@ const LoginSlice = createSlice({
|
|||||||
if (state.privateKey) {
|
if (state.privateKey) {
|
||||||
window.localStorage.removeItem(Nip07PublicKeyItem); // reset nip07 if using private key
|
window.localStorage.removeItem(Nip07PublicKeyItem); // reset nip07 if using private key
|
||||||
state.publicKey = secp.utils.bytesToHex(secp.schnorr.getPublicKey(state.privateKey, true));
|
state.publicKey = secp.utils.bytesToHex(secp.schnorr.getPublicKey(state.privateKey, true));
|
||||||
|
state.loggedOut = false;
|
||||||
|
} else {
|
||||||
|
state.loggedOut = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
state.relays = {
|
state.relays = {
|
||||||
"wss://nostr.v0l.io": { read: true, write: true },
|
"wss://nostr.v0l.io": { read: true, write: true },
|
||||||
"wss://relay.damus.io": { read: true, write: true },
|
"wss://relay.damus.io": { read: true, write: true },
|
||||||
|
Loading…
Reference in New Issue
Block a user