Skip to content

Commit 7f64070

Browse files
committed
Embed Brevo signup form inline with site-matched styling and CSP update
1 parent 1deab62 commit 7f64070

File tree

2 files changed

+110
-9
lines changed

2 files changed

+110
-9
lines changed

src/app.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<link rel="preload" href="/fonts/GeistMono-Variable.woff2" as="font" type="font/woff2" crossorigin="anonymous" />
1616

1717
<!-- Security (meta-enforced; complements Cloudflare response headers) -->
18-
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https:; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self' mailto:" />
18+
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' https://sibforms.com; style-src 'self' 'unsafe-inline' https://sibforms.com; font-src 'self' https://assets.brevo.com; img-src 'self' data: https:; connect-src 'self' https://f4c90f0b.sibforms.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self' mailto: https://f4c90f0b.sibforms.com" />
1919
<meta http-equiv="Referrer-Policy" content="strict-origin-when-cross-origin" />
2020
<meta http-equiv="X-Content-Type-Options" content="nosniff" />
2121

src/routes/augmentum/+page.svelte

Lines changed: 109 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22
<title>Augmentum OS — Sovereign Command Infrastructure | Sovren Software</title>
33
<meta name="description" content="Augmentum OS is your command center. Voice-native interface. Biometric-secured access. Local AI co-pilot. UX, privacy, and security — none sacrificed. Ships Summer 2026." />
44
<link rel="canonical" href="https://sovren.software/augmentum" />
5+
<link rel="stylesheet" href="https://sibforms.com/forms/end-form/build/sib-styles.css" />
6+
<script>
7+
window.REQUIRED_CODE_ERROR_MESSAGE = 'Please choose a country code';
8+
window.LOCALE = 'en';
9+
window.EMAIL_INVALID_MESSAGE = window.SMS_INVALID_MESSAGE = "The information provided is invalid. Please review the field format and try again.";
10+
window.REQUIRED_ERROR_MESSAGE = "This field cannot be left blank.";
11+
window.GENERIC_INVALID_MESSAGE = "The information provided is invalid. Please review the field format and try again.";
12+
window.translation = { common: { selectedList: '{quantity} list selected', selectedLists: '{quantity} lists selected', selectedOption: '{quantity} selected', selectedOptions: '{quantity} selected' } };
13+
var AUTOHIDE = Boolean(0);
14+
</script>
15+
<script defer src="https://sibforms.com/forms/end-form/build/main.js"></script>
516
<meta property="og:title" content="Augmentum OS — One Operator. Total Authority." />
617
<meta property="og:description" content="Voice-native command interface. Biometric-secured sessions. Local AI co-pilot. UX, privacy, and security — none sacrificed. Sovereign infrastructure for high-leverage operators." />
718
<meta property="og:url" content="https://sovren.software/augmentum" />
@@ -77,8 +88,28 @@
7788
sovereign stack.
7889
</p>
7990

80-
<div class="launch-links">
81-
<a class="btn-primary" href={AUGMENTUM_SIGNUP_URL} target="_blank" rel="noreferrer">GET THE BRIEFING →</a>
91+
<div class="brevo-form-wrap">
92+
<div id="sib-form-container" class="sib-form-container">
93+
<div id="error-message" class="sib-form-message-panel brevo-msg brevo-msg--error">
94+
<div class="sib-form-message-panel__text sib-form-message-panel__text--center">
95+
<span class="sib-form-message-panel__inner-text">Your subscription could not be saved. Please try again.</span>
96+
</div>
97+
</div>
98+
<div id="success-message" class="sib-form-message-panel brevo-msg brevo-msg--success">
99+
<div class="sib-form-message-panel__text sib-form-message-panel__text--center">
100+
<span class="sib-form-message-panel__inner-text">Confirmed. You will receive the launch briefing.</span>
101+
</div>
102+
</div>
103+
<form id="sib-form" method="POST" action="https://f4c90f0b.sibforms.com/serve/MUIFAAbBH-WyHvhepdhs6G8ul1wze6MjoVvTKJ8hy6wQ2pt2zfKhS72lm7K5SfgHHreybw_QGra18wfbFENLUX33U10YYUe1aPoQOEePElxdHbiM2uGL0Sdsei-N34xBCkoktWbqbtQe1cMW95PLNJ4gd9cZ_YonM0j3W1TrUXhliIJyTXuJ7u4B8pL9aH8uFVKQbzNfUWpWw_ovuA==" data-type="subscription" class="brevo-form">
104+
<div class="brevo-field-row">
105+
<input class="brevo-input" type="text" id="EMAIL" name="EMAIL" autocomplete="off" placeholder="YOUR EMAIL ADDRESS" data-required="true" required />
106+
<button class="btn-primary brevo-submit" form="sib-form" type="submit">SUBSCRIBE →</button>
107+
</div>
108+
<div class="entry__error entry__error--primary brevo-error-label" aria-live="polite"></div>
109+
<input type="text" name="email_address_check" value="" class="input--hidden" style="display:none" />
110+
<input type="hidden" name="locale" value="en" />
111+
</form>
112+
</div>
82113
</div>
83114

84115
<p class="launch-note">Double opt-in enabled. Unsubscribe anytime.</p>
@@ -129,22 +160,92 @@
129160
color: var(--text-secondary);
130161
}
131162
132-
.launch-links {
133-
display: flex;
134-
gap: var(--space-lg);
135-
flex-wrap: wrap;
136-
}
137-
138163
.launch-note {
139164
color: var(--text-muted);
140165
font-size: var(--fs-label);
141166
letter-spacing: var(--ls-wider);
142167
text-transform: uppercase;
143168
}
144169
170+
.brevo-form-wrap {
171+
max-width: 560px;
172+
}
173+
174+
.brevo-form {
175+
display: flex;
176+
flex-direction: column;
177+
gap: var(--space-sm);
178+
}
179+
180+
.brevo-field-row {
181+
display: flex;
182+
gap: var(--space-sm);
183+
flex-wrap: wrap;
184+
}
185+
186+
.brevo-input {
187+
flex: 1;
188+
min-width: 0;
189+
background: transparent;
190+
border: 1px solid var(--border);
191+
color: var(--text-primary);
192+
font-family: var(--font-mono);
193+
font-size: var(--fs-body-sm);
194+
letter-spacing: var(--ls-wider);
195+
padding: 0.75rem 1rem;
196+
outline: none;
197+
transition: border-color 0.15s;
198+
}
199+
200+
.brevo-input::placeholder {
201+
color: var(--text-muted);
202+
}
203+
204+
.brevo-input:focus {
205+
border-color: var(--text-primary);
206+
}
207+
208+
.brevo-submit {
209+
white-space: nowrap;
210+
}
211+
212+
.brevo-error-label {
213+
font-size: var(--fs-body-xs);
214+
color: var(--text-secondary);
215+
font-family: var(--font-mono);
216+
min-height: 1.2em;
217+
}
218+
219+
.brevo-msg {
220+
display: none;
221+
padding: var(--space-sm) var(--space-md);
222+
font-family: var(--font-mono);
223+
font-size: var(--fs-body-sm);
224+
letter-spacing: var(--ls-default);
225+
border: 1px solid var(--border);
226+
}
227+
228+
.brevo-msg--error {
229+
color: var(--text-secondary);
230+
border-color: var(--border);
231+
}
232+
233+
.brevo-msg--success {
234+
color: var(--text-primary);
235+
border-color: var(--text-primary);
236+
}
237+
145238
@media (max-width: 768px) {
146239
.launch-briefing {
147240
padding: var(--space-5xl) var(--space-xl);
148241
}
242+
243+
.brevo-field-row {
244+
flex-direction: column;
245+
}
246+
247+
.brevo-submit {
248+
width: 100%;
249+
}
149250
}
150251
</style>

0 commit comments

Comments
 (0)