Expand 164 hidden lines 165 165 166 166 fn login_body ( csrf : & str , error : Option < & str > ) -> Markup { 167 167 html ! { 168 - div class="form-narrow" { 169 - h1 { "Sign in" } 170 - @if let Some ( err) = error { 171 - div class="notice notice-error" { ( err) } 172 - } 173 - form method="post" action="/login" { 174 - input type ="hidden" name="_csrf" value=( csrf) ; 175 - label for ="username" { "Username" } 176 - input type ="text" id="username" name="username" autocomplete="username" required; 177 - label for ="password" { "Password" } 178 - input type ="password" id="password" name="password" 179 - autocomplete="current-password" required; 180 - p { button class="btn btn-primary" type ="submit" { "Sign in" } } 168 + div class="auth-wrap" { 169 + div class="auth-card" { 170 + h1 { "Sign in" } 171 + @if let Some ( err) = error { 172 + div class="notice notice-error" { ( err) } 173 + } 174 + form method="post" action="/login" { 175 + input type ="hidden" name="_csrf" value=( csrf) ; 176 + label for ="username" { "Username" } 177 + input type ="text" id="username" name="username" autocomplete="username" required; 178 + label for ="password" { "Password" } 179 + input type ="password" id="password" name="password" 180 + autocomplete="current-password" required; 181 + button class="btn btn-primary" type ="submit" { "Sign in" } 182 + } 181 183 } 182 184 } 183 185 } Expand 123 hidden lines 307 309 let _ = invite; 308 310 let ( jar, chrome) = build_chrome ( & state, jar, None , uri. path ( ) . to_string ( ) ) ; 309 311 let body = html ! { 310 - div class="form-narrow" { 311 - h1 { "Set your password" } 312 - p class="muted" { "Choose a password to activate your account." } 313 - form method="post" action={ "/invite/" ( token) } { 314 - input type ="hidden" name="_csrf" value=( chrome. csrf) ; 315 - label for ="password" { "Password" } 316 - input type ="password" id="password" name="password" 317 - autocomplete="new-password" required minlength="8" ; 318 - label for ="confirm" { "Confirm password" } 319 - input type ="password" id="confirm" name="confirm" 320 - autocomplete="new-password" required; 321 - p { button class="btn btn-primary" type ="submit" { "Activate account" } } 312 + div class="auth-wrap" { 313 + div class="auth-card" { 314 + h1 { "Set your password" } 315 + p class="muted" { "Choose a password to activate your account." } 316 + form method="post" action={ "/invite/" ( token) } { 317 + input type ="hidden" name="_csrf" value=( chrome. csrf) ; 318 + label for ="password" { "Password" } 319 + input type ="password" id="password" name="password" 320 + autocomplete="new-password" required minlength="8" ; 321 + label for ="confirm" { "Confirm password" } 322 + input type ="password" id="confirm" name="confirm" 323 + autocomplete="new-password" required; 324 + button class="btn btn-primary" type ="submit" { "Activate account" } 325 + } 322 326 } 323 327 } 324 328 } ;