Add marker to links saved in cache

This commit is contained in:
Danny Spina 2023-06-24 00:42:39 +02:00
parent 5e65c17c4b
commit c7ea6a4442
3 changed files with 34 additions and 3 deletions

0
dist/styles/serp.css vendored Normal file
View File

View File

@ -12,6 +12,7 @@ import { minify } from "html-minifier";
import {
blazeFunctionality,
blazeUrl,
highlightBlazedLinks,
injectBlazeToPageLinks,
} from "./utils.js";
import etag from "etag";
@ -86,9 +87,9 @@ app.get("/", async (req, res) => {
const results = data.web.results.map(
(result: any) => `
<article>
<a href="${blazeUrl}/blazed?url=${result.url}">
<h2>${result.title}</h2>
</a>
<h2><a href="${blazeUrl}/blazed?url=${result.url}">
${result.title}
</a></h2>
<span>${result.meta_url.hostname}</span>
<p>${result.description}</p>
</article>
@ -122,7 +123,12 @@ app.get("/", async (req, res) => {
${results.join("")}
<script>
${blazeFunctionality}
${highlightBlazedLinks}
blazeFunctionality('${blazeUrl}')
const links = document.querySelectorAll('a')
highlightBlazedLinks(links)
</script>
</body>
</html>
@ -261,6 +267,10 @@ app.get("/blazed", async (req, res) => {
const url = "${blazeUrl}"
const currentUrl = "${req.query.url}"
injectBlazeToPageLinks(url, currentUrl)
${highlightBlazedLinks}
const links = document.querySelectorAll('a')
highlightBlazedLinks(links)
</script>
</body></html>
`;

View File

@ -31,3 +31,24 @@ export function blazeFunctionality(blazeUrl: string) {
location.href = blazeUrl + "?q=" + encodeURIComponent(c!.value);
});
}
export function highlightBlazedLinks(links: HTMLLinkElement[]) {
links.forEach((link) => {
if (
!link.href ||
link.href === "http://localhost:8888/" ||
link.href === "https://blaze.cyclic.app"
) {
return;
}
const url = new URL(link.href);
caches.open("blaze").then((cache) => {
cache.match(url.href).then((response) => {
if (response) {
link.innerHTML = `${link.textContent}`;
}
});
});
});
}