Modulo makers3d desarrollado con codex V 0.0.1

This commit is contained in:
Ryuk Mike
2026-07-29 23:58:58 +02:00
commit 2bedf7cbb7
171 changed files with 29421 additions and 0 deletions
@@ -0,0 +1,63 @@
"use client";
import { useMemo, useState } from "react";
type WorkShareActionsProps = {
title: string;
url: string;
};
export default function WorkShareActions({ title, url }: WorkShareActionsProps) {
const [status, setStatus] = useState("");
const shareText = useMemo(
() => `Mira esto que encontre en Makers3D: ${title}`,
[title]
);
const whatsappHref = `https://wa.me/?text=${encodeURIComponent(`${shareText}\n${url}`)}`;
async function copyLink() {
try {
await navigator.clipboard.writeText(url);
setStatus("Enlace copiado.");
} catch {
setStatus("No se pudo copiar. Manten presionado el enlace.");
}
}
async function shareWork() {
if (navigator.share) {
try {
await navigator.share({
title,
text: shareText,
url
});
setStatus("Listo para compartir.");
return;
} catch (error) {
const shareError = error as Error;
if (shareError.name === "AbortError") {
return;
}
}
}
await copyLink();
}
return (
<div className="work-detail-share-actions">
<button type="button" className="button button-primary" onClick={shareWork}>
Compartir
</button>
<a className="work-detail-share-option" href={whatsappHref} target="_blank" rel="noreferrer">
WhatsApp
</a>
<button type="button" className="work-detail-share-option" onClick={copyLink}>
Copiar enlace
</button>
{status ? <span className="work-detail-share-status">{status}</span> : null}
</div>
);
}