Compare commits

...

4 Commits

Author SHA1 Message Date
Jon Staab b86632e86e Unwrap messages that are only quotes 2026-06-15 17:56:07 -07:00
Jon Staab 3f96b5547c Use direct zapping for the donate page, link to flotilla space for support 2026-06-15 14:00:15 -07:00
Jon Staab eebd764a18 Speed up feed loading 2026-06-15 13:12:46 -07:00
userAdityaa 3945685554 fix: make account selector inert during email login (#304)
Co-authored-by: userAdityaa <aditya.chaudhary1558@gmail.com>
Co-committed-by: userAdityaa <aditya.chaudhary1558@gmail.com>
2026-06-15 18:26:41 +00:00
6 changed files with 20 additions and 15 deletions
+4 -1
View File
@@ -6,6 +6,7 @@
import Button from "@lib/components/Button.svelte" import Button from "@lib/components/Button.svelte"
import Spinner from "@lib/components/Spinner.svelte" import Spinner from "@lib/components/Spinner.svelte"
import NoteCard from "@app/components/NoteCard.svelte" import NoteCard from "@app/components/NoteCard.svelte"
import NoteContent from "@app/components/NoteContent.svelte"
import NoteContentMinimal from "@app/components/NoteContentMinimal.svelte" import NoteContentMinimal from "@app/components/NoteContentMinimal.svelte"
import {deriveEvent} from "@app/repository" import {deriveEvent} from "@app/repository"
import {entityLink} from "@app/env" import {entityLink} from "@app/env"
@@ -43,7 +44,9 @@
<Button class="my-2 block w-full max-w-full text-left" {onclick}> <Button class="my-2 block w-full max-w-full text-left" {onclick}>
{#if $quote} {#if $quote}
{#if $quote.kind === MESSAGE} {#if $quote.content.trim().match(/^(nostr:)?nevent1[a-z0-9]+$/)}
<NoteContent {url} event={$quote} />
{:else if $quote.kind === MESSAGE}
<div <div
class="border-l-2 border-solid border-l-primary py-1 pl-2 opacity-90" class="border-l-2 border-solid border-l-primary py-1 pl-2 opacity-90"
style="background-color: color-mix(in srgb, var(--color-primary) 10%, var(--color-base-300) 90%);"> style="background-color: color-mix(in srgb, var(--color-primary) 10%, var(--color-base-300) 90%);">
+1 -1
View File
@@ -76,7 +76,7 @@
onclick={() => selectAccount(option)} onclick={() => selectAccount(option)}
disabled={loading} disabled={loading}
class="card2 bg-alt flex w-full items-center p-3 text-left"> class="card2 bg-alt flex w-full items-center p-3 text-left">
<Profile pubkey={option.pubkey} /> <Profile inert pubkey={option.pubkey} />
</Button> </Button>
{/each} {/each}
</div> </div>
+1 -1
View File
@@ -26,7 +26,7 @@
import {pushToast} from "@app/toast" import {pushToast} from "@app/toast"
type Props = { type Props = {
url: string url?: string
pubkey: string pubkey: string
eventId?: string eventId?: string
} }
+1 -1
View File
@@ -30,7 +30,7 @@
import {clip, pushToast} from "@app/toast" import {clip, pushToast} from "@app/toast"
type Props = { type Props = {
url: string url?: string
pubkey: string pubkey: string
eventId?: string eventId?: string
} }
+4 -4
View File
@@ -18,7 +18,7 @@ import {
now, now,
on, on,
sortBy, sortBy,
WEEK, MONTH,
YEAR, YEAR,
} from "@welshman/lib" } from "@welshman/lib"
import { import {
@@ -122,7 +122,7 @@ export const makeFeed = ({
const controller = new AbortController() const controller = new AbortController()
const events = writable<TrustedEvent[]>([]) const events = writable<TrustedEvent[]>([])
let interval = int(WEEK) let interval = int(MONTH)
let buffer = sortEventsDesc(getEventsForUrl(url, filters)) let buffer = sortEventsDesc(getEventsForUrl(url, filters))
let backwardWindow = [at - interval, at] let backwardWindow = [at - interval, at]
let forwardWindow = [at, at + interval] let forwardWindow = [at, at + interval]
@@ -213,7 +213,7 @@ export const makeFeed = ({
if (events.length === 0) { if (events.length === 0) {
interval = Math.round(interval * 1.1) interval = Math.round(interval * 1.1)
} else { } else {
interval = int(WEEK) interval = int(MONTH)
} }
} }
@@ -280,7 +280,7 @@ export const makeCalendarFeed = ({
element: HTMLElement element: HTMLElement
onExhausted?: () => void onExhausted?: () => void
}) => { }) => {
const interval = int(5, WEEK) const interval = int(5, MONTH)
const controller = new AbortController() const controller = new AbortController()
let exhaustedScrollers = 0 let exhaustedScrollers = 0
+9 -7
View File
@@ -1,11 +1,15 @@
<script lang="ts"> <script lang="ts">
import {session} from "@welshman/app"
import {Capacitor} from "@capacitor/core" import {Capacitor} from "@capacitor/core"
import Link from "@lib/components/Link.svelte" import Link from "@lib/components/Link.svelte"
import Button from "@lib/components/Button.svelte" import Button from "@lib/components/Button.svelte"
import Zap from "@app/components/Zap.svelte"
import ZapInvoice from "@app/components/ZapInvoice.svelte"
import Icon from "@lib/components/Icon.svelte" import Icon from "@lib/components/Icon.svelte"
import ProfileDetail from "@app/components/ProfileDetail.svelte" import ProfileDetail from "@app/components/ProfileDetail.svelte"
import {PLATFORM_NAME} from "@app/env" import {PLATFORM_NAME} from "@app/env"
import {pushModal} from "@app/modal" import {pushModal} from "@app/modal"
import {makeSpacePath} from "@app/routes"
import Code from "@assets/icons/code-2.svg?dataurl" import Code from "@assets/icons/code-2.svg?dataurl"
import Global from "@assets/icons/global.svg?dataurl" import Global from "@assets/icons/global.svg?dataurl"
import Pen from "@assets/icons/pen.svg?dataurl" import Pen from "@assets/icons/pen.svg?dataurl"
@@ -16,6 +20,8 @@
const pubkey = "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322" const pubkey = "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322"
const openProfile = () => pushModal(ProfileDetail, {pubkey}) const openProfile = () => pushModal(ProfileDetail, {pubkey})
const zap = () => pushModal($session?.wallet ? Zap : ZapInvoice, {pubkey})
</script> </script>
<div class="mt-8 min-h-screen bg-base-200 sm:hero"> <div class="mt-8 min-h-screen bg-base-200 sm:hero">
@@ -28,18 +34,14 @@
<div class="card2 bg-alt flex flex-col gap-2 text-center shadow-lg"> <div class="card2 bg-alt flex flex-col gap-2 text-center shadow-lg">
<h3 class="text-2xl sm:h-12">Donate</h3> <h3 class="text-2xl sm:h-12">Donate</h3>
<p class="sm:h-16">Funds will be used to support development.</p> <p class="sm:h-16">Funds will be used to support development.</p>
<Link external href="https://geyser.fund/project/flotilla" class="btn btn-primary"> <Button onclick={zap} class="btn btn-primary">Zap the Developer</Button>
Support the Developer
</Link>
</div> </div>
{/if} {/if}
<div class="card2 bg-alt flex flex-col gap-2 text-center shadow-lg"> <div class="card2 bg-alt flex flex-col gap-2 text-center shadow-lg">
<h3 class="text-2xl sm:h-12">Get in touch</h3> <h3 class="text-2xl sm:h-12">Get in touch</h3>
<p class="sm:h-16">Having problems? Let us know.</p> <p class="sm:h-16">Having problems? Let us know.</p>
<Link <Link class="btn btn-primary" href={makeSpacePath("support.flotilla.social")}>
class="btn btn-primary" Get Support
href="/chat/97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322">
Chat with the Developer
</Link> </Link>
</div> </div>
</div> </div>