From 81ac966a0303dea72470bc78ab54f2d85bc274bc Mon Sep 17 00:00:00 2001 From: Kieran Date: Thu, 29 Dec 2022 15:36:40 +0000 Subject: [PATCH] Add fa icons --- src/element/Note.js | 19 +++++++++++++------ src/element/ProfileImage.css | 1 + src/index.css | 9 +++++++++ src/pages/Layout.css | 3 +++ src/pages/Layout.js | 17 ++++++++++++++++- 5 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 src/pages/Layout.css diff --git a/src/element/Note.js b/src/element/Note.js index a2bc6b1e..2d3b8219 100644 --- a/src/element/Note.js +++ b/src/element/Note.js @@ -3,6 +3,9 @@ import { useEffect, useState } from "react"; import { useSelector } from "react-redux"; import moment from "moment"; import { Link, useNavigate } from "react-router-dom"; +import { faHeart, faReply, faInfo } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; + import Event from "../nostr/Event"; import ProfileImage from "./ProfileImage"; import useEventPublisher from "../pages/feed/EventPublisher"; @@ -89,7 +92,7 @@ export default function Note(props) { let idx = parseInt(matchTag[1]); let ref = ev.Tags.find(a => a.Index === idx); if (ref) { - switch(ref.Key) { + switch (ref.Key) { case "p": { let pUser = users[ref.PubKey]?.name ?? ref.PubKey.substring(0, 8); return @{pUser}; @@ -99,8 +102,8 @@ export default function Note(props) { return #{eText}; } } - } - return {matchTag[0]}?; + } + return {matchTag[0]}?; } else { return match; } @@ -129,7 +132,7 @@ export default function Note(props) { return (
- +
{moment(ev.CreatedAt * 1000).fromNow()}
@@ -138,11 +141,15 @@ export default function Note(props) { {transformBody()}
+ {}}> + + like()}> - 👍 {(reactions?.length ?? 0)} +   + {(reactions?.length ?? 0)} console.debug(ev)}> - i +
diff --git a/src/element/ProfileImage.css b/src/element/ProfileImage.css index 8d167b04..4838fb72 100644 --- a/src/element/ProfileImage.css +++ b/src/element/ProfileImage.css @@ -8,4 +8,5 @@ height: 40px; margin-right: 20px; border-radius: 10px; + cursor: pointer; } \ No newline at end of file diff --git a/src/index.css b/src/index.css index 1ca688b4..06a10021 100644 --- a/src/index.css +++ b/src/index.css @@ -32,6 +32,11 @@ code { flex-grow: 1; } +.page > .header > div:nth-child(2) { + display: flex; + align-items: center; +} + .btn { padding: 10px; border-radius: 5px; @@ -50,6 +55,10 @@ code { padding: 5px; } +.btn-rnd { + border-radius: 25px; +} + input[type="text"], input[type="password"] { padding: 10px; border-radius: 5px; diff --git a/src/pages/Layout.css b/src/pages/Layout.css new file mode 100644 index 00000000..20ef3ef7 --- /dev/null +++ b/src/pages/Layout.css @@ -0,0 +1,3 @@ +.notifications { + margin-right: 10px; +} \ No newline at end of file diff --git a/src/pages/Layout.js b/src/pages/Layout.js index 2617209e..1a8be80a 100644 --- a/src/pages/Layout.js +++ b/src/pages/Layout.js @@ -1,11 +1,15 @@ +import "./Layout.css"; import { useContext, useEffect } from "react" import { useDispatch, useSelector } from "react-redux"; import { useNavigate } from "react-router-dom"; +import { faBell } from "@fortawesome/free-solid-svg-icons"; + import { NostrContext } from ".." import ProfileImage from "../element/ProfileImage"; import { init } from "../state/Login"; import useLoginFeed from "./feed/LoginFeed"; import useUsersCache from "./feed/UsersFeed"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; export default function Layout(props) { const dispatch = useDispatch(); @@ -28,12 +32,23 @@ export default function Layout(props) { dispatch(init()); }, []); + function accountHeader() { + return ( + <> +
+ +
+ + + ) + } + return (
navigate("/")}>n o s t r
- {key ? : + {key ? accountHeader() :
navigate("/login")}>Login
}