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