diff --git a/README.md b/README.md index 471f7f45..eb8d3f4c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,15 @@ -# jumble +
+ + + + Jumble Logo + +

logo designed by Daniel David

+
-Yet another Nostr client +# Jumble + +A beautiful nostr client focused on browsing relay feeds ## Features diff --git a/build/icon.icns b/build/icon.icns index 0a4cce05..a68cbb5b 100644 Binary files a/build/icon.icns and b/build/icon.icns differ diff --git a/build/icon.ico b/build/icon.ico index d21ccecb..7a4a1f90 100644 Binary files a/build/icon.ico and b/build/icon.ico differ diff --git a/build/icon.png b/build/icon.png index 523ef688..d180f336 100644 Binary files a/build/icon.png and b/build/icon.png differ diff --git a/build/icon@2x.png b/build/icon@2x.png new file mode 100644 index 00000000..968ea558 Binary files /dev/null and b/build/icon@2x.png differ diff --git a/resources/icon.png b/resources/icon.png index 523ef688..d180f336 100644 Binary files a/resources/icon.png and b/resources/icon.png differ diff --git a/resources/icon.svg b/resources/icon.svg new file mode 100644 index 00000000..bac79931 --- /dev/null +++ b/resources/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/logo-dark.svg b/resources/logo-dark.svg new file mode 100644 index 00000000..18406178 --- /dev/null +++ b/resources/logo-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/logo-light.svg b/resources/logo-light.svg new file mode 100644 index 00000000..f1e3c92b --- /dev/null +++ b/resources/logo-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/og-image.png b/resources/og-image.png new file mode 100644 index 00000000..cbda6249 Binary files /dev/null and b/resources/og-image.png differ diff --git a/src/renderer/index.html b/src/renderer/index.html index 0bf9f0a2..b11c49c2 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -3,14 +3,21 @@ - Jumble - - + + + + + + + + + Jumble +
diff --git a/src/renderer/src/PageManager.tsx b/src/renderer/src/PageManager.tsx index 47dc5ae1..d7a7fad4 100644 --- a/src/renderer/src/PageManager.tsx +++ b/src/renderer/src/PageManager.tsx @@ -6,10 +6,9 @@ import { } from '@renderer/components/ui/resizable' import { cn } from '@renderer/lib/utils' import HomePage from '@renderer/pages/secondary/HomePage' -import NotFoundPage from '@renderer/pages/secondary/NotFoundPage' import { cloneElement, createContext, useContext, useEffect, useState } from 'react' -import { routes } from './routes' import { useScreenSize } from './providers/ScreenSizeProvider' +import { routes } from './routes' type TPrimaryPageContext = { refresh: () => void @@ -210,14 +209,16 @@ function findAndCreateComponent(url: string) { const match = matcher(path) if (!match) continue - if (!element) return + if (!element) return null return cloneElement(element, match.params) } - return + return null } function pushNewPageToStack(stack: TStackItem[], url: string, maxStackSize = 5) { const component = findAndCreateComponent(url) + if (!component) return { newStack: stack, newItem: null } + const currentStack = stack[stack.length - 1] const newItem = { component, url, index: currentStack ? currentStack.index + 1 : 0 } const newStack = [...stack, newItem] diff --git a/src/renderer/src/assets/Logo.tsx b/src/renderer/src/assets/Logo.tsx new file mode 100644 index 00000000..1755068d --- /dev/null +++ b/src/renderer/src/assets/Logo.tsx @@ -0,0 +1,26 @@ +export default function Logo({ className }: { className?: string }) { + return ( + + + + ) +} diff --git a/src/renderer/src/assets/favicon-dark.svg b/src/renderer/src/assets/favicon-dark.svg new file mode 100644 index 00000000..5454a6e5 --- /dev/null +++ b/src/renderer/src/assets/favicon-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/assets/favicon-light.svg b/src/renderer/src/assets/favicon-light.svg new file mode 100644 index 00000000..a0589e79 --- /dev/null +++ b/src/renderer/src/assets/favicon-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/components/Sidebar/index.tsx b/src/renderer/src/components/Sidebar/index.tsx index 8a318c82..a8151634 100644 --- a/src/renderer/src/components/Sidebar/index.tsx +++ b/src/renderer/src/components/Sidebar/index.tsx @@ -1,3 +1,4 @@ +import Logo from '@renderer/assets/Logo' import { Button } from '@renderer/components/ui/button' import { IS_ELECTRON } from '@renderer/lib/env' import { toHome } from '@renderer/lib/link' @@ -14,10 +15,12 @@ import SearchButton from '../SearchButton' export default function PrimaryPageSidebar() { const { t } = useTranslation() return ( -
+
-
- Jumble +
+ + +
diff --git a/src/renderer/src/layouts/PrimaryPageLayout/index.tsx b/src/renderer/src/layouts/PrimaryPageLayout/index.tsx index 30469df0..f5a259dc 100644 --- a/src/renderer/src/layouts/PrimaryPageLayout/index.tsx +++ b/src/renderer/src/layouts/PrimaryPageLayout/index.tsx @@ -1,3 +1,4 @@ +import Logo from '@renderer/assets/Logo' import AccountButton from '@renderer/components/AccountButton' import PostButton from '@renderer/components/PostButton' import RefreshButton from '@renderer/components/RefreshButton' @@ -79,7 +80,9 @@ function PrimaryPageTitlebar({ visible = true }: { visible?: boolean }) { visible={visible} >
-
Jumble
+
+ +
diff --git a/src/renderer/src/layouts/SecondaryPageLayout/index.tsx b/src/renderer/src/layouts/SecondaryPageLayout/index.tsx index 889a00e7..d63a8c7b 100644 --- a/src/renderer/src/layouts/SecondaryPageLayout/index.tsx +++ b/src/renderer/src/layouts/SecondaryPageLayout/index.tsx @@ -11,11 +11,13 @@ import { useEffect, useRef, useState } from 'react' export default function SecondaryPageLayout({ children, titlebarContent, - hideBackButton = false + hideBackButton = false, + hideScrollToTopButton = false }: { children?: React.ReactNode titlebarContent?: React.ReactNode hideBackButton?: boolean + hideScrollToTopButton?: boolean }): JSX.Element { const scrollAreaRef = useRef(null) const [visible, setVisible] = useState(true) @@ -50,7 +52,10 @@ export default function SecondaryPageLayout({
{children}
- + ) } diff --git a/src/renderer/src/pages/secondary/HomePage/index.tsx b/src/renderer/src/pages/secondary/HomePage/index.tsx index 3fa28b8c..d7b18959 100644 --- a/src/renderer/src/pages/secondary/HomePage/index.tsx +++ b/src/renderer/src/pages/secondary/HomePage/index.tsx @@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next' export default function HomePage() { const { t } = useTranslation() return ( - +
{t('Welcome! 🥳')}