mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 04:57:08 +00:00
feat: add static hero section content to homepage
This commit is contained in:
parent
8811f56559
commit
3637f27369
1
Makefile
1
Makefile
@ -304,7 +304,6 @@ gen-pkl:
|
||||
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/DWN.pkl
|
||||
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/ORM.pkl
|
||||
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/Txns.pkl
|
||||
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/UIUX.pkl
|
||||
|
||||
|
||||
|
||||
|
@ -1,15 +1,13 @@
|
||||
package dash
|
||||
|
||||
import (
|
||||
"github.com/onsonr/sonr/pkg/nebula/components/home/sections"
|
||||
"github.com/onsonr/sonr/pkg/nebula/global/styles"
|
||||
"github.com/onsonr/sonr/pkg/nebula/components/home/sections"
|
||||
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||
)
|
||||
|
||||
templ View(home *models.Home) {
|
||||
templ View() {
|
||||
@styles.LayoutNoBody("Sonr.ID", true) {
|
||||
@sections.Header()
|
||||
@sections.SectionHero(home.Hero)
|
||||
@sections.Highlights()
|
||||
@sections.Features()
|
||||
@sections.Bento()
|
||||
|
@ -11,10 +11,9 @@ import templruntime "github.com/a-h/templ/runtime"
|
||||
import (
|
||||
"github.com/onsonr/sonr/pkg/nebula/components/home/sections"
|
||||
"github.com/onsonr/sonr/pkg/nebula/global/styles"
|
||||
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||
)
|
||||
|
||||
func View(home *models.Home) templ.Component {
|
||||
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
|
||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||
@ -55,14 +54,6 @@ func View(home *models.Home) templ.Component {
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = sections.SectionHero(home.Hero).Render(ctx, templ_7745c5c3_Buffer)
|
||||
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
|
||||
}
|
||||
templ_7745c5c3_Err = sections.Highlights().Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
|
@ -1,15 +1,34 @@
|
||||
package home
|
||||
|
||||
import (
|
||||
"github.com/onsonr/sonr/pkg/nebula/components/home/sections"
|
||||
"github.com/onsonr/sonr/pkg/nebula/global/styles"
|
||||
"github.com/onsonr/sonr/pkg/nebula/components/home/sections"
|
||||
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||
)
|
||||
|
||||
templ View(home *models.Home) {
|
||||
var hero = models.Hero{
|
||||
TitleFirst: "Simplified",
|
||||
TitleEmphasis: "self-custody",
|
||||
TitleSecond: "for everyone",
|
||||
Subtitle: "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.",
|
||||
PrimaryButton: &models.Button{Text: "Get Started", Href: "/register"},
|
||||
SecondaryButton: &models.Button{Text: "Learn More", Href: "/about"},
|
||||
Image: &models.Image{
|
||||
Src: "https://cdn.sonr.id/img/hero-clipped.svg",
|
||||
Width: "500",
|
||||
Height: "500",
|
||||
},
|
||||
Stats: []*models.Stat{
|
||||
{Value: "476K", Label: "Assets packed with power beyond your imagination."},
|
||||
{Value: "1.44K", Label: "Assets packed with power beyond your imagination."},
|
||||
{Value: "1.5M+", Label: "Assets packed with power beyond your imagination."},
|
||||
},
|
||||
}
|
||||
|
||||
templ View() {
|
||||
@styles.LayoutNoBody("Sonr.ID", true) {
|
||||
@sections.Header()
|
||||
@sections.SectionHero(home.Hero)
|
||||
@sections.SectionHero(&hero)
|
||||
@sections.Highlights()
|
||||
@sections.Features()
|
||||
@sections.Bento()
|
||||
|
@ -14,7 +14,26 @@ import (
|
||||
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||
)
|
||||
|
||||
func View(home *models.Home) templ.Component {
|
||||
var hero = models.Hero{
|
||||
TitleFirst: "Simplified",
|
||||
TitleEmphasis: "self-custody",
|
||||
TitleSecond: "for everyone",
|
||||
Subtitle: "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.",
|
||||
PrimaryButton: &models.Button{Text: "Get Started", Href: "/register"},
|
||||
SecondaryButton: &models.Button{Text: "Learn More", Href: "/about"},
|
||||
Image: &models.Image{
|
||||
Src: "https://cdn.sonr.id/img/hero-clipped.svg",
|
||||
Width: "500",
|
||||
Height: "500",
|
||||
},
|
||||
Stats: []*models.Stat{
|
||||
{Value: "476K", Label: "Assets packed with power beyond your imagination."},
|
||||
{Value: "1.44K", Label: "Assets packed with power beyond your imagination."},
|
||||
{Value: "1.5M+", Label: "Assets packed with power beyond your imagination."},
|
||||
},
|
||||
}
|
||||
|
||||
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
|
||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||
@ -55,7 +74,7 @@ func View(home *models.Home) templ.Component {
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = sections.SectionHero(home.Hero).Render(ctx, templ_7745c5c3_Buffer)
|
||||
templ_7745c5c3_Err = sections.SectionHero(&hero).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
|
@ -90,11 +90,11 @@ func SectionHero(hero *models.Hero) templ.Component {
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ui.PrimaryButton(hero.PrimaryButton.Href, hero.PrimaryButton.Text).Render(ctx, templ_7745c5c3_Buffer)
|
||||
templ_7745c5c3_Err = ui.PrimaryButton("/register", "Get Started").Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ui.SecondaryButton(hero.SecondaryButton.Href, hero.SecondaryButton.Text).Render(ctx, templ_7745c5c3_Buffer)
|
||||
templ_7745c5c3_Err = ui.SecondaryButton("/about", "Learn More").Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
|
@ -1,12 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Bento struct {
|
||||
Title string `pkl:"title"`
|
||||
|
||||
Description string `pkl:"description"`
|
||||
|
||||
PrimaryButton *Button `pkl:"primaryButton"`
|
||||
|
||||
SecondaryButton *Button `pkl:"secondaryButton"`
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Button struct {
|
||||
Text string `pkl:"text"`
|
||||
|
||||
Href string `pkl:"href"`
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type CallToAction struct {
|
||||
Title string `pkl:"title"`
|
||||
|
||||
Description string `pkl:"description"`
|
||||
|
||||
PrimaryButton *Button `pkl:"primaryButton"`
|
||||
|
||||
SecondaryButton *Button `pkl:"secondaryButton"`
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Feature struct {
|
||||
Title string `pkl:"title"`
|
||||
|
||||
Description string `pkl:"description"`
|
||||
|
||||
Icon *string `pkl:"icon"`
|
||||
|
||||
Image *Image `pkl:"image"`
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Features struct {
|
||||
Title string `pkl:"title"`
|
||||
|
||||
Description string `pkl:"description"`
|
||||
|
||||
Image *Image `pkl:"image"`
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Footer struct {
|
||||
Logo *Image `pkl:"logo"`
|
||||
|
||||
MediumLink *SocialLink `pkl:"mediumLink"`
|
||||
|
||||
TwitterLink *SocialLink `pkl:"twitterLink"`
|
||||
|
||||
DiscordLink *SocialLink `pkl:"discordLink"`
|
||||
|
||||
GithubLink *SocialLink `pkl:"githubLink"`
|
||||
|
||||
CompanyLinks []*Link `pkl:"companyLinks"`
|
||||
|
||||
ResourcesLinks []*Link `pkl:"resourcesLinks"`
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Form interface {
|
||||
GetTitle() string
|
||||
|
||||
GetDescription() string
|
||||
|
||||
GetInputs() []*Input
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Hero struct {
|
||||
TitleFirst string `pkl:"titleFirst"`
|
||||
|
||||
TitleEmphasis string `pkl:"titleEmphasis"`
|
||||
|
||||
TitleSecond string `pkl:"titleSecond"`
|
||||
|
||||
Subtitle string `pkl:"subtitle"`
|
||||
|
||||
PrimaryButton *Button `pkl:"primaryButton"`
|
||||
|
||||
SecondaryButton *Button `pkl:"secondaryButton"`
|
||||
|
||||
Image *Image `pkl:"image"`
|
||||
|
||||
Stats []*Stat `pkl:"stats"`
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Highlight struct {
|
||||
Title string `pkl:"title"`
|
||||
|
||||
Description string `pkl:"description"`
|
||||
|
||||
Image *Image `pkl:"image"`
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Highlights struct {
|
||||
Heading string `pkl:"heading"`
|
||||
|
||||
Subheading string `pkl:"subheading"`
|
||||
|
||||
Highlights []*Feature `pkl:"highlights"`
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Home struct {
|
||||
Hero *Hero `pkl:"hero"`
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Image struct {
|
||||
Src string `pkl:"src"`
|
||||
|
||||
Width string `pkl:"width"`
|
||||
|
||||
Height string `pkl:"height"`
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
import "github.com/onsonr/sonr/pkg/nebula/models/inputtype"
|
||||
|
||||
type Input struct {
|
||||
Label string `pkl:"label"`
|
||||
|
||||
Type inputtype.InputType `pkl:"type"`
|
||||
|
||||
Placeholder string `pkl:"placeholder"`
|
||||
|
||||
Value *string `pkl:"value"`
|
||||
|
||||
Error *string `pkl:"error"`
|
||||
|
||||
Help *string `pkl:"help"`
|
||||
|
||||
Required *bool `pkl:"required"`
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Link struct {
|
||||
Text string `pkl:"text"`
|
||||
|
||||
Href string `pkl:"href"`
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Lowlights struct {
|
||||
Title string `pkl:"title"`
|
||||
|
||||
Description string `pkl:"description"`
|
||||
|
||||
Image *Image `pkl:"image"`
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type ModalForm struct {
|
||||
Title string `pkl:"title"`
|
||||
|
||||
Description string `pkl:"description"`
|
||||
|
||||
Id string `pkl:"id"`
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/apple/pkl-go/pkl"
|
||||
)
|
||||
|
||||
type Models struct {
|
||||
Home *Home `pkl:"home"`
|
||||
|
||||
Register *ModalForm `pkl:"register"`
|
||||
|
||||
Login *ModalForm `pkl:"login"`
|
||||
|
||||
Authorize *ModalForm `pkl:"authorize"`
|
||||
|
||||
PrivacyConsent *ModalForm `pkl:"privacyConsent"`
|
||||
}
|
||||
|
||||
// LoadFromPath loads the pkl module at the given path and evaluates it into a Models
|
||||
func LoadFromPath(ctx context.Context, path string) (ret *Models, err error) {
|
||||
evaluator, err := pkl.NewEvaluator(ctx, pkl.PreconfiguredOptions)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer func() {
|
||||
cerr := evaluator.Close()
|
||||
if err == nil {
|
||||
err = cerr
|
||||
}
|
||||
}()
|
||||
ret, err = Load(ctx, evaluator, pkl.FileSource(path))
|
||||
return ret, err
|
||||
}
|
||||
|
||||
// Load loads the pkl module at the given source and evaluates it with the given evaluator into a Models
|
||||
func Load(ctx context.Context, evaluator pkl.Evaluator, source *pkl.ModuleSource) (*Models, error) {
|
||||
var ret Models
|
||||
if err := evaluator.EvaluateModule(ctx, source, &ret); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &ret, nil
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type PublicKeyCreationOptions struct {
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type PublicKeyRequestOptions struct {
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type RegisterFormData interface {
|
||||
Form
|
||||
}
|
||||
|
||||
var _ RegisterFormData = (*RegisterFormDataImpl)(nil)
|
||||
|
||||
type RegisterFormDataImpl struct {
|
||||
Title string `pkl:"title"`
|
||||
|
||||
Description string `pkl:"description"`
|
||||
|
||||
Inputs []*Input `pkl:"inputs"`
|
||||
}
|
||||
|
||||
func (rcv *RegisterFormDataImpl) GetTitle() string {
|
||||
return rcv.Title
|
||||
}
|
||||
|
||||
func (rcv *RegisterFormDataImpl) GetDescription() string {
|
||||
return rcv.Description
|
||||
}
|
||||
|
||||
func (rcv *RegisterFormDataImpl) GetInputs() []*Input {
|
||||
return rcv.Inputs
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type SocialLink struct {
|
||||
Link *Link `pkl:"link"`
|
||||
|
||||
Icon string `pkl:"icon"`
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Stat struct {
|
||||
Value string `pkl:"value"`
|
||||
|
||||
Label string `pkl:"label"`
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
type Stats struct {
|
||||
FirstValue string `pkl:"firstValue"`
|
||||
|
||||
FirstLabel string `pkl:"firstLabel"`
|
||||
|
||||
SecondValue string `pkl:"secondValue"`
|
||||
|
||||
SecondLabel string `pkl:"secondLabel"`
|
||||
|
||||
ThirdValue string `pkl:"thirdValue"`
|
||||
|
||||
ThirdLabel string `pkl:"thirdLabel"`
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/apple/pkl-go/pkl"
|
||||
)
|
||||
|
||||
var models *Models
|
||||
|
||||
func LoadFromString(ctx context.Context, s string) (err error) {
|
||||
evaluator, err := pkl.NewEvaluator(ctx, pkl.PreconfiguredOptions)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer func() {
|
||||
cerr := evaluator.Close()
|
||||
if err == nil {
|
||||
err = cerr
|
||||
}
|
||||
}()
|
||||
ret, err := Load(ctx, evaluator, pkl.TextSource(s))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
models = ret
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetModels() (*Models, error) {
|
||||
if models == nil {
|
||||
return nil, errors.New("models not initialized")
|
||||
}
|
||||
return models, nil
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
package models
|
||||
|
||||
type Event string
|
||||
|
||||
const (
|
||||
// Auth
|
||||
AuthLoginSuccess Event = "login_success"
|
||||
AuthLogoutSuccess Event = "logout_success"
|
||||
AuthRegisterSuccess Event = "register_success"
|
||||
AuthRegisterFailure Event = "register_failure"
|
||||
|
||||
WalletTransactionConfirmed Event = "transaction_confirmed"
|
||||
)
|
@ -1,14 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package models
|
||||
|
||||
import "github.com/apple/pkl-go/pkl"
|
||||
|
||||
func init() {
|
||||
pkl.RegisterMapping("models", Models{})
|
||||
pkl.RegisterMapping("models#Home", Home{})
|
||||
pkl.RegisterMapping("models#Hero", Hero{})
|
||||
pkl.RegisterMapping("models#Button", Button{})
|
||||
pkl.RegisterMapping("models#Image", Image{})
|
||||
pkl.RegisterMapping("models#Stat", Stat{})
|
||||
pkl.RegisterMapping("models#ModalForm", ModalForm{})
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||
package inputtype
|
||||
|
||||
import (
|
||||
"encoding"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type InputType string
|
||||
|
||||
const (
|
||||
Text InputType = "text"
|
||||
Password InputType = "password"
|
||||
Email InputType = "email"
|
||||
Credential InputType = "credential"
|
||||
File InputType = "file"
|
||||
)
|
||||
|
||||
// String returns the string representation of InputType
|
||||
func (rcv InputType) String() string {
|
||||
return string(rcv)
|
||||
}
|
||||
|
||||
var _ encoding.BinaryUnmarshaler = new(InputType)
|
||||
|
||||
// UnmarshalBinary implements encoding.BinaryUnmarshaler for InputType.
|
||||
func (rcv *InputType) UnmarshalBinary(data []byte) error {
|
||||
switch str := string(data); str {
|
||||
case "text":
|
||||
*rcv = Text
|
||||
case "password":
|
||||
*rcv = Password
|
||||
case "email":
|
||||
*rcv = Email
|
||||
case "credential":
|
||||
*rcv = Credential
|
||||
case "file":
|
||||
*rcv = File
|
||||
default:
|
||||
return fmt.Errorf(`illegal: "%s" is not a valid InputType`, str)
|
||||
}
|
||||
return nil
|
||||
}
|
28
pkg/nebula/models/marketing.go
Normal file
28
pkg/nebula/models/marketing.go
Normal file
@ -0,0 +1,28 @@
|
||||
package models
|
||||
|
||||
type Button struct {
|
||||
Text string
|
||||
Href string
|
||||
}
|
||||
|
||||
type Image struct {
|
||||
Src string
|
||||
Width string
|
||||
Height string
|
||||
}
|
||||
|
||||
type Stat struct {
|
||||
Value string
|
||||
Label string
|
||||
}
|
||||
|
||||
type Hero struct {
|
||||
TitleFirst string
|
||||
TitleEmphasis string
|
||||
TitleSecond string
|
||||
Subtitle string
|
||||
PrimaryButton *Button
|
||||
SecondaryButton *Button
|
||||
Image *Image
|
||||
Stats []*Stat
|
||||
}
|
@ -8,7 +8,6 @@ import (
|
||||
|
||||
"github.com/onsonr/sonr/pkg/nebula/components/auth"
|
||||
"github.com/onsonr/sonr/pkg/nebula/components/home"
|
||||
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||
)
|
||||
|
||||
// ╭───────────────────────────────────────────────────────────╮
|
||||
@ -16,11 +15,7 @@ import (
|
||||
// ╰───────────────────────────────────────────────────────────╯
|
||||
|
||||
func Home(c echo.Context) error {
|
||||
mdls, err := models.GetModels()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return render(c, home.View(mdls.Home))
|
||||
return render(c, home.View())
|
||||
}
|
||||
|
||||
// ╭───────────────────────────────────────────────────────────╮
|
||||
|
57
pkl/UIUX.pkl
57
pkl/UIUX.pkl
@ -1,57 +0,0 @@
|
||||
@go.Package { name = "github.com/onsonr/sonr/pkg/nebula/models" }
|
||||
|
||||
module models
|
||||
|
||||
import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl"
|
||||
|
||||
// ╭───────────────────────────────────────────────────────────╮
|
||||
// │ General State │
|
||||
// ╰───────────────────────────────────────────────────────────╯
|
||||
|
||||
class Button {
|
||||
text: String
|
||||
href: String
|
||||
}
|
||||
|
||||
class Image {
|
||||
src: String
|
||||
width: String
|
||||
height: String
|
||||
}
|
||||
|
||||
class Stat {
|
||||
value: String
|
||||
label: String
|
||||
}
|
||||
|
||||
class ModalForm {
|
||||
title: String
|
||||
description: String
|
||||
id: String
|
||||
}
|
||||
|
||||
// ╭───────────────────────────────────────────────────────────╮
|
||||
// │ View Models │
|
||||
// ╰───────────────────────────────────────────────────────────╯
|
||||
|
||||
class Hero {
|
||||
titleFirst: String
|
||||
titleEmphasis: String
|
||||
titleSecond: String
|
||||
subtitle: String
|
||||
primaryButton: Button
|
||||
secondaryButton: Button
|
||||
image: Image
|
||||
stats: Listing<Stat>
|
||||
}
|
||||
|
||||
class Home {
|
||||
hero: Hero
|
||||
}
|
||||
|
||||
home : Home
|
||||
register: ModalForm
|
||||
login: ModalForm
|
||||
authorize: ModalForm
|
||||
privacyConsent: ModalForm
|
||||
|
Loading…
x
Reference in New Issue
Block a user