feat: convert web El source to native HTML template syntax
Replace all return "..." HTML string literals with native El templates —
removes all \" escapes, converts + interpolations to {expr}/{raw(expr)},
and replaces conditional string concatenation with {#if}/{#else}/{/if}.
No functional changes; output is identical.
This commit is contained in:
+123
-126
@@ -16,18 +16,18 @@
|
||||
// in the noscript fallback style).
|
||||
|
||||
fn page_open() -> String {
|
||||
return "<!DOCTYPE html>
|
||||
<html lang=\"en\">
|
||||
return <!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset=\"UTF-8\">
|
||||
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Neuron - The AI That Remembers You</title>
|
||||
<meta name=\"description\" content=\"Every AI resets when you close the tab. Neuron doesn't. Runs on your machine. Remembers everything. Cheaper than ChatGPT on day one.\">
|
||||
<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/assets/favicon-16.png\">
|
||||
<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/assets/favicon-32.png\">
|
||||
<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">
|
||||
<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>
|
||||
<link href=\"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap\" rel=\"stylesheet\">
|
||||
<meta name="description" content="Every AI resets when you close the tab. Neuron doesn't. Runs on your machine. Remembers everything. Cheaper than ChatGPT on day one.">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32.png">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
|
||||
@@ -308,14 +308,14 @@ fn page_open() -> String {
|
||||
transition: transform 280ms ease, opacity 200ms ease;
|
||||
transform-origin: center;
|
||||
}
|
||||
.nav-hamburger[aria-expanded=\"true\"] span:nth-child(1) {
|
||||
.nav-hamburger[aria-expanded="true"] span:nth-child(1) {
|
||||
transform: translateY(7px) rotate(45deg);
|
||||
}
|
||||
.nav-hamburger[aria-expanded=\"true\"] span:nth-child(2) {
|
||||
.nav-hamburger[aria-expanded="true"] span:nth-child(2) {
|
||||
opacity: 0;
|
||||
transform: scaleX(0);
|
||||
}
|
||||
.nav-hamburger[aria-expanded=\"true\"] span:nth-child(3) {
|
||||
.nav-hamburger[aria-expanded="true"] span:nth-child(3) {
|
||||
transform: translateY(-7px) rotate(-45deg);
|
||||
}
|
||||
|
||||
@@ -1828,12 +1828,12 @@ fn page_open() -> String {
|
||||
button[disabled] { opacity: 0.6; cursor: not-allowed; }
|
||||
|
||||
</style>
|
||||
<script src=\"https://cdn.jsdelivr.net/npm/marked/marked.min.js\"></script>
|
||||
<script src=\"https://challenges.cloudflare.com/turnstile/v0/api.js\" async defer></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
||||
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
|
||||
<noscript><style>.reveal { opacity: 1 !important; transform: none !important; }</style></noscript>
|
||||
|
||||
<!-- Google Analytics -->
|
||||
<script async src=\"https://www.googletagmanager.com/gtag/js?id=G-Y1EE43X9RN\"></script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Y1EE43X9RN"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
@@ -1843,117 +1843,117 @@ fn page_open() -> String {
|
||||
</script>
|
||||
|
||||
<!-- Open Graph -->
|
||||
<meta property=\"og:type\" content=\"website\">
|
||||
<meta property=\"og:url\" content=\"https://neurontechnologies.ai\">
|
||||
<meta property=\"og:title\" content=\"Neuron - The AI That Remembers You\">
|
||||
<meta property=\"og:description\" content=\"Every other AI forgets you. Neuron doesn't. Runs on your machine, builds a memory over time, and gets sharper the longer you use it. Built by one person. April 22, 2026 — the meeting. April 25 — you're looking at the proof.\">
|
||||
<meta property=\"og:image\" content=\"https://neurontechnologies.ai/assets/brand/neuron-wordmark-on-light@2x.png\">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://neurontechnologies.ai">
|
||||
<meta property="og:title" content="Neuron - The AI That Remembers You">
|
||||
<meta property="og:description" content="Every other AI forgets you. Neuron doesn't. Runs on your machine, builds a memory over time, and gets sharper the longer you use it. Built by one person. April 22, 2026 — the meeting. April 25 — you're looking at the proof.">
|
||||
<meta property="og:image" content="https://neurontechnologies.ai/assets/brand/neuron-wordmark-on-light@2x.png">
|
||||
|
||||
<!-- Twitter / X -->
|
||||
<meta name=\"twitter:card\" content=\"summary_large_image\">
|
||||
<meta name=\"twitter:title\" content=\"Neuron - The AI That Remembers You\">
|
||||
<meta name=\"twitter:description\" content=\"Every other AI forgets you. Neuron doesn't. Runs on your machine. Remembers everything. $19/mo or $199 founding member (first 1,000).\">
|
||||
<meta name=\"twitter:image\" content=\"https://neurontechnologies.ai/assets/brand/neuron-wordmark-on-light@2x.png\">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Neuron - The AI That Remembers You">
|
||||
<meta name="twitter:description" content="Every other AI forgets you. Neuron doesn't. Runs on your machine. Remembers everything. $19/mo or $199 founding member (first 1,000).">
|
||||
<meta name="twitter:image" content="https://neurontechnologies.ai/assets/brand/neuron-wordmark-on-light@2x.png">
|
||||
|
||||
<!-- Canonical -->
|
||||
<link rel=\"canonical\" href=\"https://neurontechnologies.ai\">
|
||||
<link rel="canonical" href="https://neurontechnologies.ai">
|
||||
|
||||
<!-- Structured data — GEO: Organization + SoftwareApplication + FAQPage -->
|
||||
<script type=\"application/ld+json\">
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
\"@context\": \"https://schema.org\",
|
||||
\"@graph\": [
|
||||
"@context": "https://schema.org",
|
||||
"@graph": [
|
||||
{
|
||||
\"@type\": \"Organization\",
|
||||
\"name\": \"Neuron, LLC\",
|
||||
\"url\": \"https://neurontechnologies.ai\",
|
||||
\"founder\": {
|
||||
\"@type\": \"Person\",
|
||||
\"name\": \"Will Anderson\",
|
||||
\"jobTitle\": \"Founder\"
|
||||
"@type": "Organization",
|
||||
"name": "Neuron, LLC",
|
||||
"url": "https://neurontechnologies.ai",
|
||||
"founder": {
|
||||
"@type": "Person",
|
||||
"name": "Will Anderson",
|
||||
"jobTitle": "Founder"
|
||||
},
|
||||
\"description\": \"Neuron builds AI that runs on your machine, builds a memory over time, and gets sharper the longer you use it. One builder. Built different.\",
|
||||
\"foundingDate\": \"2026\",
|
||||
\"sameAs\": [\"https://github.com/neuron-technologies\"]
|
||||
"description": "Neuron builds AI that runs on your machine, builds a memory over time, and gets sharper the longer you use it. One builder. Built different.",
|
||||
"foundingDate": "2026",
|
||||
"sameAs": ["https://github.com/neuron-technologies"]
|
||||
},
|
||||
{
|
||||
\"@type\": \"SoftwareApplication\",
|
||||
\"name\": \"Neuron\",
|
||||
\"applicationCategory\": \"AIApplication\",
|
||||
\"operatingSystem\": \"macOS, Windows, Linux\",
|
||||
\"offers\": [
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "Neuron",
|
||||
"applicationCategory": "AIApplication",
|
||||
"operatingSystem": "macOS, Windows, Linux",
|
||||
"offers": [
|
||||
{
|
||||
\"@type\": \"Offer\",
|
||||
\"name\": \"Free\",
|
||||
\"price\": \"0\",
|
||||
\"priceCurrency\": \"USD\"
|
||||
"@type": "Offer",
|
||||
"name": "Free",
|
||||
"price": "0",
|
||||
"priceCurrency": "USD"
|
||||
},
|
||||
{
|
||||
\"@type\": \"Offer\",
|
||||
\"name\": \"Professional\",
|
||||
\"price\": \"19\",
|
||||
\"priceCurrency\": \"USD\",
|
||||
\"billingIncrement\": \"monthly\"
|
||||
"@type": "Offer",
|
||||
"name": "Professional",
|
||||
"price": "19",
|
||||
"priceCurrency": "USD",
|
||||
"billingIncrement": "monthly"
|
||||
},
|
||||
{
|
||||
\"@type\": \"Offer\",
|
||||
\"name\": \"Founding Member\",
|
||||
\"description\": \"Lifetime access for the first 1,000 members.\",
|
||||
\"price\": \"199\",
|
||||
\"priceCurrency\": \"USD\"
|
||||
"@type": "Offer",
|
||||
"name": "Founding Member",
|
||||
"description": "Lifetime access for the first 1,000 members.",
|
||||
"price": "199",
|
||||
"priceCurrency": "USD"
|
||||
}
|
||||
],
|
||||
\"description\": \"The AI that remembers you. Runs locally on your machine. Builds a persistent memory over every conversation. Gets sharper the longer you use it. Your data never leaves your device.\",
|
||||
\"featureList\": [
|
||||
\"Persistent memory — runs locally, never resets\",
|
||||
\"Bring your own API keys (OpenAI, Anthropic, Grok)\",
|
||||
\"Local inference via Ollama — coming, offline, zero cloud\",
|
||||
\"Neuron Inference coming soon — priced below major APIs\",
|
||||
\"Two devices included per plan\",
|
||||
\"Enterprise deployment — Q1 2027\"
|
||||
"description": "The AI that remembers you. Runs locally on your machine. Builds a persistent memory over every conversation. Gets sharper the longer you use it. Your data never leaves your device.",
|
||||
"featureList": [
|
||||
"Persistent memory — runs locally, never resets",
|
||||
"Bring your own API keys (OpenAI, Anthropic, Grok)",
|
||||
"Local inference via Ollama — coming, offline, zero cloud",
|
||||
"Neuron Inference coming soon — priced below major APIs",
|
||||
"Two devices included per plan",
|
||||
"Enterprise deployment — Q1 2027"
|
||||
]
|
||||
},
|
||||
{
|
||||
\"@type\": \"FAQPage\",
|
||||
\"mainEntity\": [
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{
|
||||
\"@type\": \"Question\",
|
||||
\"name\": \"What is Neuron?\",
|
||||
\"acceptedAnswer\": {
|
||||
\"@type\": \"Answer\",
|
||||
\"text\": \"Neuron is an AI that runs on your machine and builds a persistent memory over time. Every other AI forgets you when you close the tab. Neuron doesn't. The longer you use it, the less you have to explain.\"
|
||||
"@type": "Question",
|
||||
"name": "What is Neuron?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Neuron is an AI that runs on your machine and builds a persistent memory over time. Every other AI forgets you when you close the tab. Neuron doesn't. The longer you use it, the less you have to explain."
|
||||
}
|
||||
},
|
||||
{
|
||||
\"@type\": \"Question\",
|
||||
\"name\": \"Does Neuron send my data to the cloud?\",
|
||||
\"acceptedAnswer\": {
|
||||
\"@type\": \"Answer\",
|
||||
\"text\": \"No. Your memory lives on your machine and never leaves it. Neuron does not collect your data, train on your conversations, or require cloud storage. For inference you choose: local via Ollama, your own API keys, or Neuron Inference (coming soon).\"
|
||||
"@type": "Question",
|
||||
"name": "Does Neuron send my data to the cloud?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "No. Your memory lives on your machine and never leaves it. Neuron does not collect your data, train on your conversations, or require cloud storage. For inference you choose: local via Ollama, your own API keys, or Neuron Inference (coming soon)."
|
||||
}
|
||||
},
|
||||
{
|
||||
\"@type\": \"Question\",
|
||||
\"name\": \"How much does Neuron cost?\",
|
||||
\"acceptedAnswer\": {
|
||||
\"@type\": \"Answer\",
|
||||
\"text\": \"Neuron has a free tier that never expires. Professional is $19/month. Founding Member is $199 lifetime — available to the first 1,000 members only. All plans include two devices.\"
|
||||
"@type": "Question",
|
||||
"name": "How much does Neuron cost?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Neuron has a free tier that never expires. Professional is $19/month. Founding Member is $199 lifetime — available to the first 1,000 members only. All plans include two devices."
|
||||
}
|
||||
},
|
||||
{
|
||||
\"@type\": \"Question\",
|
||||
\"name\": \"Who built Neuron?\",
|
||||
\"acceptedAnswer\": {
|
||||
\"@type\": \"Answer\",
|
||||
\"text\": \"Will Anderson. On April 22nd, 2026 he had a meeting with one of the largest technology companies in the world. Within two days their lawyers were engaged. He decided to build it himself. On April 25th he published the proof.\"
|
||||
"@type": "Question",
|
||||
"name": "Who built Neuron?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Will Anderson. On April 22nd, 2026 he had a meeting with one of the largest technology companies in the world. Within two days their lawyers were engaged. He decided to build it himself. On April 25th he published the proof."
|
||||
}
|
||||
},
|
||||
{
|
||||
\"@type\": \"Question\",
|
||||
\"name\": \"When does Neuron launch?\",
|
||||
\"acceptedAnswer\": {
|
||||
\"@type\": \"Answer\",
|
||||
\"text\": \"Neuron is available for preorder now. Enterprise deployment launches Q1 2027.\"
|
||||
"@type": "Question",
|
||||
"name": "When does Neuron launch?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Neuron is available for preorder now. Enterprise deployment launches Q1 2027."
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -1963,69 +1963,66 @@ fn page_open() -> String {
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
"
|
||||
}
|
||||
|
||||
fn page_close() -> String {
|
||||
return "
|
||||
<script src=\"/js/chat-widget.js\" defer></script>
|
||||
return <script src="/js/chat-widget.js" defer></script>
|
||||
|
||||
<!-- ── Neuron Demo Chat Widget ──────────────────────────────────────────────── -->
|
||||
<div id=\"neuron-demo-btn\">
|
||||
<button onclick=\"neuronDemoToggle()\" aria-label=\"Chat with Neuron\">
|
||||
<img src=\"/assets/brand/neuron-brain.png\" alt=\"\">
|
||||
<div id="neuron-demo-btn">
|
||||
<button onclick="neuronDemoToggle()" aria-label="Chat with Neuron">
|
||||
<img src="/assets/brand/neuron-brain.png" alt="">
|
||||
Try Neuron
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id=\"neuron-demo-panel\" style=\"display:none\">
|
||||
<div id=\"neuron-demo-header\">
|
||||
<div id=\"neuron-demo-header-left\">
|
||||
<img src=\"/assets/brand/neuron-brain.png\" alt=\"Neuron\">
|
||||
<div id="neuron-demo-panel" style="display:none">
|
||||
<div id="neuron-demo-header">
|
||||
<div id="neuron-demo-header-left">
|
||||
<img src="/assets/brand/neuron-brain.png" alt="Neuron">
|
||||
<div>
|
||||
<span>Neuron</span>
|
||||
<div id=\"neuron-demo-header-sub\">Live Demo</div>
|
||||
<div id="neuron-demo-header-sub">Live Demo</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style=\"display:flex;align-items:center;gap:0.75rem\">
|
||||
<span id=\"neuron-demo-countdown\" style=\"font-family:var(--body);font-size:0.65rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.90)\"></span>
|
||||
<button id=\"neuron-demo-close\" onclick=\"neuronDemoToggle()\" aria-label=\"Close\">
|
||||
<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,.85)\" stroke-width=\"1.75\" stroke-linecap=\"round\">
|
||||
<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/>
|
||||
<div style="display:flex;align-items:center;gap:0.75rem">
|
||||
<span id="neuron-demo-countdown" style="font-family:var(--body);font-size:0.65rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.90)"></span>
|
||||
<button id="neuron-demo-close" onclick="neuronDemoToggle()" aria-label="Close">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="rgba(255,255,255,.85)" stroke-width="1.75" stroke-linecap="round">
|
||||
<line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id=\"neuron-demo-messages\"></div>
|
||||
<div id=\"neuron-demo-turnstile\" style=\"padding:0.75rem 1rem 0;transition:opacity 0.6s,max-height 0.6s;overflow:hidden;max-height:80px\"></div>
|
||||
<div id=\"neuron-demo-input-row\" style=\"display:none\">
|
||||
<input type=\"text\" id=\"neuron-demo-text\" placeholder=\"Ask me anything...\" autocomplete=\"off\">
|
||||
<button id=\"neuron-demo-send\" onclick=\"neuronDemoSend()\">Send</button>
|
||||
<div id="neuron-demo-messages"></div>
|
||||
<div id="neuron-demo-turnstile" style="padding:0.75rem 1rem 0;transition:opacity 0.6s,max-height 0.6s;overflow:hidden;max-height:80px"></div>
|
||||
<div id="neuron-demo-input-row" style="display:none">
|
||||
<input type="text" id="neuron-demo-text" placeholder="Ask me anything..." autocomplete="off">
|
||||
<button id="neuron-demo-send" onclick="neuronDemoSend()">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Share preview modal: shown after the user clicks Share on an AI bubble.
|
||||
Renders the share-card layout in an iframe (via srcdoc) so the visitor
|
||||
sees exactly what the public card will look like before publishing. -->
|
||||
<div id=\"neuron-share-preview-modal\" style=\"display:none;position:fixed;inset:0;z-index:200000;background:rgba(13,13,20,.55);align-items:center;justify-content:center;padding:1.5rem;font-family:'IBM Plex Sans',system-ui,sans-serif\">
|
||||
<div style=\"background:#fff;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden\">
|
||||
<div style=\"display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.08)\">
|
||||
<div id="neuron-share-preview-modal" style="display:none;position:fixed;inset:0;z-index:200000;background:rgba(13,13,20,.55);align-items:center;justify-content:center;padding:1.5rem;font-family:'IBM Plex Sans',system-ui,sans-serif">
|
||||
<div style="background:#fff;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden">
|
||||
<div style="display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.08)">
|
||||
<div>
|
||||
<div style=\"font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6B6B7E\">Preview</div>
|
||||
<div style=\"font-size:1rem;font-weight:500;color:#0D0D14;margin-top:.15rem\">This is what you are about to publish</div>
|
||||
<div style="font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6B6B7E">Preview</div>
|
||||
<div style="font-size:1rem;font-weight:500;color:#0D0D14;margin-top:.15rem">This is what you are about to publish</div>
|
||||
</div>
|
||||
<button type=\"button\" id=\"neuron-share-preview-close\" aria-label=\"Close\" style=\"background:none;border:none;cursor:pointer;color:#6B6B7E;padding:.25rem;line-height:1;font-size:1.5rem\">×</button>
|
||||
<button type="button" id="neuron-share-preview-close" aria-label="Close" style="background:none;border:none;cursor:pointer;color:#6B6B7E;padding:.25rem;line-height:1;font-size:1.5rem">×</button>
|
||||
</div>
|
||||
<iframe id=\"neuron-share-preview-frame\" style=\"flex:1;width:100%;min-height:420px;border:0;background:#FAFAF8\" sandbox=\"allow-same-origin\"></iframe>
|
||||
<div style=\"display:flex;align-items:center;justify-content:flex-end;gap:.6rem;padding:.85rem 1.25rem;border-top:1px solid rgba(0,0,0,.08);background:#FAFAF8\">
|
||||
<button type=\"button\" id=\"neuron-share-preview-cancel\" style=\"background:#fff;border:1px solid rgba(0,0,0,.18);color:#3A3A4A;cursor:pointer;padding:.55rem 1rem;font:inherit;font-size:.8rem;font-weight:500;border-radius:6px\">Cancel</button>
|
||||
<button type=\"button\" id=\"neuron-share-preview-publish\" style=\"background:#0052A0;border:1px solid #0052A0;color:#fff;cursor:pointer;padding:.55rem 1.1rem;font:inherit;font-size:.8rem;font-weight:600;letter-spacing:.04em;border-radius:6px\">Publish to gallery</button>
|
||||
<iframe id="neuron-share-preview-frame" style="flex:1;width:100%;min-height:420px;border:0;background:#FAFAF8" sandbox="allow-same-origin"></iframe>
|
||||
<div style="display:flex;align-items:center;justify-content:flex-end;gap:.6rem;padding:.85rem 1.25rem;border-top:1px solid rgba(0,0,0,.08);background:#FAFAF8">
|
||||
<button type="button" id="neuron-share-preview-cancel" style="background:#fff;border:1px solid rgba(0,0,0,.18);color:#3A3A4A;cursor:pointer;padding:.55rem 1rem;font:inherit;font-size:.8rem;font-weight:500;border-radius:6px">Cancel</button>
|
||||
<button type="button" id="neuron-share-preview-publish" style="background:#0052A0;border:1px solid #0052A0;color:#fff;cursor:pointer;padding:.55rem 1.1rem;font:inherit;font-size:.8rem;font-weight:600;letter-spacing:.04em;border-radius:6px">Publish to gallery</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src=\"/js/styles.js\" defer></script>
|
||||
<script src="/js/styles.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user