From 5821818618d0ccc24b821471b689fa9c192cb81b Mon Sep 17 00:00:00 2001 From: log101 Date: Sat, 6 Jul 2024 15:56:58 +0300 Subject: [PATCH] feat: add templates for buttons --- bun.lockb | Bin 253756 -> 254093 bytes package.json | 1 + src/components/WebComponentWrapper.astro | 109 ++++++++++------------- src/components/locked-content.ts | 62 +++++++++++++ src/env.d.ts | 6 ++ src/layouts/Layout.astro | 6 ++ src/pages/[id].astro | 6 ++ 7 files changed, 126 insertions(+), 64 deletions(-) create mode 100644 src/components/locked-content.ts diff --git a/bun.lockb b/bun.lockb index bc93c678e27dab084bb4980d7d175a3e9d68c1bd..27d9837d992f8f88aa692df5b66588d5f4ef4ab2 100755 GIT binary patch delta 39370 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 delta 39516 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

M>05X+r^IOizc}R&YcmUW5 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 diff --git a/package.json b/package.json index 70e5c15..36f66d9 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "dayjs": "^1.11.10", + "htmx.org": "^1.9.12", "kysely": "^0.26.0", "lucide-react": "^0.309.0", "nanoid": "^5.0.4", diff --git a/src/components/WebComponentWrapper.astro b/src/components/WebComponentWrapper.astro index d0695b4..dd003ce 100644 --- a/src/components/WebComponentWrapper.astro +++ b/src/components/WebComponentWrapper.astro @@ -1,4 +1,6 @@ --- +import { LockClosedIcon } from "@radix-ui/react-icons"; + interface Props { contentId?: string; imageUrl: string; @@ -9,8 +11,47 @@ const { contentId = "", imageUrl = "#", location = "" } = Astro.props; --- - + - + diff --git a/src/components/locked-content.ts b/src/components/locked-content.ts new file mode 100644 index 0000000..58018e9 --- /dev/null +++ b/src/components/locked-content.ts @@ -0,0 +1,62 @@ +class LockedContent extends HTMLElement { + constructor() { + super(); + + // Clone the template + let template = document.getElementById( + "locked-content-template" + ) as HTMLTemplateElement; + let templateContent = template.content; + + // Get attributes + const contentId = this.getAttribute("contentId"); + const imageURL = this.getAttribute("imageURL") ?? "#"; + + // Fetch functions + const incrementCounter = async (id: string) => + await fetch(`http://localhost:3000/api/location/increment/${id}`, { + method: "PATCH", + }); + + // Attach cloned template to DOM + const shadowRoot = this.attachShadow({ mode: "open" }); + shadowRoot.appendChild(templateContent.cloneNode(true)); + + // Set image source URL + const content = shadowRoot.getElementById("content") as HTMLImageElement; + content.src = imageURL; + + // Add onclick listener to unlock content button + const unlockContentButton = shadowRoot.getElementById( + "unlock-content-button" + ); + + if (unlockContentButton) { + unlockContentButton.addEventListener("click", () => { + if (contentId) { + incrementCounter(contentId); + } + }); + } + } +} + +class UnlockContentButton extends HTMLElement { + constructor() { + super(); + + const host = document.getElementById("locked-content"); + + if (host) { + let template = host.shadowRoot?.getElementById( + "unlock-content-button-template" + ) as HTMLTemplateElement; + let templateContent = template.content; + + this.appendChild(templateContent.cloneNode(true)); + } + } +} + +customElements.define("locked-content", LockedContent); +customElements.define("unlock-content-button", UnlockContentButton); diff --git a/src/env.d.ts b/src/env.d.ts index 381873d..0cce2e4 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -2,3 +2,9 @@ /// /// /// + +export declare global { + interface Window { + htmx: any; + } +} diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index b417c12..06682d2 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -38,5 +38,11 @@ + + diff --git a/src/pages/[id].astro b/src/pages/[id].astro index bfc9be5..dabe547 100644 --- a/src/pages/[id].astro +++ b/src/pages/[id].astro @@ -67,6 +67,12 @@ const dateFromNow = dayjs.utc(data?.created_at).from(dayjs.utc());

{dateFromNow}

+ +