diff --git a/.changeset/cuddly-bikes-drop.md b/.changeset/cuddly-bikes-drop.md new file mode 100644 index 000000000..dc5c64731 --- /dev/null +++ b/.changeset/cuddly-bikes-drop.md @@ -0,0 +1,5 @@ +--- +"nostrudel": minor +--- + +Create about tab in profile view diff --git a/.changeset/great-ties-compare.md b/.changeset/great-ties-compare.md new file mode 100644 index 000000000..fd19080a6 --- /dev/null +++ b/.changeset/great-ties-compare.md @@ -0,0 +1,5 @@ +--- +"nostrudel": minor +--- + +Virtulize following and followers tabs in profile view diff --git a/.changeset/nervous-otters-wink.md b/.changeset/nervous-otters-wink.md new file mode 100644 index 000000000..59702ce53 --- /dev/null +++ b/.changeset/nervous-otters-wink.md @@ -0,0 +1,5 @@ +--- +"nostrudel": minor +--- + +Add profile stats from nostr.band diff --git a/.changeset/soft-yaks-lie.md b/.changeset/soft-yaks-lie.md new file mode 100644 index 000000000..6b63904b4 --- /dev/null +++ b/.changeset/soft-yaks-lie.md @@ -0,0 +1,5 @@ +--- +"nostrudel": patch +--- + +Fix redirect not working on login view diff --git a/package.json b/package.json index 40f050687..c24f1ac6b 100644 --- a/package.json +++ b/package.json @@ -30,16 +30,19 @@ "react-router-dom": "^6.11.2", "react-singleton-hook": "^4.0.1", "react-use": "^17.4.0", + "react-virtualized-auto-sizer": "^1.0.20", + "react-window": "^1.8.9", "webln": "^0.3.2" }, "devDependencies": { - "@testing-library/cypress": "^9.0.0", - "cypress": "^12.13.0", "@changesets/cli": "^2.26.1", + "@testing-library/cypress": "^9.0.0", "@types/identicon.js": "^2.3.1", "@types/react": "^18.2.7", "@types/react-dom": "^18.2.4", + "@types/react-window": "^1.8.5", "@vitejs/plugin-react": "^4.0.0", + "cypress": "^12.13.0", "prettier": "^2.8.8", "typescript": "^5.0.4", "vite": "^4.3.8", diff --git a/src/app.tsx b/src/app.tsx index f39a9d2a8..dcd3ada64 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -34,6 +34,7 @@ import appSettings from "./services/app-settings"; import UserMediaTab from "./views/user/media"; import ToolsHomeView from "./views/tools"; import Nip19ToolsView from "./views/tools/nip19"; +import UserAboutTab from "./views/user/about"; // code split search view because QrScanner library is 400kB const SearchView = React.lazy(() => import("./views/search")); @@ -64,7 +65,8 @@ const router = createHashRouter([ path: "/u/:pubkey", element: , children: [ - { path: "", element: }, + { path: "", element: }, + { path: "about", element: }, { path: "notes", element: }, { path: "media", element: }, { path: "zaps", element: }, diff --git a/src/components/embed-types/common.tsx b/src/components/embed-types/common.tsx index bee8ff359..497d6730a 100644 --- a/src/components/embed-types/common.tsx +++ b/src/components/embed-types/common.tsx @@ -43,7 +43,7 @@ export function renderVideoUrl(match: URL) { return