diff --git a/src/app/components/ProfileDetail.svelte b/src/app/components/ProfileDetail.svelte index db03e4c6..80c3f763 100644 --- a/src/app/components/ProfileDetail.svelte +++ b/src/app/components/ProfileDetail.svelte @@ -4,21 +4,19 @@ import {displayProfileByPubkey, loadMessagingRelayList} from "@welshman/app" import AltArrowLeft from "@assets/icons/alt-arrow-left.svg?dataurl" import UserCircle from "@assets/icons/user-circle.svg?dataurl" - import MenuDots from "@assets/icons/menu-dots.svg?dataurl" import MinusCircle from "@assets/icons/minus-circle.svg?dataurl" import UserMinus from "@assets/icons/user-minus.svg?dataurl" import Restart from "@assets/icons/restart.svg?dataurl" - import {fly} from "@lib/transition" import Icon from "@lib/components/Icon.svelte" import Confirm from "@lib/components/Confirm.svelte" import Button from "@lib/components/Button.svelte" - import Popover from "@lib/components/Popover.svelte" import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import Profile from "@app/components/Profile.svelte" import ProfileAbout from "@app/components/ProfileAbout.svelte" import ProfileBadges from "@app/components/ProfileBadges.svelte" + import ProfileMenu from "@app/components/ProfileMenu.svelte" import { deriveUserIsSpaceAdmin, deriveSpaceBannedPubkeyItems, @@ -47,14 +45,6 @@ const viewProfile = () => goto(makeProfilePath(pubkey), {replaceState: true}) - const toggleMenu = () => { - showMenu = !showMenu - } - - const closeMenu = () => { - showMenu = false - } - const banMember = () => pushModal(Confirm, { title: "Ban User", @@ -93,8 +83,6 @@ } } - let showMenu = $state(false) - onMount(() => { loadMessagingRelayList(pubkey) }) @@ -105,42 +93,33 @@
- {#if $userIsAdmin} -
- - {#if showMenu} - - - + + {#snippet customActions()} + {#if $userIsAdmin} + {#if isBanned} +
  • + +
  • + {:else} +
  • + +
  • +
  • + +
  • + {/if} {/if} -
    - {/if} + {/snippet} +
    diff --git a/src/app/components/ProfileInfo.svelte b/src/app/components/ProfileInfo.svelte new file mode 100644 index 00000000..4af6cc63 --- /dev/null +++ b/src/app/components/ProfileInfo.svelte @@ -0,0 +1,121 @@ + + + + + + Profile Details + The full details of this profile are shown below. + + + {#snippet label()} +

    Created At

    + {/snippet} + {#snippet input()} +

    {formatter.format(secondsToDate(event.created_at))}

    + {/snippet} +
    + + {#snippet label()} +

    Profile Link

    + {/snippet} + {#snippet input()} + + {/snippet} +
    + + {#snippet label()} +

    Public Key

    + {/snippet} + {#snippet input()} + + {/snippet} +
    + {#if !url && seenOn.size > 0} + + {#snippet label()} +

    Seen On

    + {/snippet} + {#snippet input()} +
    + {#each seenOn as url, i (url)} + + {displayRelayUrl(url)} + + {/each} +
    + {/snippet} +
    + {/if} +
    +
    {json}
    +

    + +

    +
    +
    + + + +
    diff --git a/src/app/components/ProfileMenu.svelte b/src/app/components/ProfileMenu.svelte new file mode 100644 index 00000000..044293c3 --- /dev/null +++ b/src/app/components/ProfileMenu.svelte @@ -0,0 +1,73 @@ + + +
    + + {#if showMenu} + + + + {/if} +
    diff --git a/src/app/components/ProfilePage.svelte b/src/app/components/ProfilePage.svelte index 56a5161e..316d5962 100644 --- a/src/app/components/ProfilePage.svelte +++ b/src/app/components/ProfilePage.svelte @@ -18,21 +18,17 @@ import Letter from "@assets/icons/letter-opened.svg?dataurl" import UserPlus from "@assets/icons/user-plus.svg?dataurl" import PenNewSquare from "@assets/icons/pen-new-square.svg?dataurl" - import MenuDots from "@assets/icons/menu-dots.svg?dataurl" - import ShareCircle from "@assets/icons/share-circle.svg?dataurl" import GallerySend from "@assets/icons/gallery-send.svg?dataurl" - import {fly} from "@lib/transition" import Icon from "@lib/components/Icon.svelte" import Link from "@lib/components/Link.svelte" import Button from "@lib/components/Button.svelte" import Spinner from "@lib/components/Spinner.svelte" - import Popover from "@lib/components/Popover.svelte" import ProfileCircle from "@app/components/ProfileCircle.svelte" import ProfileTrust from "@app/components/ProfileTrust.svelte" import ProfileSharedSpaces from "@app/components/ProfileSharedSpaces.svelte" import ProfilePageNotes from "@app/components/ProfilePageNotes.svelte" - import ProfileQrCode from "@app/components/ProfileQrCode.svelte" import ProfileEdit from "@app/components/ProfileEdit.svelte" + import ProfileMenu from "@app/components/ProfileMenu.svelte" import WotScore from "@app/components/WotScore.svelte" import Content from "@app/components/Content.svelte" import {updateProfile} from "@app/profiles" @@ -62,27 +58,13 @@ : `https://${$profile?.website || ""}`, ) - let showMenu = $state(false) let bannerLoading = $state(false) let bannerInput: HTMLInputElement | undefined = $state() const copyNpub = () => clip(nip19.npubEncode(target)) - const showShare = () => { - closeMenu() - pushModal(ProfileQrCode, {pubkey: target}) - } - const startEdit = () => pushModal(ProfileEdit) - const toggleMenu = () => { - showMenu = !showMenu - } - - const closeMenu = () => { - showMenu = false - } - const openChat = () => goToChat([target]) const toggleFollow = async () => { @@ -193,26 +175,8 @@ {/if} -
    - - {#if showMenu} - - - - {/if} +
    +
    {/if}