pheromone / app /app.js
preyashyadav
Polish, fix shelf labels, update links
4215608
Raw
History Blame Contribute Delete
1.59 kB
const LINKS = {
github: "https://github.com/preyashyadav/pheromone-ai",
demoVideo: "https://youtu.be/nqk8-5RG2k0",
x: "https://x.com/preyashyadav_/status/2053254234741850309",
technicalWalkthrough: "https://github.com/preyashyadav/pheromone-ai/blob/main/docs/TECHNICAL_WALKTHROUGH.md",
site: "https://preyashyadav.com",
};
function setLink(id, href, label) {
const el = document.getElementById(id);
if (!el) return;
el.setAttribute("href", href);
if (label) el.textContent = label;
}
setLink("githubLinkTop", LINKS.github, "GitHub");
setLink("githubLink", LINKS.github, "GitHub");
setLink("githubLinkBottom", LINKS.github, "GitHub");
setLink("demoLink", LINKS.demoVideo, "View Demo Video");
setLink("demoLink2", LINKS.demoVideo, "View Demo Video");
setLink("demoLink3", LINKS.demoVideo, "Demo Video");
setLink("xLink", LINKS.x, "Build-in-Public Thread");
setLink("siteLink", LINKS.site, "preyashyadav.com");
setLink("techLink", LINKS.technicalWalkthrough, "Technical Walkthrough");
for (const el of document.querySelectorAll('[data-now="iso"]')) {
el.textContent = new Date().toISOString();
}
const revealEls = Array.from(document.querySelectorAll(".reveal"));
for (const el of revealEls) el.classList.add("js-reveal");
const observer = new IntersectionObserver(
(entries) => {
for (const entry of entries) {
if (!entry.isIntersecting) continue;
entry.target.classList.add("inView");
observer.unobserve(entry.target);
}
},
{ threshold: 0.15, rootMargin: "0px 0px -10% 0px" },
);
for (const el of revealEls) observer.observe(el);