diff --git a/Taskfile.yml b/Taskfile.yml index d6ab6750c..5e35fed6b 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -11,7 +11,6 @@ tasks: GOOS: js GOARCH: wasm cmds: - - make assets-gen - go build -o build/app.wasm main.go hway:dev: diff --git a/pkg/nebula/components/marketing/page.templ b/pkg/nebula/components/marketing/page.templ index b29cb6dc6..1893aff43 100644 --- a/pkg/nebula/components/marketing/page.templ +++ b/pkg/nebula/components/marketing/page.templ @@ -9,6 +9,24 @@ import ( "log" ) +// ╭───────────────────────────────────────────────────────────╮ +// │ Home Routes - Marketing │ +// ╰───────────────────────────────────────────────────────────╯ + +func HomeRoute(c echo.Context) error { + s, err := ctx.GetHWAYContext(c) + if err != nil { + return err + } + log.Printf("Session ID: %s", s.ID()) + return ctx.RenderTempl(c, View()) +} + +// ╭───────────────────────────────────────────────────────────╮ +// │ Static Content Values │ +// ╰───────────────────────────────────────────────────────────╯ + +// hero is the (1st) home page hero section var hero = &models.Hero{ TitleFirst: "Simplified", TitleEmphasis: "self-custody", @@ -29,70 +47,94 @@ var hero = &models.Hero{ }, } +// highlights is the (2nd) home page highlights section var highlights = &models.Highlights{ Heading: "The Internet Rebuilt for You", Subtitle: "Sonr is a comprehensive system for Identity Management which proteects users across their digital personas while providing Developers a cost-effective solution for decentralized authentication.", Features: []*models.Feature{ { - Title: "∞-Factor Auth", + Title: "∞ Factor Auth", Desc: "Sonr is designed to work across all platforms and devices, building a encrypted and anonymous identity layer for each user on the internet.", Icon: nil, }, { - Title: "Data Ownership", + Title: "Control Your Data", Desc: "Sonr leverages advanced cryptography to permit facilitating Wallet Operations directly on-chain, without the need for a centralized server.", Icon: nil, }, { - Title: "Everyday Transactions", + Title: "Crypto Enabled", Desc: "Sonr follows the latest specifications from W3C, DIF, and ICF to essentially have an Interchain-Connected, Smart Account System - seamlessly authenticated with PassKeys.", Icon: nil, }, { - Title: "Limitless Possibilities", - Desc: "Sonr is a proudly American Project which operates under the new Wyoming DUNA Legal Framework, ensuring the protection of your digital rights.", + Title: "Works Everywhere", + Desc: "Sonr anonymously associates your online identities with a Quantum-Resistant Vault which only you can access.", Icon: nil, }, }, } +// mission is the (3rd) home page mission section var mission = &models.Mission{ Eyebrow: "L1 Blockchain", Heading: "The Protocol for Decentralized Identity & Authentication", Subtitle: "We're creating the Global Standard for Decentralized Identity. Authenticate users with PassKeys, Issue Crypto Wallets, Build Payment flows, Send Encrypted Messages - all on a single platform.", Experience: &models.Feature{ - Title: "Less is More", + Title: "UX First Approach", Desc: "Sonr is a comprehensive system for Identity Management which proteects users across their digital personas while providing Developers a cost-effective solution for decentralized authentication.", Icon: nil, }, Compliance: &models.Feature{ - Title: "Works where there's Internet", + Title: "Universal Interoperability", Desc: "Sonr is designed to work across all platforms and devices, building a encrypted and anonymous identity layer for each user on the internet.", Icon: nil, }, Interoperability: &models.Feature{ - Title: "American Made DUNA", + Title: "Made in the USA", Desc: "Sonr follows the latest specifications from W3C, DIF, and ICF to essentially have an Interchain-Connected, Smart Account System - seamlessly authenticated with PassKeys.", Icon: nil, }, } -func HomeRoute(c echo.Context) error { - s, err := ctx.GetHWAYContext(c) - if err != nil { - return err - } - log.Printf("Session ID: %s", s.ID()) - return ctx.RenderTempl(c, View()) +// architecture is the (4th) home page architecture section +var architecture = &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.", + }, + Secondary: &models.Technology{ + Title: "IPFS Vaults", + Desc: "Completely distributed, encrypted, and decentralized storage for your data.", + }, + Tertiary: &models.Technology{ + Title: "Service Records", + Desc: "On-chain validated services created by Developers for secure transmission of user data.", + }, + 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.", + }, + 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.", + }, } +// ╭─────────────────────────────────────────────────────────╮ +// │ Final Rendering │ +// ╰─────────────────────────────────────────────────────────╯ + +// View renders the home page templ View() { @styles.LayoutNoBody("Sonr.ID", true) { @sections.Header() @sections.Hero(hero) @sections.Highlights(highlights) - @sections.Mission() - @sections.Architecture() + @sections.Mission(mission) + @sections.Architecture(architecture) @sections.Lowlights() @sections.CallToAction() @sections.Footer() diff --git a/pkg/nebula/components/marketing/page_templ.go b/pkg/nebula/components/marketing/page_templ.go index bbfc83a05..6c49e5dd9 100644 --- a/pkg/nebula/components/marketing/page_templ.go +++ b/pkg/nebula/components/marketing/page_templ.go @@ -17,6 +17,23 @@ import ( "log" ) +// ╭───────────────────────────────────────────────────────────╮ +// │ Home Routes - Marketing │ +// ╰───────────────────────────────────────────────────────────╯ + +func HomeRoute(c echo.Context) error { + s, err := ctx.GetHWAYContext(c) + if err != nil { + return err + } + log.Printf("Session ID: %s", s.ID()) + return ctx.RenderTempl(c, View()) +} + +// ╭───────────────────────────────────────────────────────────╮ +// │ Static Content Values │ +// ╰───────────────────────────────────────────────────────────╯ + var hero = &models.Hero{ TitleFirst: "Simplified", TitleEmphasis: "self-custody", @@ -42,23 +59,23 @@ var highlights = &models.Highlights{ Subtitle: "Sonr is a comprehensive system for Identity Management which proteects users across their digital personas while providing Developers a cost-effective solution for decentralized authentication.", Features: []*models.Feature{ { - Title: "∞-Factor Auth", + Title: "∞ Factor Auth", Desc: "Sonr is designed to work across all platforms and devices, building a encrypted and anonymous identity layer for each user on the internet.", Icon: nil, }, { - Title: "Data Ownership", + Title: "Control Your Data", Desc: "Sonr leverages advanced cryptography to permit facilitating Wallet Operations directly on-chain, without the need for a centralized server.", Icon: nil, }, { - Title: "Everyday Transactions", + Title: "Crypto Enabled", Desc: "Sonr follows the latest specifications from W3C, DIF, and ICF to essentially have an Interchain-Connected, Smart Account System - seamlessly authenticated with PassKeys.", Icon: nil, }, { - Title: "Limitless Possibilities", - Desc: "Sonr is a proudly American Project which operates under the new Wyoming DUNA Legal Framework, ensuring the protection of your digital rights.", + Title: "Works Everywhere", + Desc: "Sonr anonymously associates your online identities with a Quantum-Resistant Vault which only you can access.", Icon: nil, }, }, @@ -79,21 +96,17 @@ var mission = &models.Mission{ Icon: nil, }, Interoperability: &models.Feature{ - Title: "American Made DUNA", + Title: "Made in the USA", Desc: "Sonr follows the latest specifications from W3C, DIF, and ICF to essentially have an Interchain-Connected, Smart Account System - seamlessly authenticated with PassKeys.", Icon: nil, }, } -func HomeRoute(c echo.Context) error { - s, err := ctx.GetHWAYContext(c) - if err != nil { - return err - } - log.Printf("Session ID: %s", s.ID()) - return ctx.RenderTempl(c, View()) -} +// ╭─────────────────────────────────────────────────────────╮ +// │ Final Rendering │ +// ╰─────────────────────────────────────────────────────────╯ +// View renders the home page func View() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context @@ -151,7 +164,7 @@ func View() templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = sections.Mission().Render(ctx, templ_7745c5c3_Buffer) + templ_7745c5c3_Err = sections.Mission(mission).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/pkg/nebula/components/marketing/sections/architecture.templ b/pkg/nebula/components/marketing/sections/architecture.templ index 6f4fadcdd..e4673dc5a 100644 --- a/pkg/nebula/components/marketing/sections/architecture.templ +++ b/pkg/nebula/components/marketing/sections/architecture.templ @@ -1,6 +1,8 @@ package sections -templ Architecture() { +import models "github.com/onsonr/sonr/internal/orm/marketing" + +templ Architecture(arch *models.Architecture) {
@@ -11,12 +13,10 @@ templ Architecture() {

- Onchain Security with Offchain Privacy + { arch.Heading }

- Whenever you are ready, just hit publish to turn your site - sketches into an actual designs. No creating, no skills, no - reshaping. + { arch.Subtitle }

- Decentralized Identity + { arch.Primary.Title }

- Create teams and organize your designs into folders using - project specs and insights. + { arch.Primary.Desc }

@@ -72,12 +71,11 @@ templ Architecture() { >

- IPFS Vaults + { arch.Secondary.Title }

- Generate images and explore new ways of presenting your - designs with AI. + { arch.Secondary.Desc }

@@ -106,12 +104,11 @@ templ Architecture() { >

- Service Records + { arch.Tertiary.Title }

- Get your scenes inside your projects using simple embed - code/snippets. + { arch.Tertiary.Desc }

@@ -140,11 +137,11 @@ templ Architecture() { >

- Authentication & Authorization + { arch.Quaternary.Title }

- Easily make drag and drop interactions without coding. + { arch.Quaternary.Desc }

@@ -173,11 +170,11 @@ templ Architecture() { >

- Decentralized Exchange + { arch.Quinary.Title }

- Create tasks, projects, issues and more in just seconds. + { arch.Quinary.Desc }

diff --git a/pkg/nebula/components/marketing/sections/mission.templ b/pkg/nebula/components/marketing/sections/mission.templ index 8e7b7eb8e..c3bfe7ec5 100644 --- a/pkg/nebula/components/marketing/sections/mission.templ +++ b/pkg/nebula/components/marketing/sections/mission.templ @@ -1,6 +1,8 @@ package sections -templ Mission() { +import models "github.com/onsonr/sonr/internal/orm/marketing" + +templ Mission(mission *models.Mission) {
- L1 Blockchain + { mission.Eyebrow }

- The Protocol for Decentralized Identity & Authentication + { mission.Heading }

- We're creating the Global Standard for Decentralized Identity. - Authenticate users with PassKeys, Issue Crypto Wallets, Build - Payment flows, Send Encrypted Messages - all on a single platform. + { mission.Subtitle }

@@ -52,11 +52,10 @@ templ Mission() {
- Make designs feel real + { mission.Experience.Title }
- Save time and keep things consistent with reusable - images, and 3D assets in shared libraries. + { mission.Experience.Desc }
@@ -79,11 +78,10 @@ templ Mission() {
- Bring creatives closer + { mission.Compliance.Title }
- Save time and keep things consistent with reusable - images, and 3D assets in shared libraries. + { mission.Compliance.Desc }
@@ -106,11 +104,10 @@ templ Mission() {
- Scale and align your design team + { mission.Interoperability.Title }
- Save time and keep things consistent with reusable - images, and 3D assets in shared libraries. + { mission.Interoperability.Desc }
diff --git a/pkg/nebula/components/marketing/sections/mission_templ.go b/pkg/nebula/components/marketing/sections/mission_templ.go index 103757fcf..a1252fa0d 100644 --- a/pkg/nebula/components/marketing/sections/mission_templ.go +++ b/pkg/nebula/components/marketing/sections/mission_templ.go @@ -8,7 +8,9 @@ package sections import "github.com/a-h/templ" import templruntime "github.com/a-h/templ/runtime" -func Mission() templ.Component { +import models "github.com/onsonr/sonr/internal/orm/marketing" + +func Mission(mission *models.Mission) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { @@ -29,7 +31,124 @@ func Mission() templ.Component { templ_7745c5c3_Var1 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
L1 Blockchain

The Protocol for Decentralized Identity & Authentication

We're creating the Global Standard for Decentralized Identity. Authenticate users with PassKeys, Issue Crypto Wallets, Build Payment flows, Send Encrypted Messages - all on a single platform.

\"Carousel
\"Carousel
\"Carousel
\"Features
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var2 string + templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(mission.Eyebrow) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/marketing/sections/mission.templ`, Line: 23, Col: 25} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var3 string + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(mission.Heading) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/marketing/sections/mission.templ`, Line: 28, Col: 25} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(mission.Subtitle) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/marketing/sections/mission.templ`, Line: 31, Col: 26} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

\"Carousel
\"Carousel
\"Carousel
\"Features
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -61,9 +180,9 @@ func featuresBlocks() templ.Component { }() } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Var2 := templ.GetChildren(ctx) - if templ_7745c5c3_Var2 == nil { - templ_7745c5c3_Var2 = templ.NopComponent + templ_7745c5c3_Var11 := templ.GetChildren(ctx) + if templ_7745c5c3_Var11 == nil { + templ_7745c5c3_Var11 = templ.NopComponent } ctx = templ.ClearChildren(ctx) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

Multi-party Computation

Eliminate the need for seed-phrases, and browser extensions for crypto wallets.

Matrix Protocol

End-to-end encrypted messaging with sonr.chat.

OpenID Connect

Seamless integration with Web2 Applications with the OpenID Standard.

Native ETH & BTC

Keep workflows efficient with tools that give teams visibility throughout the process.

Developer Integrations

Quickly integrate with Sonr by leveraging modern web APIs.

Secure Backups

Uniformly accessible user keyshare access on/off network.

")