mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-02 17:31:39 +00:00
255 lines
9.7 KiB
Templ
255 lines
9.7 KiB
Templ
package sections
|
|
|
|
import models "github.com/onsonr/sonr/internal/orm/marketing"
|
|
|
|
// ╭───────────────────────────────────────────────────────────╮
|
|
// │ Data Model │
|
|
// ╰───────────────────────────────────────────────────────────╯
|
|
|
|
// architecture is the (4th) home page architecture section
|
|
var arch = &models.Architecture{
|
|
Heading: "Onchain Security with Offchain Privacy",
|
|
Subtitle: "Whenever you are ready, just hit publish to turn your site sketches into an actual designs. No creating, no skills, no reshaping.",
|
|
Primary: &models.Technology{
|
|
Title: "Decentralized Identity",
|
|
Desc: "Sonr leverages the latest specifications from W3C, DIF, and ICF to essentially have an Interchain-Connected, Smart Account System - seamlessly authenticated with PassKeys.",
|
|
Image: &models.Image{
|
|
Src: HardwareWallet.Src(),
|
|
Width: "721",
|
|
Height: "280",
|
|
},
|
|
},
|
|
Secondary: &models.Technology{
|
|
Title: "IPFS Vaults",
|
|
Desc: "Completely distributed, encrypted, and decentralized storage for your data.",
|
|
Image: &models.Image{
|
|
Src: DecentralizedNetwork.Src(),
|
|
Width: "342",
|
|
Height: "280",
|
|
},
|
|
},
|
|
Tertiary: &models.Technology{
|
|
Title: "Service Records",
|
|
Desc: "On-chain validated services created by Developers for secure transmission of user data.",
|
|
Image: &models.Image{
|
|
Src: DefiDashboard.Src(),
|
|
Width: "342",
|
|
Height: "280",
|
|
},
|
|
},
|
|
Quaternary: &models.Technology{
|
|
Title: "Authentication & Authorization",
|
|
Desc: "Sonr leverages decentralized Macaroons and Multi-Party Computation to provide a secure and decentralized authentication and authorization system.",
|
|
Image: &models.Image{
|
|
Src: PrivateKey.Src(),
|
|
Width: "342",
|
|
Height: "280",
|
|
},
|
|
},
|
|
Quinary: &models.Technology{
|
|
Title: "First-Class Exchange",
|
|
Desc: "Sonr integrates with the IBC protocol allowing for seamless integration with popular exchanges such as OKX, Binance, and Osmosis.",
|
|
Image: &models.Image{
|
|
Src: CrossChainBridge.Src(),
|
|
Width: "342",
|
|
Height: "280",
|
|
},
|
|
},
|
|
}
|
|
|
|
// ╭───────────────────────────────────────────────────────────╮
|
|
// │ Render Section View │
|
|
// ╰───────────────────────────────────────────────────────────╯
|
|
|
|
// Architecture is the (4th) home page architecture section
|
|
templ Architecture() {
|
|
<!-- Features #2 -->
|
|
<section>
|
|
<div class="py-12 md:py-20">
|
|
<div class="max-w-5xl mx-auto px-4 sm:px-6">
|
|
<div
|
|
class="relative max-w-3xl mx-auto text-center pb-12 md:pb-20"
|
|
>
|
|
<h2
|
|
class="font-inter-tight text-3xl md:text-4xl font-bold text-zinc-900 mb-4"
|
|
>
|
|
{ arch.Heading }
|
|
</h2>
|
|
<p class="text-lg text-zinc-500">
|
|
{ arch.Subtitle }
|
|
</p>
|
|
</div>
|
|
<div
|
|
class="max-w-xs mx-auto sm:max-w-none grid sm:grid-cols-2 md:grid-cols-3 gap-8 sm:gap-4 lg:gap-8"
|
|
>
|
|
<article
|
|
class="sm:col-span-2 flex flex-col border border-transparent [background:linear-gradient(theme(colors.white),theme(colors.zinc.50))_padding-box,linear-gradient(120deg,theme(colors.zinc.300),theme(colors.zinc.100),theme(colors.zinc.300))_border-box] rounded-lg"
|
|
>
|
|
<div class="grow flex flex-col p-5 pt-6">
|
|
<div class="flex items-center space-x-3 mb-1">
|
|
<svg
|
|
class="inline-flex fill-zinc-400"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
width="20"
|
|
height="20"
|
|
>
|
|
<path
|
|
d="M17 9c.6 0 1 .4 1 1v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h6c.6 0 1 .4 1 1s-.4 1-1 1H4v12h12v-6c0-.6.4-1 1-1Zm-.7-6.7c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-8 8c-.2.2-.4.3-.7.3-.3 0-.5-.1-.7-.3-.4-.4-.4-1 0-1.4l8-8Z"
|
|
></path>
|
|
</svg>
|
|
<h3 class="font-inter-tight font-semibold text-zinc-900">
|
|
{ arch.Primary.Title }
|
|
</h3>
|
|
</div>
|
|
<p class="grow max-w-md text-sm text-zinc-500">
|
|
{ arch.Primary.Desc }
|
|
</p>
|
|
</div>
|
|
<figure>
|
|
<img
|
|
class="h-[280px] object-cover object-left mx-auto sm:object-contain sm:h-auto"
|
|
src={ arch.Primary.Image.Src }
|
|
width="721"
|
|
height="280"
|
|
alt="Feature Post 01"
|
|
/>
|
|
</figure>
|
|
</article>
|
|
<article
|
|
class="flex flex-col border border-transparent [background:linear-gradient(theme(colors.white),theme(colors.zinc.50))_padding-box,linear-gradient(120deg,theme(colors.zinc.300),theme(colors.zinc.100),theme(colors.zinc.300))_border-box] rounded-lg"
|
|
>
|
|
<div class="grow flex flex-col p-5 pt-6">
|
|
<div class="flex items-center space-x-3 mb-1">
|
|
<svg
|
|
class="inline-flex fill-zinc-400"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
width="20"
|
|
height="20"
|
|
>
|
|
<path
|
|
d="m6.035 17.335-4-14c-.2-.8.5-1.5 1.3-1.3l14 4c.9.3 1 1.5.1 1.9l-6.6 2.9-2.8 6.6c-.5.9-1.7.8-2-.1Zm-1.5-12.8 2.7 9.5 1.9-4.4c.1-.2.3-.4.5-.5l4.4-1.9-9.5-2.7Z"
|
|
></path>
|
|
</svg>
|
|
<h3 class="font-inter-tight font-semibold text-zinc-900">
|
|
{ arch.Secondary.Title }
|
|
</h3>
|
|
</div>
|
|
<p class="grow max-w-md text-sm text-zinc-500">
|
|
{ arch.Secondary.Desc }
|
|
</p>
|
|
</div>
|
|
<figure>
|
|
<img
|
|
class="h-[280px] object-cover object-left mx-auto sm:object-contain sm:h-auto"
|
|
src={ arch.Secondary.Image.Src }
|
|
width="342"
|
|
height="280"
|
|
alt="Feature Post 02"
|
|
/>
|
|
</figure>
|
|
</article>
|
|
<article
|
|
class="flex flex-col border border-transparent [background:linear-gradient(theme(colors.white),theme(colors.zinc.50))_padding-box,linear-gradient(120deg,theme(colors.zinc.300),theme(colors.zinc.100),theme(colors.zinc.300))_border-box] rounded-lg"
|
|
>
|
|
<div class="grow flex flex-col p-5 pt-6">
|
|
<div class="flex items-center space-x-3 mb-1">
|
|
<svg
|
|
class="inline-flex fill-zinc-400"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
width="20"
|
|
height="20"
|
|
>
|
|
<path
|
|
d="M8.974 16c-.3 0-.7-.2-.9-.5l-2.2-3.7-2.1 2.8c-.3.4-1 .5-1.4.2-.4-.3-.5-1-.2-1.4l3-4c.2-.3.5-.4.9-.4.3 0 .6.2.8.5l2 3.3 3.3-8.1c0-.4.4-.7.8-.7s.8.2.9.6l4 8c.2.5 0 1.1-.4 1.3-.5.2-1.1 0-1.3-.4l-3-6-3.2 7.9c-.2.4-.6.6-1 .6Z"
|
|
></path>
|
|
</svg>
|
|
<h3 class="font-inter-tight font-semibold text-zinc-900">
|
|
{ arch.Tertiary.Title }
|
|
</h3>
|
|
</div>
|
|
<p class="grow max-w-md text-sm text-zinc-500">
|
|
{ arch.Tertiary.Desc }
|
|
</p>
|
|
</div>
|
|
<figure>
|
|
<img
|
|
class="h-[280px] object-cover object-left mx-auto sm:object-contain sm:h-auto"
|
|
src={ arch.Tertiary.Image.Src }
|
|
width="342"
|
|
height="280"
|
|
alt="Feature Post 03"
|
|
/>
|
|
</figure>
|
|
</article>
|
|
<article
|
|
class="flex flex-col border border-transparent [background:linear-gradient(theme(colors.white),theme(colors.zinc.50))_padding-box,linear-gradient(120deg,theme(colors.zinc.300),theme(colors.zinc.100),theme(colors.zinc.300))_border-box] rounded-lg"
|
|
>
|
|
<div class="grow flex flex-col p-5 pt-6">
|
|
<div class="flex items-center space-x-3 mb-1">
|
|
<svg
|
|
class="inline-flex fill-zinc-400"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
width="20"
|
|
height="20"
|
|
>
|
|
<path
|
|
d="M9.3 11.7c-.4-.4-.4-1 0-1.4l7-7c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-7 7c-.4.4-1 .4-1.4 0ZM9.3 17.7c-.4-.4-.4-1 0-1.4l7-7c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-7 7c-.4.4-1 .4-1.4 0ZM2.3 12.7c-.4-.4-.4-1 0-1.4l7-7c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-7 7c-.4.4-1 .4-1.4 0Z"
|
|
></path>
|
|
</svg>
|
|
<h3 class="font-inter-tight font-semibold text-zinc-900">
|
|
{ arch.Quaternary.Title }
|
|
</h3>
|
|
</div>
|
|
<p class="grow max-w-md text-sm text-zinc-500">
|
|
{ arch.Quaternary.Desc }
|
|
</p>
|
|
</div>
|
|
<figure>
|
|
<img
|
|
class="h-[280px] object-cover object-left mx-auto sm:object-contain sm:h-auto"
|
|
src={ arch.Quaternary.Image.Src }
|
|
width="342"
|
|
height="280"
|
|
alt="Feature Post 04"
|
|
/>
|
|
</figure>
|
|
</article>
|
|
<article
|
|
class="flex flex-col border border-transparent [background:linear-gradient(theme(colors.white),theme(colors.zinc.50))_padding-box,linear-gradient(120deg,theme(colors.zinc.300),theme(colors.zinc.100),theme(colors.zinc.300))_border-box] rounded-lg"
|
|
>
|
|
<div class="grow flex flex-col p-5 pt-6">
|
|
<div class="flex items-center space-x-3 mb-1">
|
|
<svg
|
|
class="inline-flex fill-zinc-400"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
width="20"
|
|
height="20"
|
|
>
|
|
<path
|
|
d="M16 2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h8.667l3.733 2.8A1 1 0 0 0 18 17V4a2 2 0 0 0-2-2Zm0 13-2.4-1.8a1 1 0 0 0-.6-.2H4V4h12v11Z"
|
|
></path>
|
|
</svg>
|
|
<h3 class="font-inter-tight font-semibold text-zinc-900">
|
|
{ arch.Quinary.Title }
|
|
</h3>
|
|
</div>
|
|
<p class="grow max-w-md text-sm text-zinc-500">
|
|
{ arch.Quinary.Desc }
|
|
</p>
|
|
</div>
|
|
<figure>
|
|
<img
|
|
class="h-[280px] object-cover object-left mx-auto sm:object-contain sm:h-auto"
|
|
src={ arch.Quinary.Image.Src }
|
|
width="342"
|
|
height="280"
|
|
alt="Feature Post 05"
|
|
/>
|
|
</figure>
|
|
</article>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
}
|