this repo has no description
lustre frontent oat-ui gleam
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

🚧 add logo to login page

+62 -25
+2
src/client.css
··· 46 46 --color-border: var(--border); 47 47 --color-input: var(--input); 48 48 --color-ring: var(--ring); 49 + 50 + --color-subtext: var(--color-gray-500) 49 51 }
+25
src/client/brand.gleam
··· 1 + import client/icon 2 + import lustre/attribute.{class} as attr 3 + import lustre/element 4 + import lustre/element/html 5 + 6 + pub fn logo(attr: List(attr.Attribute(_))) -> element.Element(_) { 7 + icon.leaf([ 8 + class("p-2 text-white rounded-lg"), 9 + class("from-green-500 via-emerald-500 to-teal-600 bg-linear-to-r"), 10 + ..attr 11 + ]) 12 + } 13 + 14 + pub fn title(attr: List(attr.Attribute(a))) -> element.Element(_) { 15 + let text = html.text("Vértis Climate") 16 + html.p( 17 + [ 18 + class("font-bold"), 19 + class("text-transparent bg-clip-text"), 20 + class("from-green-600 to-teal-600 bg-linear-to-r"), 21 + ..attr 22 + ], 23 + [text], 24 + ) 25 + }
-10
src/client/logo.gleam
··· 1 - import client/icon 2 - import lustre/attribute.{class} as attr 3 - 4 - pub fn view(attr: List(attr.Attribute(_))) { 5 - icon.leaf([ 6 - class("p-2 text-white rounded-lg"), 7 - class("from-green-500 via-emerald-500 to-teal-600 bg-linear-to-r"), 8 - ..attr 9 - ]) 10 - }
+31 -1
src/client/page/login.gleam
··· 1 + import client/brand 1 2 import client/session 2 3 import gleam/json 4 + import lustre/attribute.{class} 3 5 import lustre/effect 4 6 import lustre/element 5 7 import lustre/element/html ··· 78 80 } 79 81 80 82 pub fn view(_session: session.Session, _model: Model) -> element.Element(Msg) { 81 - html.p([], [html.text("login")]) 83 + // Wrapper 84 + let wrapper_attr = [ 85 + class("mx-auto max-w-lg h-full"), 86 + class("flex flex-col gap-2 items-center"), 87 + ] 88 + 89 + html.div(wrapper_attr, [ 90 + //  Logo with Title 91 + html.section( 92 + [class("p-4 w-full"), class("flex gap-4 justify-center items-center")], 93 + [ 94 + brand.logo([class("size-12 drop-shadow-md")]), 95 + html.div([], [ 96 + brand.title([class("my-0 text-xl text-center")]), 97 + html.small([class("text-subtext")], [ 98 + html.text("Soluções Climáticas Inteligentes"), 99 + ]), 100 + ]), 101 + ], 102 + ), 103 + 104 + // Form 105 + html.section([class("p-4 w-full rounded-lg border border-border")], [ 106 + html.h3([class("my-2 font-bold")], [html.text("Entrar na Plataforma")]), 107 + html.p([class("text-subtext")], [ 108 + html.text("Acesse sua conta para gerenciar contratos de energia"), 109 + ]), 110 + ]), 111 + ]) 82 112 }
+4 -14
src/client/page/navbar.gleam
··· 1 + import client/brand 1 2 import client/icon 2 3 import client/language as lang 3 - import client/logo 4 4 import client/route 5 5 import client/session 6 6 import gleam/list ··· 35 35 36 36 // Logo with Title 37 37 html.div([class("hidden gap-2 items-center md:flex")], [ 38 - //  Logo 39 - logo.view([class("hidden md:inline size-10 drop-shadow-md")]), 40 - //  Title 41 - html.p( 42 - [ 43 - class("hidden my-0 text-xl font-bold md:inline"), 44 - // Gradient 45 - class("text-transparent bg-clip-text"), 46 - class("from-green-600 to-teal-600 bg-linear-to-r"), 47 - ], 48 - [html.text("Vértis Climate")], 49 - ), 38 + brand.logo([class("size-10 drop-shadow-md")]), 39 + brand.title([class("text-xl")]), 50 40 ]), 51 41 ]) 52 42 } 53 43 54 44 fn view_middle_section() -> element.Element(Msg) { 55 45 let a_style = class("hover:cursor-pointer") 56 - html.section([class("hidden space-x-4 text-gray-500 md:inline")], [ 46 + html.section([class("hidden space-x-4 md:inline text-subtext")], [ 57 47 html.a([a_style], [html.text("Soluções")]), 58 48 html.a([a_style], [html.text("Como Funciona")]), 59 49 html.a([a_style], [html.text("Benefícios")]),