Skip to content

Commit 4fcb33e

Browse files
committed
download-confir tweaks, newsletter page tweaks
1 parent ce03edc commit 4fcb33e

File tree

3 files changed

+214
-60
lines changed

3 files changed

+214
-60
lines changed

src/components/NewsletterSection.astro

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,23 @@ import HeaderTag from "./HeaderTag.astro";
55
66
interface Props {
77
headerLevel: "1" | "2";
8+
title?: string;
9+
description?: string;
810
}
911
10-
const { headerLevel } = Astro.props;
12+
const { headerLevel,
13+
title = "Get informed about new releases",
14+
description = "Get the latest defguard news and updates in your inbox."
15+
} = Astro.props;
1116
12-
const title = "Get informed about new releases";
1317
---
1418

1519
<ProductSection padding="newsletter" bordered>
1620
<section id="newsletter">
1721
<HeaderTag level={headerLevel}>
1822
{title}
1923
</HeaderTag>
20-
<p>Get the latest defguard news and updates in your inbox.</p>
24+
<p>{description}</p>
2125
<form
2226
id="newsletter-form"
2327
action="https://buttondown.email/api/emails/embed-subscribe/defguard"
@@ -26,28 +30,30 @@ const title = "Get informed about new releases";
2630
onsubmit={`window.open('https://buttondown.email/defguard', 'popupwindow')`}
2731
>
2832
<div class="form-row field-email field">
29-
<label for="bd-email">Email:</label>
30-
<input id="bd-email" name="email" type="email" placeholder="" />
33+
<input id="bd-email" placeholder="E-mail" name="email" type="email" placeholder="" />
34+
<Button type="submit" text="Subscribe" size="normal" />
3135
</div>
32-
<div class="terms">
36+
<!--<div class="terms">
3337
<div class="form-row">
34-
<!-- <div class="form-row field checkbox">
38+
<div class="form-row field checkbox">
3539
<Checkbox client:load />
3640
<p>I agree to receive information about defguard’s products and services.</p>
3741
</div>
3842
<p>
3943
By submitting this form, I confirm that I have read and agree to defguard’s
4044
Privacy Notice and Privacy Policy.
41-
</p> -->
45+
</p>
4246
</div>
43-
</div>
47+
</div>-->
4448
<!-- <SubscribeButton client:load /> -->
45-
<Button type="submit" text="Subscribe Now" size="normal" />
49+
4650
</form>
4751
</section>
4852
</ProductSection>
4953

5054
<style lang="scss">
55+
56+
5157
#newsletter {
5258
width: 100%;
5359
& > h1,
@@ -64,13 +70,18 @@ const title = "Get informed about new releases";
6470
@include typography(paragraph);
6571
}
6672

73+
input{
74+
font-size: calc(1rem * var(--font-scale-factor));
75+
padding-left: 20px;
76+
}
77+
6778
a {
6879
text-decoration: underline;
6980
text-decoration-color: var(--text-body-primary);
7081
}
7182

7283
& > p {
73-
padding-bottom: 8px;
84+
padding-bottom: 50px;
7485
}
7586

7687
form {
@@ -89,7 +100,7 @@ const title = "Get informed about new releases";
89100
}
90101

91102
.field-email {
92-
padding: 20px 0;
103+
padding: 0;
93104
}
94105

95106
.form-row {
@@ -102,8 +113,7 @@ const title = "Get informed about new releases";
102113
row-gap: 8px;
103114

104115
&.field {
105-
max-width: 580px;
106-
padding: 40px 0;
116+
max-width: 720px;
107117
@include break-up(lg) {
108118
display: grid;
109119
grid-template-columns: max-content 1fr;

src/pages/download-confirm.astro

Lines changed: 157 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,48 @@
11
---
2-
import NewsletterSection from "../components/NewsletterSection.astro";
3-
import ProductSection from "../layouts/ProductSection.astro";
2+
import FeaturesTable from "../components/FeaturesTable/FeaturesTable";
43
import Navigation from "../components/base/Navigation.astro";
54
import BaseLayout from "../layouts/BaseLayout.astro";
5+
import ProductSection from "../layouts/ProductSection.astro";
6+
import FlexibleSection from "../components/FlexibleSection.astro";
7+
import NewsletterSection from "../components/NewsletterSection.astro";
8+
import YouTubeVideo from "../components/video/YouTubeVideo.astro";
9+
import { featuresTableData } from "../data/compare-table";
10+
import { Button } from "../components/buttons/Button/Button";
11+
import OrganizationJSONLD from "../scripts/OrganizationJSONLD.astro";
612
7-
const title = "defguard enterprise open-source SSO&VPN with 2FA/MFA";
13+
const title =
14+
"Zero-Trust WireGuard® 2FA/MFA VPN: Book a Demo";
815
const featuredImage =
916
"github.com/DefGuard/defguard.github.io/raw/main/public/images/png/defguard.png";
1017
const imageWidth = "1080";
1118
const imageHeight = "540";
12-
const description =
13-
"defguard - enterprise open-source SSO&VPN - the only open-source solution with real WireGuard® MFA/2FA & integrated OpenID Connect SSO";
14-
const url = "https://defguard.net/download-confirm/";
19+
const description = "defguard - Zero-Trust WireGuard® 2FA/MFA VPN - Book a Demo";
20+
const url = "https://defguard.net/book-a-demo/";
21+
const tags = [
22+
"defgaurd",
23+
"compare",
24+
"WireGuard®",
25+
"2fa",
26+
"mfa",
27+
"mfa/2fa",
28+
"openid",
29+
"secure",
30+
"ldap",
31+
"acl",
32+
"vpn",
33+
"sso",
34+
"firewall",
35+
"desktop client",
36+
"mesh",
37+
"mesh vpn",
38+
"nat",
39+
"yubikey",
40+
"email",
41+
"email notifications",
42+
"gateway",
43+
"auth",
44+
"ssh",
45+
];
1546
---
1647

1748
<BaseLayout
@@ -22,63 +53,144 @@ const url = "https://defguard.net/download-confirm/";
2253
imageHeight={imageHeight}
2354
url={url}
2455
>
56+
<OrganizationJSONLD
57+
slot="schema"
58+
title={title}
59+
description={description}
60+
url={url}
61+
tags={tags}
62+
/>
2563
<Navigation activeSlug="/download-confirm/" />
26-
<main id="newsletter-page">
27-
<ProductSection padding="none" id="thanks">
28-
<h2>Download defguard server</h2>
29-
<h3>Latest release</h3>
30-
<p>
31-
Version : 1.3.0
32-
<br />
33-
Release date: 14.05.2025
34-
</p>
35-
<p>
36-
In order to download lates version of the server please visit GitHub releases
37-
page:
38-
</p>
39-
<p>
40-
<a href="https://github.com/DefGuard/defguard/releases/tag/v1.3.0">
41-
https://github.com/DefGuard/defguard/releases/tag/v1.3.0
42-
</a>
43-
</p>
44-
<h3>New features</h3>
45-
<p>
64+
<main id="download-confirm">
65+
<ProductSection padding="none">
66+
<FlexibleSection title="Download defguard Server" id="release-info" variant="white" theme="light">
67+
<div slot="left">
68+
<p><strong>Latest release</strong></p>
69+
<ul>
70+
<li>
71+
Version : 1.3.0
72+
</li>
73+
<li>
74+
Release date: 14.05.2025
75+
</li>
76+
</ul>
77+
<p>
78+
In order to download lates version of the server please visit GitHub releases page.
79+
</p>
80+
<div class="learn-more">
81+
<a
82+
href="https://github.com/DefGuard/defguard/releases/tag/v1.3.0"
83+
class="learn-more-link"
84+
>
85+
Download from GitHub
86+
</a>
87+
</div>
88+
</div>
89+
<div slot="right">
90+
<NewsletterSection
91+
headerLevel="1"
92+
title="Stay Updated on New Releases"
93+
description="Release notes and occasional news — no spam, just one email per month max."
94+
/>
95+
</div>
96+
</FlexibleSection>
97+
<FlexibleSection title="What's new?" id="new-features" variant="white" theme="light">
98+
<div slot="left">
4699
<ul>
47100
<li>
48-
<b>Access Control / Firewall management</b> - ACLs are for now only available for
49-
Linux based Defguard Gateway - FreeBSD/OPNSense will come in 1.3.1 stable release.
101+
Access Control / Firewall management - ACLs are for now only available for Linux based Defguard Gateway - FreeBSD/OPNSense will come in 1.3.1 stable release.
102+
</li>
103+
<li>
104+
LDAP & Active Directory two-way synchronization
50105
</li>
51-
<li><b>LDAP & Active Directory</b> two-way synchronization</li>
52106
</ul>
53-
</p>
107+
</div>
108+
<div slot="right">
109+
<YouTubeVideo
110+
videoId="Om28IuV5AcM"
111+
title="Your video title"
112+
showControls={true}
113+
showInfo={true}
114+
allowFullscreen={true}
115+
rel={false}
116+
/>
117+
</div>
118+
</FlexibleSection>
54119
</ProductSection>
55-
<NewsletterSection headerLevel="2" />
56120
</main>
57121
</BaseLayout>
58122

59123
<style lang="scss" is:global>
60-
#newsletter-page {
61-
padding: calc(var(--nav-height) + 100px) 0 100px;
124+
125+
.btn.size-normal{
126+
margin: 0 0 0 auto;
127+
min-height: unset;
128+
height:38px;
129+
border-radius: unset;
130+
width: 100%;
131+
132+
@include break-down(lg) {
133+
margin: 0 auto;
134+
}
62135
}
136+
.btn{
137+
border-color: var(--text-button-tertiary);
63138

64-
#thanks {
65-
padding-bottom: 40px;
66-
& > * {
67-
width: 100%;
139+
&:hover{
140+
border: unset;
141+
background-color: var(--text-button-tertiary);
142+
143+
span {
144+
color: white;
145+
}
68146
}
147+
}
69148

70-
h2,
71-
p {
72-
text-align: left;
149+
#download-confirm {
150+
.product-section {
151+
padding-top: 0 !important; /* Match the 4rem padding from FlexibleSection */
152+
padding-bottom: 0rem !important;
153+
border:none;
154+
display: unset;
155+
h1 {
156+
@include break-down(md) {
157+
padding-top:20px;
158+
border-top: 1px solid black;
159+
}
160+
}
73161
}
162+
.learn-more {
163+
margin-top: 1.5rem;
164+
}
165+
166+
.learn-more-link {
167+
display: inline-block;
168+
padding: 0.75rem 1.5rem;
169+
background-color: var(--primary-button-bg, #0c8ce0);
170+
color: var(--primary-button-text, white);
171+
border-radius: 6px;
172+
font-weight: 600;
173+
text-decoration: none;
174+
transition: background-color 0.2s ease-in-out;
74175

75-
h2 {
76-
@include typography(section);
176+
&:hover {
177+
background-color: var(--primary-button-hover, #0a7bc5);
178+
}
77179
}
78180

79-
p {
80-
@include typography(paragraph);
81-
padding: 20px 0;
181+
.contact {
182+
width: 100%;
183+
border-top: 1px solid var(--border-separator);
184+
display: flex;
185+
flex-flow: row;
186+
align-items: center;
187+
justify-content: center;
188+
box-sizing: border-box;
189+
padding: 100px 10px 0px 10px;
190+
191+
a {
192+
text-decoration: none;
193+
}
82194
}
83195
}
84196
</style>

src/pages/newsletter.astro

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,43 @@ const url = "https://defguard.net/newsletter/";
2323
>
2424
<Navigation activeSlug="/newsletter/" />
2525
<main id="newsletter-page">
26-
<NewsletterSection headerLevel="1" />
26+
<NewsletterSection
27+
headerLevel="1"
28+
title="Stay Updated on New Releases"
29+
description="Release notes and occasional news — no spam, just one email per month max."
30+
/>
2731
</main>
2832
</BaseLayout>
2933

3034
<style lang="scss" is:global>
35+
36+
.btn.size-normal{
37+
margin: 0 0 0 auto;
38+
min-height: unset;
39+
height:38px;
40+
border-radius: unset;
41+
width: 100%;
42+
43+
@include break-down(lg) {
44+
margin: 0 auto;
45+
}
46+
}
47+
.btn{
48+
border-color: var(--text-button-tertiary);
49+
50+
&:hover{
51+
border: unset;
52+
background-color: var(--text-button-tertiary);
53+
54+
span {
55+
color: white;
56+
}
57+
}
58+
}
59+
60+
#newsletter form{
61+
flex-flow: unset;
62+
}
3163
#newsletter-page {
3264
padding: calc(var(--nav-height) + 100px) 0 100px;
3365
}

0 commit comments

Comments
 (0)