← back to 4square Admin
add noreferrer to all target=_blank links
f9ab3a8ae2877c6fda36c4643436e6745f213d3d · 2026-05-19 18:39:46 -0700 · Steve Abrams
Files touched
Diff
commit f9ab3a8ae2877c6fda36c4643436e6745f213d3d
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue May 19 18:39:46 2026 -0700
add noreferrer to all target=_blank links
---
index.html | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/index.html b/index.html
index b7b34a7..c92e6eb 100644
--- a/index.html
+++ b/index.html
@@ -552,14 +552,14 @@ const SHOPIFY_STORE_SLUG = 'designer-laboratory-sandbox';
function deepLinks(r, kind) {
if (kind === 'shopify') {
const links = [];
- if (r.shopify_id) links.push(`<a target="_blank" rel="noopener" href="https://admin.shopify.com/store/${SHOPIFY_STORE_SLUG}/products/${r.shopify_id}" title="Open in Shopify Admin">S</a>`);
- if (r.handle) links.push(`<a target="_blank" rel="noopener" href="https://designerwallcoverings.com/products/${r.handle}" title="Open on DW storefront">↗</a>`);
+ if (r.shopify_id) links.push(`<a target="_blank" rel="noopener noreferrer" href="https://admin.shopify.com/store/${SHOPIFY_STORE_SLUG}/products/${r.shopify_id}" title="Open in Shopify Admin">S</a>`);
+ if (r.handle) links.push(`<a target="_blank" rel="noopener noreferrer" href="https://designerwallcoverings.com/products/${r.handle}" title="Open on DW storefront">↗</a>`);
return links.join('');
}
if (kind === 'patternbank' || kind === 'vintage') {
- return r.source_url ? `<a target="_blank" rel="noopener" href="${esc(r.source_url)}" title="Open source page">↗</a>` : '';
+ return r.source_url ? `<a target="_blank" rel="noopener noreferrer" href="${esc(r.source_url)}" title="Open source page">↗</a>` : '';
}
- return `<a target="_blank" rel="noopener" href="https://wallco.ai/design/${r.id}" title="Open on wallco.ai">↗</a>`;
+ return `<a target="_blank" rel="noopener noreferrer" href="https://wallco.ai/design/${r.id}" title="Open on wallco.ai">↗</a>`;
}
function cardHtml(r, opts={}) {
@@ -657,7 +657,7 @@ function modalWallco(r) {
${r.negative_prompt ? `<div class="row"><span class="k">Negative</span><span class="v"><pre>${esc(r.negative_prompt)}</pre></span></div>` : ''}
${r.notes ? `<div class="row"><span class="k">Notes</span><span class="v">${esc(r.notes)}</span></div>` : ''}
<div class="acts">
- <a target="_blank" rel="noopener" href="https://wallco.ai/design/${r.id}">↗ Open on wallco.ai</a>
+ <a target="_blank" rel="noopener noreferrer" href="https://wallco.ai/design/${r.id}">↗ Open on wallco.ai</a>
<button onclick="modalAction(${r.id}, '${r.is_published?'unpublish':'publish'}')">${r.is_published ? '↻ Unpublish' : '✓ Publish'}</button>
<button class="del" onclick="modalAction(${r.id}, 'delete')" style="color:#e08070; border-color:#4a2a26">🗑 Remove</button>
</div>`;
@@ -682,8 +682,8 @@ function modalShopify(r) {
<div class="row"><span class="k">Created (SP)</span><span class="v">${esc(r.created_at_shopify||'')}</span></div>
<div class="row"><span class="k">Synced</span><span class="v">${esc(r.synced_at||'')}</span></div>
<div class="acts">
- <a target="_blank" rel="noopener" href="https://admin.shopify.com/store/${SHOPIFY_STORE_SLUG}/products/${esc(r.shopify_id||'')}">S Open in Shopify Admin</a>
- <a target="_blank" rel="noopener" href="${url}">↗ Open on DW storefront</a>
+ <a target="_blank" rel="noopener noreferrer" href="https://admin.shopify.com/store/${SHOPIFY_STORE_SLUG}/products/${esc(r.shopify_id||'')}">S Open in Shopify Admin</a>
+ <a target="_blank" rel="noopener noreferrer" href="${url}">↗ Open on DW storefront</a>
</div>`;
}
← efd0670 guard against .bak/.pre-/.orig/.swp/~ url junk
·
back to 4square Admin
·
4square admin: fall back to a populated source when the save 6ffa88e →