diff --git a/app.rb b/app.rb index b456c488..f9235ea4 100644 --- a/app.rb +++ b/app.rb @@ -134,11 +134,13 @@ end post '/signin' do dashboard_if_signed_in + if Site.valid_login? params[:username], params[:password] site = Site[username: params[:username]] if site.is_banned flash[:error] = 'Invalid login.' + flash[:username] = params[:username] redirect '/signin' end @@ -146,6 +148,7 @@ post '/signin' do redirect '/dashboard' else flash[:error] = 'Invalid login.' + flash[:username] = params[:username] redirect '/signin' end end diff --git a/views/layout.slim b/views/layout.slim index 2ea5011a..7bbf8382 100644 --- a/views/layout.slim +++ b/views/layout.slim @@ -24,6 +24,7 @@ html .page .container - flash.keys.each do |key| + - next unless %i{success error}.include? key div class="alert alert-#{key}" button.close type="button" data-dismiss="alert" × == flash[key] diff --git a/views/signin.slim b/views/signin.slim index 0ba3aa1b..0293636d 100644 --- a/views/signin.slim +++ b/views/signin.slim @@ -6,7 +6,7 @@ input name="csrf_token" type="hidden" value="#{csrf_token}" fieldset.col-60 style="margin:0 auto" - input name="username" type="text" placeholder="Your username" class="input-Area" autocapitalize="off" autocorrect="off" + input name="username" type="text" placeholder="Your username" class="input-Area" autocapitalize="off" autocorrect="off" value="#{flash[:username]}" br input name="password" type="password" class="input-Area" placeholder="Your password" br