diff --git a/src/app.css b/src/app.css index 4344ea7..8de79b4 100644 --- a/src/app.css +++ b/src/app.css @@ -153,6 +153,15 @@ a:hover { padding: 2rem; } +/* Mobile responsive for containers */ +@media (max-width: 768px) { + .container, + .container-narrow, + .container-wide { + padding: 1rem; + } +} + /* Header and Navigation */ header { display: flex; diff --git a/src/lib/components/Footer.svelte b/src/lib/components/Footer.svelte new file mode 100644 index 0000000..8d2a7e2 --- /dev/null +++ b/src/lib/components/Footer.svelte @@ -0,0 +1,104 @@ + + + + + diff --git a/src/lib/components/NavBar.svelte b/src/lib/components/NavBar.svelte new file mode 100644 index 0000000..b80f6bf --- /dev/null +++ b/src/lib/components/NavBar.svelte @@ -0,0 +1,250 @@ + + + + + + + gitrepublic + + + + Repositories + Search + Sign Up + Docs + + + + + {#if userPubkey} + + Logout + {:else} + + {isNIP07Available() ? 'Login' : 'NIP-07 Not Available'} + + {/if} + + + + + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 7363644..b501857 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,6 +1,8 @@ + + + + diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 6e2df52..0fd8af7 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -6,15 +6,11 @@ import { KIND } from '../lib/types/nostr.js'; import type { NostrEvent } from '../lib/types/nostr.js'; import { nip19 } from 'nostr-tools'; - import { getPublicKeyWithNIP07, isNIP07Available } from '../lib/services/nostr/nip07-signer.js'; import { ForkCountService } from '../lib/services/nostr/fork-count-service.js'; - import ThemeToggle from '../lib/components/ThemeToggle.svelte'; - import UserBadge from '../lib/components/UserBadge.svelte'; let repos = $state([]); let loading = $state(true); let error = $state(null); - let userPubkey = $state(null); let forkCounts = $state>(new Map()); import { DEFAULT_NOSTR_RELAYS } from '../lib/config.js'; @@ -24,37 +20,8 @@ onMount(async () => { await loadRepos(); - await checkAuth(); }); - async function checkAuth() { - try { - if (isNIP07Available()) { - userPubkey = await getPublicKeyWithNIP07(); - } - } catch (err) { - console.log('NIP-07 not available or user not connected'); - userPubkey = null; - } - } - - async function login() { - try { - if (!isNIP07Available()) { - alert('NIP-07 extension not found. Please install a Nostr extension like Alby or nos2x.'); - return; - } - userPubkey = await getPublicKeyWithNIP07(); - } catch (err) { - error = err instanceof Error ? err.message : 'Failed to connect'; - console.error('Login error:', err); - } - } - - function logout() { - userPubkey = null; - } - async function loadRepos() { loading = true; error = null; @@ -255,32 +222,6 @@ - - - - gitrepublic - - - - Repositories - Search - Sign Up - Docs - - - - {#if userPubkey} - - Logout - {:else} - - {isNIP07Available() ? 'Login' : 'NIP-07 Not Available'} - - {/if} - - - - Repositories on {$page.data.gitDomain || 'localhost:6543'} diff --git a/src/routes/docs/+page.svelte b/src/routes/docs/+page.svelte index aea4378..fe9c979 100644 --- a/src/routes/docs/+page.svelte +++ b/src/routes/docs/+page.svelte @@ -42,8 +42,7 @@ - ← Back to Repositories - GitRepublic Documentation + Documentation Complete tutorial and walkthrough for decentralized git hosting diff --git a/src/routes/docs/nip34/+page.svelte b/src/routes/docs/nip34/+page.svelte index baddb17..8dccfdd 100644 --- a/src/routes/docs/nip34/+page.svelte +++ b/src/routes/docs/nip34/+page.svelte @@ -42,7 +42,6 @@ - ← Back to Repositories GitRepublic Documentation Complete tutorial and walkthrough for decentralized git hosting diff --git a/src/routes/repos/[npub]/[repo]/+page.svelte b/src/routes/repos/[npub]/[repo]/+page.svelte index b6a7945..352c549 100644 --- a/src/routes/repos/[npub]/[repo]/+page.svelte +++ b/src/routes/repos/[npub]/[repo]/+page.svelte @@ -1085,7 +1085,6 @@ {/if} - ← Back to Repositories {#if repoImage} @@ -1100,7 +1099,7 @@ by {npub.slice(0, 16)}... - 📖 + 📖 {#if forkInfo?.isFork && forkInfo.originalRepo} Forked from {forkInfo.originalRepo.repo} {/if} @@ -1861,17 +1860,6 @@ text-decoration: underline; } - .back-link { - color: var(--link-color); - text-decoration: none; - font-size: 0.875rem; - transition: color 0.2s ease; - } - - .back-link:hover { - color: var(--link-hover); - text-decoration: underline; - } header h1 { margin: 0; diff --git a/src/routes/repos/[npub]/[repo]/settings/+page.svelte b/src/routes/repos/[npub]/[repo]/settings/+page.svelte index 6019bed..2c9797b 100644 --- a/src/routes/repos/[npub]/[repo]/settings/+page.svelte +++ b/src/routes/repos/[npub]/[repo]/settings/+page.svelte @@ -116,7 +116,6 @@ - ← Back to Repository Repository Settings diff --git a/src/routes/search/+page.svelte b/src/routes/search/+page.svelte index 77c2a6a..3b45366 100644 --- a/src/routes/search/+page.svelte +++ b/src/routes/search/+page.svelte @@ -44,7 +44,6 @@ - ← Back to Repositories Search diff --git a/src/routes/users/[npub]/+page.svelte b/src/routes/users/[npub]/+page.svelte index 594a96f..2629cc2 100644 --- a/src/routes/users/[npub]/+page.svelte +++ b/src/routes/users/[npub]/+page.svelte @@ -104,7 +104,6 @@ - ← Back to Repositories {#if userProfile?.picture}
Complete tutorial and walkthrough for decentralized git hosting