diff --git a/src/app/components/Pin.svelte b/src/app/components/Pin.svelte index e11b11f1..d7cccd2a 100644 --- a/src/app/components/Pin.svelte +++ b/src/app/components/Pin.svelte @@ -1,21 +1,12 @@
{#if showMenu}
- - {#if menuOpen} - (menuOpen = false)}> - - - {/if} + iconSize={4} + component={PinMenu} + componentProps={{url, pin}} />
{#if pin.title} {pin.title} diff --git a/src/app/components/PinMenu.svelte b/src/app/components/PinMenu.svelte new file mode 100644 index 00000000..2253454e --- /dev/null +++ b/src/app/components/PinMenu.svelte @@ -0,0 +1,58 @@ + + + diff --git a/src/app/components/PomadeSessionMenu.svelte b/src/app/components/PomadeSessionMenu.svelte new file mode 100644 index 00000000..40d55f8d --- /dev/null +++ b/src/app/components/PomadeSessionMenu.svelte @@ -0,0 +1,28 @@ + + + diff --git a/src/app/components/PomadeSessions.svelte b/src/app/components/PomadeSessions.svelte index 756b1f67..ebf6bd6a 100644 --- a/src/app/components/PomadeSessions.svelte +++ b/src/app/components/PomadeSessions.svelte @@ -2,26 +2,13 @@ import {onMount} from "svelte" import {Client} from "@pomade/core" import {session, isPomadeSession} from "@welshman/app" - import MenuDots from "@assets/icons/menu-dots.svg?dataurl" - import {fly} from "@lib/transition" - import Icon from "@lib/components/Icon.svelte" - import Button from "@lib/components/Button.svelte" + import MenuButton from "@lib/components/MenuButton.svelte" import Badge from "@lib/components/Badge.svelte" - import Popover from "@lib/components/Popover.svelte" - import TrashBin2 from "@assets/icons/trash-bin-2.svg?dataurl" + import PomadeSessionMenu from "@app/components/PomadeSessionMenu.svelte" import {pushToast} from "@app/toast" import {loadOtherPomadeSessions} from "@app/pomade" import type {PomadeSessionWithPeers} from "@app/pomade" - const toggleMenu = (client: string) => { - menuClient = menuClient === client ? "" : client - } - - const closeMenu = () => { - menuClient = "" - } - - let menuClient = $state("") let sessions = $state([]) const deleteSession = async (sessionItem: PomadeSessionWithPeers) => { @@ -83,27 +70,9 @@ {/if}
-
- - {#if menuClient === sessionItem.client} - - - - {/if} -
+ deleteSession(sessionItem)}} />
diff --git a/src/app/components/ReportMenu.svelte b/src/app/components/ReportMenu.svelte index a73841b9..e27555e9 100644 --- a/src/app/components/ReportMenu.svelte +++ b/src/app/components/ReportMenu.svelte @@ -1,22 +1,7 @@ -
- - {#if isOpen} - - - - {/if} -
+ diff --git a/src/app/components/ReportMenuList.svelte b/src/app/components/ReportMenuList.svelte new file mode 100644 index 00000000..e0d97d6d --- /dev/null +++ b/src/app/components/ReportMenuList.svelte @@ -0,0 +1,139 @@ + + + diff --git a/src/app/components/RoomDetail.svelte b/src/app/components/RoomDetail.svelte index 7010fc24..121b52c5 100644 --- a/src/app/components/RoomDetail.svelte +++ b/src/app/components/RoomDetail.svelte @@ -1,14 +1,5 @@ @@ -139,62 +68,7 @@ {displayRelayUrl(url)}
-
- - {#if showMenu} - - - - {/if} -
+ {#if $room?.about}

{$room.about}

diff --git a/src/app/components/RoomDetailMenu.svelte b/src/app/components/RoomDetailMenu.svelte new file mode 100644 index 00000000..94525796 --- /dev/null +++ b/src/app/components/RoomDetailMenu.svelte @@ -0,0 +1,130 @@ + + + diff --git a/src/app/components/RoomMemberMenu.svelte b/src/app/components/RoomMemberMenu.svelte new file mode 100644 index 00000000..15818751 --- /dev/null +++ b/src/app/components/RoomMemberMenu.svelte @@ -0,0 +1,53 @@ + + + diff --git a/src/app/components/RoomMembers.svelte b/src/app/components/RoomMembers.svelte index 846cb26d..098216e8 100644 --- a/src/app/components/RoomMembers.svelte +++ b/src/app/components/RoomMembers.svelte @@ -1,14 +1,9 @@ @@ -89,27 +56,7 @@
-
- - {#if menuPubkey === pubkey} - - - - {/if} -
+ {/each} diff --git a/src/app/components/SpaceMember.svelte b/src/app/components/SpaceMember.svelte index cda9f458..22b2ffd6 100644 --- a/src/app/components/SpaceMember.svelte +++ b/src/app/components/SpaceMember.svelte @@ -1,24 +1,15 @@
@@ -108,44 +50,11 @@
{#if canAssign || canUnassign || canUnallow || canBan} -
- - {#if menuOpen} - - - - {/if} + component={SpaceMemberMenu} + componentProps={{url, pubkey}} />
{/if} diff --git a/src/app/components/SpaceMemberBannedMenu.svelte b/src/app/components/SpaceMemberBannedMenu.svelte new file mode 100644 index 00000000..c21f5dec --- /dev/null +++ b/src/app/components/SpaceMemberBannedMenu.svelte @@ -0,0 +1,76 @@ + + + diff --git a/src/app/components/SpaceMemberMenu.svelte b/src/app/components/SpaceMemberMenu.svelte new file mode 100644 index 00000000..c7297179 --- /dev/null +++ b/src/app/components/SpaceMemberMenu.svelte @@ -0,0 +1,99 @@ + + + diff --git a/src/app/components/SpaceMembersBanned.svelte b/src/app/components/SpaceMembersBanned.svelte index d7933707..4cfff339 100644 --- a/src/app/components/SpaceMembersBanned.svelte +++ b/src/app/components/SpaceMembersBanned.svelte @@ -1,14 +1,9 @@ @@ -86,37 +46,7 @@ {#if canUnban || canRestore} -
- - {#if menuPubkey === pubkey} - - - - {/if} -
+ {/if} diff --git a/src/app/components/SpaceRoleMenu.svelte b/src/app/components/SpaceRoleMenu.svelte new file mode 100644 index 00000000..ed445b11 --- /dev/null +++ b/src/app/components/SpaceRoleMenu.svelte @@ -0,0 +1,71 @@ + + + diff --git a/src/app/components/SpaceRoles.svelte b/src/app/components/SpaceRoles.svelte index 013b579f..eb1dd159 100644 --- a/src/app/components/SpaceRoles.svelte +++ b/src/app/components/SpaceRoles.svelte @@ -1,14 +1,9 @@ @@ -84,38 +45,11 @@ {#each $roles as role (role.id)}
-
- - {#if menuRoleId === role.id} - - - - {/if} + component={SpaceRoleMenu} + componentProps={{url, role}} />
{/each} diff --git a/src/lib/components/MenuButton.svelte b/src/lib/components/MenuButton.svelte new file mode 100644 index 00000000..cd436f9b --- /dev/null +++ b/src/lib/components/MenuButton.svelte @@ -0,0 +1,40 @@ + + +