mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 07:52:24 +00:00
249 lines
8.1 KiB
HTML
249 lines
8.1 KiB
HTML
<section class="channel-profile-container" data-ds="new">
|
||
<!-- Modified banner wrapper for taller, rounded style -->
|
||
<div class="profile-banner relative mb-6 rounded-lg shadow-lg">
|
||
<!-- Increase the default height classes -->
|
||
<img
|
||
id="channelBanner"
|
||
class="h-48 w-full rounded-lg object-cover md:h-64"
|
||
src=""
|
||
alt="Banner"
|
||
/>
|
||
<div class="absolute inset-0 rounded-lg bg-black bg-opacity-50"></div>
|
||
|
||
<div
|
||
class="absolute bottom-4 left-4 right-4 flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between"
|
||
>
|
||
<div class="flex items-center">
|
||
<div
|
||
class="h-16 w-16 overflow-hidden rounded-full border-2 border-border-translucent-bright"
|
||
>
|
||
<img
|
||
id="channelAvatar"
|
||
src="assets/svg/default-profile.svg"
|
||
alt="Avatar"
|
||
class="h-full w-full object-cover"
|
||
/>
|
||
</div>
|
||
<div class="ml-4 text-text">
|
||
<h2 id="channelName" class="text-xl font-bold">User Name</h2>
|
||
<p id="channelNpub" class="text-sm opacity-80">npub...</p>
|
||
</div>
|
||
</div>
|
||
<div class="flex flex-col items-end gap-3 self-start sm:self-end">
|
||
<div class="flex items-center gap-2">
|
||
<div class="popover" data-channel-zap-wrapper>
|
||
<button
|
||
id="zapButton"
|
||
type="button"
|
||
class="icon-button"
|
||
aria-label="Open zap dialog"
|
||
aria-haspopup="dialog"
|
||
aria-expanded="false"
|
||
aria-controls="zapControls"
|
||
>
|
||
<img
|
||
src="assets/svg/lightning-bolt.svg"
|
||
alt="Zap"
|
||
class="icon-image"
|
||
/>
|
||
</button>
|
||
<div
|
||
id="zapControls"
|
||
class="popover__panel card w-72 max-w-[calc(100vw-2rem)] p-4"
|
||
data-variant="zap"
|
||
role="dialog"
|
||
aria-hidden="true"
|
||
aria-label="Channel zap dialog"
|
||
data-state="closed"
|
||
hidden
|
||
>
|
||
<div class="grid gap-4">
|
||
<div class="flex items-center justify-between gap-4">
|
||
<h3
|
||
class="text-xs font-semibold uppercase tracking-wide text-muted-strong"
|
||
>
|
||
Send a zap
|
||
</h3>
|
||
<button
|
||
type="button"
|
||
id="zapCloseBtn"
|
||
class="btn-ghost px-2 py-1 text-xs"
|
||
aria-label="Close zap dialog"
|
||
>
|
||
✕
|
||
</button>
|
||
</div>
|
||
<p
|
||
id="zapWalletPrompt"
|
||
class="text-sm text-muted"
|
||
aria-hidden="true"
|
||
hidden
|
||
>
|
||
Connect a wallet in
|
||
<button
|
||
type="button"
|
||
id="zapWalletLink"
|
||
class="btn-ghost px-2 py-1 text-xs"
|
||
>
|
||
Wallet Connect settings
|
||
</button>
|
||
to send zaps.
|
||
</p>
|
||
<form id="zapForm" class="bv-stack bv-stack--tight">
|
||
<div>
|
||
<label
|
||
for="zapAmountInput"
|
||
id="zapAmountLabel"
|
||
class="mb-2 block text-xs font-semibold uppercase tracking-wide text-muted-strong"
|
||
>
|
||
Zap amount (sats)
|
||
</label>
|
||
<input
|
||
id="zapAmountInput"
|
||
type="number"
|
||
min="1"
|
||
step="1"
|
||
inputmode="numeric"
|
||
class="input"
|
||
placeholder="Enter sats"
|
||
aria-labelledby="zapAmountLabel"
|
||
/>
|
||
</div>
|
||
<p
|
||
id="zapSplitSummary"
|
||
class="text-sm text-muted"
|
||
aria-live="polite"
|
||
>
|
||
Enter an amount to view the split.
|
||
</p>
|
||
<p
|
||
id="zapStatus"
|
||
class="text-xs text-muted"
|
||
role="status"
|
||
aria-live="polite"
|
||
></p>
|
||
<ul
|
||
id="zapReceipts"
|
||
class="space-y-2 text-xs text-muted"
|
||
></ul>
|
||
<div class="flex items-center justify-end gap-2">
|
||
<button
|
||
type="submit"
|
||
id="zapSendBtn"
|
||
class="btn"
|
||
aria-label="Send a zap"
|
||
>
|
||
Send
|
||
</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<button
|
||
id="channelShareBtn"
|
||
type="button"
|
||
class="icon-button"
|
||
aria-label="Share channel"
|
||
>
|
||
<img
|
||
src="assets/svg/share-video.svg"
|
||
alt="Share channel"
|
||
class="icon-image"
|
||
/>
|
||
</button>
|
||
<div class="popover" data-more-menu-wrapper="true">
|
||
<button
|
||
id="channelMoreBtn"
|
||
type="button"
|
||
class="icon-button"
|
||
aria-haspopup="true"
|
||
aria-expanded="false"
|
||
aria-label="Channel options"
|
||
data-more-dropdown="channel-profile"
|
||
>
|
||
<img src="assets/svg/ellipsis.svg" alt="More" class="h-5 w-5" />
|
||
</button>
|
||
<div
|
||
id="moreDropdown-channel-profile"
|
||
class="popover__panel w-48"
|
||
role="menu"
|
||
data-more-menu="true"
|
||
data-state="closed"
|
||
aria-hidden="true"
|
||
hidden
|
||
>
|
||
<div class="menu" role="none">
|
||
<button
|
||
type="button"
|
||
class="menu__item justify-start"
|
||
role="menuitem"
|
||
data-action="copy-npub"
|
||
data-context="channel-profile"
|
||
>
|
||
Copy npub
|
||
</button>
|
||
<button
|
||
type="button"
|
||
class="menu__item justify-start"
|
||
role="menuitem"
|
||
data-action="blacklist-author"
|
||
data-context="channel-profile"
|
||
data-blacklist-menu="true"
|
||
data-variant="critical"
|
||
>
|
||
Blacklist channel
|
||
</button>
|
||
<button
|
||
type="button"
|
||
class="menu__item justify-start"
|
||
role="menuitem"
|
||
data-action="block-author"
|
||
data-context="channel-profile"
|
||
data-variant="critical"
|
||
>
|
||
Block channel
|
||
</button>
|
||
<button
|
||
type="button"
|
||
class="menu__item justify-start"
|
||
role="menuitem"
|
||
data-action="report"
|
||
data-context="channel-profile"
|
||
>
|
||
Report
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Basic profile details: about text, website, LN address -->
|
||
<div class="profile-details mt-4 px-4">
|
||
<p id="channelAbout" class="mb-2 text-text-strong"></p>
|
||
<a
|
||
id="channelWebsite"
|
||
href="#"
|
||
target="_blank"
|
||
class="mb-2 block text-info-strong hover:underline"
|
||
>Website</a
|
||
>
|
||
<p id="channelLightning" class="text-sm text-muted-strong"></p>
|
||
</div>
|
||
|
||
<!-- Area for Subscribe/Unsubscribe button -->
|
||
<div class="my-4 px-4">
|
||
<div id="subscribeBtnArea" class="hidden"></div>
|
||
</div>
|
||
|
||
<hr class="my-6" />
|
||
|
||
<h3 class="mb-4 text-lg font-bold text-text-strong">Videos by This User</h3>
|
||
<div id="channelVideoList" class="bv-grid-video">
|
||
<!-- User’s videos will go here -->
|
||
</div>
|
||
</section>
|