Browse Source

fix: error alert overflow

nostr references were overflowing
master
DanConwayDev 2 years ago
parent
commit
7ab6dd285a
No known key found for this signature in database
GPG Key ID: 68E15486D73F75E1
  1. 19
      src/lib/components/AlertError.svelte
  2. 21
      src/lib/wrappers/RepoPageWrapper.svelte
  3. 23
      src/routes/e/[nostr_ref]/+page.svelte
  4. 25
      src/routes/p/[npub]/+page.svelte
  5. 27
      src/routes/r/[repo_naddr]/issues/[issue_nip19]/+page.svelte
  6. 24
      src/routes/r/[repo_naddr]/issues/new/+page.svelte
  7. 27
      src/routes/r/[repo_naddr]/proposals/[proposal_nip19]/+page.svelte

19
src/lib/components/AlertError.svelte

@ -0,0 +1,19 @@
<div role="alert" class="max-w-xl m-auto">
<div role="alert" class="alert alert-error m-auto mt-6">
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-6 w-6 shrink-0 stroke-current"
fill="none"
viewBox="0 0 24 24"
><path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
/></svg
>
<div>
<slot />
</div>
</div>
</div>

21
src/lib/wrappers/RepoPageWrapper.svelte

@ -11,6 +11,7 @@
import { ensureIssueSummaries } from '$lib/stores/Issues' import { ensureIssueSummaries } from '$lib/stores/Issues'
import type { RepoPage } from '$lib/components/repo/type' import type { RepoPage } from '$lib/components/repo/type'
import { naddrToRepoA } from '$lib/components/repo/utils' import { naddrToRepoA } from '$lib/components/repo/utils'
import AlertError from '$lib/components/AlertError.svelte'
export let repo_naddr = '' export let repo_naddr = ''
export let selected_tab: RepoPage = 'about' export let selected_tab: RepoPage = 'about'
@ -41,21 +42,7 @@
{#if invalid_naddr || (waited_5_secs && !$selected_repo_collection.loading && $selected_repo_event.name.length === 0)} {#if invalid_naddr || (waited_5_secs && !$selected_repo_collection.loading && $selected_repo_event.name.length === 0)}
<Container> <Container>
<div role="alert" class="max-w-xl m-auto"> <AlertError>
<div role="alert" class="alert alert-error m-auto mt-6 break-all">
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-6 w-6 shrink-0 stroke-current"
fill="none"
viewBox="0 0 24 24"
><path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
/></svg
>
<div>
{#if invalid_naddr} {#if invalid_naddr}
<div>Error! invalid naddr in url:</div> <div>Error! invalid naddr in url:</div>
<div class="break-all">{repo_naddr}</div> <div class="break-all">{repo_naddr}</div>
@ -63,9 +50,7 @@
<div>Error! cannot find repository event:</div> <div>Error! cannot find repository event:</div>
<div class="break-all">{repo_naddr}</div> <div class="break-all">{repo_naddr}</div>
{/if} {/if}
</div> </AlertError>
</div>
</div>
</Container> </Container>
{:else} {:else}
<RepoHeader {...$selected_repo_event} {selected_tab} /> <RepoHeader {...$selected_repo_event} {selected_tab} />

23
src/routes/e/[nostr_ref]/+page.svelte

@ -8,6 +8,7 @@
import { aToNaddr } from '$lib/components/repo/utils' import { aToNaddr } from '$lib/components/repo/utils'
import { ensureIssueFull } from '$lib/stores/Issue' import { ensureIssueFull } from '$lib/stores/Issue'
import { ensureProposalFull } from '$lib/stores/Proposal' import { ensureProposalFull } from '$lib/stores/Proposal'
import AlertError from '$lib/components/AlertError.svelte'
export let data: { nostr_ref: string } export let data: { nostr_ref: string }
@ -98,24 +99,10 @@
{#if error && waited} {#if error && waited}
<Container> <Container>
<div <AlertError>
role="alert" <div>Error! {error_msg}:</div>
class="wrap alert alert-error m-auto mt-6 w-full max-w-lg" <div class="break-all">{data.nostr_ref}</div>
> </AlertError>
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-6 w-6 shrink-0 stroke-current"
fill="none"
viewBox="0 0 24 24"
><path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
/></svg
>
<span>Error! {error_msg}: {data.nostr_ref}</span>
</div>
</Container> </Container>
{:else} {:else}
<Container>loading...</Container> <Container>loading...</Container>

25
src/routes/p/[npub]/+page.svelte

@ -9,6 +9,7 @@
} from '$lib/stores/ReposPubkey' } from '$lib/stores/ReposPubkey'
import { repoCollectionToSummary } from '$lib/stores/repos' import { repoCollectionToSummary } from '$lib/stores/repos'
import { summary_defaults } from '$lib/components/repo/type' import { summary_defaults } from '$lib/components/repo/type'
import AlertError from '$lib/components/AlertError.svelte'
export let data: { npub: string } export let data: { npub: string }
@ -29,26 +30,10 @@
{#if error} {#if error}
<Container> <Container>
<div <AlertError>
role="alert" <div>Error! profile reference in URL is not a valid npub or nprofile::</div>
class="wrap alert alert-error m-auto mt-6 w-full max-w-lg" <div class="break-all">{data.npub}</div>
> </AlertError>
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-6 w-6 shrink-0 stroke-current"
fill="none"
viewBox="0 0 24 24"
><path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
/></svg
>
<span
>Error! profile reference in URL is not a valid npub or nprofile: {data.npub}</span
>
</div>
</Container> </Container>
{:else if pubkey} {:else if pubkey}
<Container> <Container>

27
src/routes/r/[repo_naddr]/issues/[issue_nip19]/+page.svelte

@ -10,6 +10,7 @@
import ProposalDetails from '$lib/components/proposals/ProposalDetails.svelte' import ProposalDetails from '$lib/components/proposals/ProposalDetails.svelte'
import RepoPageWrapper from '$lib/wrappers/RepoPageWrapper.svelte' import RepoPageWrapper from '$lib/wrappers/RepoPageWrapper.svelte'
import { naddrToRepoA, neventOrNoteToHexId } from '$lib/components/repo/utils' import { naddrToRepoA, neventOrNoteToHexId } from '$lib/components/repo/utils'
import AlertError from '$lib/components/AlertError.svelte'
export let data: { export let data: {
repo_naddr: string repo_naddr: string
@ -55,28 +56,14 @@
<RepoPageWrapper {repo_naddr} with_side_bar={false} selected_tab="issues"> <RepoPageWrapper {repo_naddr} with_side_bar={false} selected_tab="issues">
{#if invalid_issue_ref || (waited_5_secs && issue_error)} {#if invalid_issue_ref || (waited_5_secs && issue_error)}
<Container> <Container>
<div role="alert" class="alert alert-error m-auto mt-6 w-full max-w-xs"> <AlertError>
<svg {#if invalid_issue_ref}
xmlns="http://www.w3.org/2000/svg" <div>Error! invalid Issue reference: {issue_id}</div>
class="h-6 w-6 shrink-0 stroke-current" <div class="break-all">'{issue_nip19}'</div>
fill="none"
viewBox="0 0 24 24"
><path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
/></svg
>
{#if invalid_issue_ref}<span
>Error! invalid Issue reference: {issue_id} '{issue_nip19}'</span
>
{:else} {:else}
<span <div>Error! cannot find Issue {repo_error ? 'or repo ' : ''}event</div>
>Error! cannot find Issue {repo_error ? 'or repo ' : ''}event</span
>
{/if} {/if}
</div> </AlertError>
</Container> </Container>
{:else} {:else}
<ProposalHeader {...$selected_issue_full.summary} /> <ProposalHeader {...$selected_issue_full.summary} />

24
src/routes/r/[repo_naddr]/issues/new/+page.svelte

@ -9,6 +9,7 @@
import Container from '$lib/components/Container.svelte' import Container from '$lib/components/Container.svelte'
import ComposeIssue from '$lib/wrappers/ComposeIssue.svelte' import ComposeIssue from '$lib/wrappers/ComposeIssue.svelte'
import { naddrToRepoA } from '$lib/components/repo/utils' import { naddrToRepoA } from '$lib/components/repo/utils'
import AlertError from '$lib/components/AlertError.svelte'
export let data: { repo_naddr: string } export let data: { repo_naddr: string }
let repo_naddr = data.repo_naddr let repo_naddr = data.repo_naddr
@ -34,25 +35,16 @@
{#if invalid_naddr || (waited_5_secs && $selected_repo_collection.loading && $selected_repo_event.name.length)} {#if invalid_naddr || (waited_5_secs && $selected_repo_collection.loading && $selected_repo_event.name.length)}
<Container> <Container>
<div role="alert" class="alert alert-error m-auto mt-6 w-full max-w-xs"> <AlertError>
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-6 w-6 shrink-0 stroke-current"
fill="none"
viewBox="0 0 24 24"
><path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
/></svg
>
{#if invalid_naddr} {#if invalid_naddr}
<span>Error! invalid naddr in url: {repo_naddr}</span> <div>Error! invalid naddr in url:</div>
<div class="break-all">{repo_naddr}</div>
{:else} {:else}
<span>Error! cannot find repository event: {repo_naddr}</span> <div>Error! cannot find repository event:</div>
<div class="break-all">{repo_naddr}</div>
{/if} {/if}
</div>
</AlertError>
</Container> </Container>
{:else} {:else}
<RepoHeader {...$selected_repo_event} /> <RepoHeader {...$selected_repo_event} />

27
src/routes/r/[repo_naddr]/proposals/[proposal_nip19]/+page.svelte

@ -10,6 +10,7 @@
import ProposalDetails from '$lib/components/proposals/ProposalDetails.svelte' import ProposalDetails from '$lib/components/proposals/ProposalDetails.svelte'
import RepoPageWrapper from '$lib/wrappers/RepoPageWrapper.svelte' import RepoPageWrapper from '$lib/wrappers/RepoPageWrapper.svelte'
import { naddrToRepoA, neventOrNoteToHexId } from '$lib/components/repo/utils' import { naddrToRepoA, neventOrNoteToHexId } from '$lib/components/repo/utils'
import AlertError from '$lib/components/AlertError.svelte'
export let data: { export let data: {
repo_naddr: string repo_naddr: string
@ -55,28 +56,14 @@
<RepoPageWrapper {repo_naddr} with_side_bar={false} selected_tab="proposals"> <RepoPageWrapper {repo_naddr} with_side_bar={false} selected_tab="proposals">
{#if invalid_proposal_ref || (waited_5_secs && proposal_error)} {#if invalid_proposal_ref || (waited_5_secs && proposal_error)}
<Container> <Container>
<div role="alert" class="alert alert-error m-auto mt-6 w-full max-w-xs"> <AlertError>
<svg {#if invalid_proposal_ref}
xmlns="http://www.w3.org/2000/svg" <div>Error! invalid Issue reference: {proposal_id}</div>
class="h-6 w-6 shrink-0 stroke-current" <div class="break-all">'{proposal_nip19}'</div>
fill="none"
viewBox="0 0 24 24"
><path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
/></svg
>
{#if invalid_proposal_ref}<span
>Error! invalid Issue reference: {proposal_id} '{proposal_nip19}'</span
>
{:else} {:else}
<span <div>Error! cannot find Issue {repo_error ? 'or repo ' : ''}event</div>
>Error! cannot find Issue {repo_error ? 'or repo ' : ''}event</span
>
{/if} {/if}
</div> </AlertError>
</Container> </Container>
{:else} {:else}
<ProposalHeader {...$selected_proposal_full.summary} /> <ProposalHeader {...$selected_proposal_full.summary} />

Loading…
Cancel
Save