forked from coracle/flotilla
26 lines
715 B
Svelte
26 lines
715 B
Svelte
<script lang="ts">
|
|
import cx from "classnames"
|
|
import {preventDefault} from "@lib/html"
|
|
import Button from "@lib/components/Button.svelte"
|
|
import ProfileName from "@app/components/ProfileName.svelte"
|
|
import ProfileDetail from "@app/components/ProfileDetail.svelte"
|
|
import {pushModal} from "@app/util/modal"
|
|
|
|
type Props = {
|
|
pubkey: string
|
|
url?: string
|
|
class?: string
|
|
unstyled?: boolean
|
|
}
|
|
|
|
const {pubkey, url, unstyled, ...props}: Props = $props()
|
|
|
|
const openProfile = () => pushModal(ProfileDetail, {pubkey, url})
|
|
</script>
|
|
|
|
<Button
|
|
onclick={preventDefault(openProfile)}
|
|
class={cx(props.class, {"link-content bg-alt": !unstyled})}>
|
|
@<ProfileName {pubkey} {url} />
|
|
</Button>
|