From 2664d857350392f4900851cdaf6cbcf71aca334a Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sun, 10 May 2015 22:41:00 +0200 Subject: Login form start --- src/css/forms.less | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/css') diff --git a/src/css/forms.less b/src/css/forms.less index 233bde5..6ddc244 100644 --- a/src/css/forms.less +++ b/src/css/forms.less @@ -1,3 +1,3 @@ -label { - display: block; +#login-block { + display: none; } \ No newline at end of file -- cgit v1.2.3 From f51ce6f4acf28c224ec4a02f35ae35726cdc4c38 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 12 May 2015 22:31:07 +0200 Subject: Working login, but doesn't save token yet --- gulpfile.js | 2 +- src/css/forms.less | 6 ++++++ src/include/layout-main.jade | 10 ++++------ src/js/Botleagues.js | 24 ++++++++++++++++++++---- src/js/BotleaguesCallback.js | 13 +++++++++++++ src/js/BotleaguesFrontend.js | 8 +------- src/js/forms.js | 7 ++++++- 7 files changed, 51 insertions(+), 19 deletions(-) (limited to 'src/css') diff --git a/gulpfile.js b/gulpfile.js index 23b113c..181462c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -92,7 +92,7 @@ gulp.task('styles', function() { return file; } }})) - .pipe(changed(dst, { destination: 'style.css' })) + //.pipe(changed(dst, { destination: 'style.css' })) .pipe(gulpif(isBootswatchFile, foreach(function(stream, file) { var themeName = path.basename(path.dirname(file.path)), content = replaceAll(baseContent, bootswatch_theme, themeName), diff --git a/src/css/forms.less b/src/css/forms.less index 6ddc244..e29f4d7 100644 --- a/src/css/forms.less +++ b/src/css/forms.less @@ -1,3 +1,9 @@ #login-block { display: none; + + #login-form { + display: inline-block; + float: right; + margin-bottom: 0.5em; + } } \ No newline at end of file diff --git a/src/include/layout-main.jade b/src/include/layout-main.jade index df3fdc5..7b15138 100644 --- a/src/include/layout-main.jade +++ b/src/include/layout-main.jade @@ -24,15 +24,13 @@ html(lang="en") #messages #login-block - form.form-inline#login-form + form.form-inline#login-form(action='#',method='post') .form-group - label.control-label(for='login-email') Email: - input.form-control#login-email(type='email') + input.form-control#login-email(type='email',placeholder='Email') .form-group - label.control-label(for='login-password') Password: - input.form-control#login-password(type='password') + input.form-control#login-password(type='password',placeholder='Password') a.btn.btn-default#login-submit(href='#') Login - + br(style='clear:both;') block content diff --git a/src/js/Botleagues.js b/src/js/Botleagues.js index f9d34b7..2ab1bc7 100644 --- a/src/js/Botleagues.js +++ b/src/js/Botleagues.js @@ -2,7 +2,9 @@ function Botleagues(){} Botleagues.url = 'https://api.local.botleagues.camilstaps.nl'; -Botleagues.request = function(user_options, callback) { +Botleagues.request = function(user_options) { + var callback = user_options.callback; + var options = { endpoint: null, method: 'GET', @@ -11,16 +13,30 @@ Botleagues.request = function(user_options, callback) { callback(data.responseJSON); } }; + + var url = Botleagues.url + '/' + user_options['endpoint']; + delete user_options['callback']; + delete user_options['endpoint']; + for (var name in user_options) { options[name] = user_options[name]; } - var url = Botleagues.url + '/' + options['endpoint']; - delete options['endpoint']; - jQuery.ajax(url, options); }; Botleagues.redirect = function(user_options) { window.location = Botleagues.url + '/' + user_options['endpoint']; +}; + +Botleagues.login = function(username, password) { + Botleagues.request({ + endpoint: 'user_token', + method: 'POST', + callback: BotleaguesCallback.login, + async: false, + headers: { + 'Authorization': 'Basic ' + btoa(username + ':' + password) + } + }); }; \ No newline at end of file diff --git a/src/js/BotleaguesCallback.js b/src/js/BotleaguesCallback.js index f162e7c..3b1de02 100644 --- a/src/js/BotleaguesCallback.js +++ b/src/js/BotleaguesCallback.js @@ -29,4 +29,17 @@ BotleaguesCallback.register = function(data) { } } } +}; + +BotleaguesCallback.login = function(data) { + if (data.user_token) { + BotleaguesFrontend.error({ + message: "Login successful!", + type: 'success' + }); + } else { + BotleaguesFrontend.error({ + message: data.error ? data.error : "Could not login." + }); + } }; \ No newline at end of file diff --git a/src/js/BotleaguesFrontend.js b/src/js/BotleaguesFrontend.js index e9ab570..c25a7f2 100644 --- a/src/js/BotleaguesFrontend.js +++ b/src/js/BotleaguesFrontend.js @@ -18,11 +18,5 @@ BotleaguesFrontend.error = function(user_options) { html = $(html); - html.prependTo(options.prepend_to).delay(3000).fadeOut().queue(html.remove); -}; - -BotleaguesFrontend.login = function() { - Botleagues.redirect({ - endpoint: 'user/login?redirect=http://local.botleagues.camilstaps.nl/' - }); + html.hide().prependTo(options.prepend_to).slideDown().delay(3000).fadeOut().queue(html.remove); }; \ No newline at end of file diff --git a/src/js/forms.js b/src/js/forms.js index e096794..c6bdffe 100644 --- a/src/js/forms.js +++ b/src/js/forms.js @@ -14,4 +14,9 @@ $('form.form-register').submit(function(){ $('.btn-botleagues-login').focus(function(){ $('#login-block').slideDown(); $('#login-email').focus(); -}); \ No newline at end of file +}); +var login = function(){ + Botleagues.login($('#login-email').val(), $('#login-password').val()); +}; +$('#login-submit').click(login); +$('#login-form').submit(login); \ No newline at end of file -- cgit v1.2.3 From 99f7c4a7cd47bdd670f98d76392a498b6103ebfd Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 13 May 2015 17:41:54 +0200 Subject: Different styles structure (relies on gulpfile concatenation); new styles added --- src/css/bootswatch-lumen.less | 3 +++ src/css/bootswatch-superhero.less | 3 +++ src/css/forms.less | 4 ++++ src/css/profile.less | 5 +++++ src/css/style.less | 1 - 5 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 src/css/bootswatch-lumen.less create mode 100644 src/css/bootswatch-superhero.less create mode 100644 src/css/profile.less delete mode 100644 src/css/style.less (limited to 'src/css') diff --git a/src/css/bootswatch-lumen.less b/src/css/bootswatch-lumen.less new file mode 100644 index 0000000..91e1dcb --- /dev/null +++ b/src/css/bootswatch-lumen.less @@ -0,0 +1,3 @@ +.header { + margin-top: 6px; +} \ No newline at end of file diff --git a/src/css/bootswatch-superhero.less b/src/css/bootswatch-superhero.less new file mode 100644 index 0000000..50e18c8 --- /dev/null +++ b/src/css/bootswatch-superhero.less @@ -0,0 +1,3 @@ +.text-muted { + color: #abc; +} \ No newline at end of file diff --git a/src/css/forms.less b/src/css/forms.less index e29f4d7..2a714ce 100644 --- a/src/css/forms.less +++ b/src/css/forms.less @@ -6,4 +6,8 @@ float: right; margin-bottom: 0.5em; } +} + +form.form-register label { + display: block; } \ No newline at end of file diff --git a/src/css/profile.less b/src/css/profile.less new file mode 100644 index 0000000..c0b6295 --- /dev/null +++ b/src/css/profile.less @@ -0,0 +1,5 @@ +#banner { + #banner-email { + font-size: 80%; + } +} \ No newline at end of file diff --git a/src/css/style.less b/src/css/style.less deleted file mode 100644 index f32a0b2..0000000 --- a/src/css/style.less +++ /dev/null @@ -1 +0,0 @@ -@import 'forms.less'; \ No newline at end of file -- cgit v1.2.3 From 10e78614c7c00024f8b10bd5a982e2b46b5d6a74 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 13 May 2015 18:24:15 +0200 Subject: Cleaner jade --- src/404.jade | 8 ++++---- src/about.jade | 4 ++++ src/css/profile.less | 6 ++---- src/include/layout-main.jade | 22 ++++++++++++++++++++++ src/index.jade | 14 ++++++++------ src/js/BotleaguesCallback.js | 4 ++-- src/js/profile.js | 4 ++-- src/logout.jade | 2 +- src/profile.jade | 8 ++++---- src/register.jade | 13 ++++--------- 10 files changed, 53 insertions(+), 32 deletions(-) (limited to 'src/css') diff --git a/src/404.jade b/src/404.jade index 65e0aed..172c126 100644 --- a/src/404.jade +++ b/src/404.jade @@ -3,7 +3,7 @@ extends ./include/layout-main.jade block menu -var selected = '' -block content - .jumbotron - h1 404 - p.lead Congrats. You did it: you broke my website. \ No newline at end of file +block header + -var header_jumbotron = true + -var header_title = '404' + -var header_subtitle = 'Congrats. You did it: you broke my website.' \ No newline at end of file diff --git a/src/about.jade b/src/about.jade index 2c424d4..0ae837d 100644 --- a/src/about.jade +++ b/src/about.jade @@ -3,6 +3,10 @@ extends ./include/layout-main.jade block menu -var selected = '/about' +block header + -var header_jumbotron = false + -var header_title = 'About' + block content .row .col-lg-6 diff --git a/src/css/profile.less b/src/css/profile.less index c0b6295..85d708c 100644 --- a/src/css/profile.less +++ b/src/css/profile.less @@ -1,5 +1,3 @@ -#banner { - #banner-email { - font-size: 80%; - } +#banner-email { + font-size: 80%; } \ No newline at end of file diff --git a/src/include/layout-main.jade b/src/include/layout-main.jade index c17a841..abbb466 100644 --- a/src/include/layout-main.jade +++ b/src/include/layout-main.jade @@ -27,12 +27,34 @@ html(lang="en") form.form-inline#login-form(action='#',method='post') .form-group input.form-control#login-email(type='email',placeholder='Email') + |   .form-group input.form-control#login-password(type='password',placeholder='Password') + |   .form-group button.btn.btn-default.pull-right#login-submit(role='submit') Login br(style='clear:both;') + -var header_jumbotron = false + block header + + -if (header_jumbotron) + .jumbotron + h1= header_title + -if (header_subtitle) + p.lead= header_subtitle + p.row + block header_content + -else + .row + .col-lg-12 + .bs-component + h1= header_title + -if (header_subtitle) + p.lead= header_subtitle + p.row + block header_content + block content footer.footer: :markdown diff --git a/src/index.jade b/src/index.jade index 6b6a175..a9e7ef5 100644 --- a/src/index.jade +++ b/src/index.jade @@ -3,13 +3,15 @@ extends ./include/layout-main.jade block menu -var selected = '/' -block content - .jumbotron - h1 Welcome - p.lead Botleagues: write Java bots for different games, join competitions and win prizes! - p.row - a.btn.btn-lg.btn-success.pull-right(href='/register', role='button') Register now +block header + -var header_jumbotron = true + -var header_title = 'Welcome' + -var header_subtitle = 'Botleagues: write Java bots for different games, join competitions and win prizes!' + +block header_content + a.btn.btn-lg.btn-success.pull-right(href='/register', role='button') Register now +block content .row .col-lg-4 h4 Subheading diff --git a/src/js/BotleaguesCallback.js b/src/js/BotleaguesCallback.js index 13305fa..ff99225 100644 --- a/src/js/BotleaguesCallback.js +++ b/src/js/BotleaguesCallback.js @@ -34,7 +34,7 @@ BotleaguesCallback.register = function(data) { BotleaguesCallback.login = function(data) { if (data.user_token) { BotleaguesFrontend.success({ - message: "Login successful!" + message: "Login successful! Refreshing the page..." }); $.cookie(Botleagues.cookie_login_user_id, data.user_token.userId); @@ -42,7 +42,7 @@ BotleaguesCallback.login = function(data) { $.cookie(Botleagues.cookie_login_valid_till, (new Date()).getTime() + Date.parse(data.user_token.valid_till) - Date.parse(data.user_token.updated_at)); - window.location = '/profile'; + window.setTimeout(function(){ window.location = '/profile'; }, 1000); } else { BotleaguesFrontend.error({ message: data.error ? data.error : "Could not login." diff --git a/src/js/profile.js b/src/js/profile.js index 7b36432..f27e562 100644 --- a/src/js/profile.js +++ b/src/js/profile.js @@ -3,9 +3,9 @@ $(document).ready(function(){ }); function setupGreeter() { - $('#greeter').append(' ' + $.cookie(Botleagues.cookie_login_email)); + $('.jumbotron .lead').append(' ' + $.cookie(Botleagues.cookie_login_email)); - $('#banner').append( + $('.header h3').append( $('') .attr('id', 'banner-email') .addClass('text-muted') diff --git a/src/logout.jade b/src/logout.jade index f94e608..d19e44a 100644 --- a/src/logout.jade +++ b/src/logout.jade @@ -4,7 +4,7 @@ block menu -var selected = '/logout' block content - p Login you out... + p Logging you out... block js script(type='text/javascript') diff --git a/src/profile.jade b/src/profile.jade index 9f68f60..5b97b30 100644 --- a/src/profile.jade +++ b/src/profile.jade @@ -3,10 +3,10 @@ extends ./include/layout-main.jade block menu -var selected = '/profile' -block content - .jumbotron - h1 Welcome back - p.lead#greeter You're logged in as +block header + -var header_jumbotron = true + -var header_title = 'Welcome back' + -var header_subtitle = "You're logged in as" block js script(src='/assets/js/profile.js', type='text/javascript') \ No newline at end of file diff --git a/src/register.jade b/src/register.jade index b373d1c..ca8cc83 100644 --- a/src/register.jade +++ b/src/register.jade @@ -3,6 +3,9 @@ extends ./include/layout-main.jade block menu -var selected = '/register' +block header + -var header_title = 'Register' + block content .row .col-lg-6 @@ -22,12 +25,4 @@ block content input#accepts-toc(type='checkbox',name="accepts-toc") | I accept the terms and conditions button.btn.btn-lg.btn-success.pull-right(type='submit') Register - br(style='clear:both;') - - .col-lg-6 - h4 Subheading - p Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum. - h4 Subheading - p Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum. - h4 Subheading - p Maecenas sed diam eget risus varius blandit sit amet non magna. \ No newline at end of file + br(style='clear:both;') \ No newline at end of file -- cgit v1.2.3 From 05cd09f12da313207fb2eb031982b3a15a4f843f Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 13 May 2015 18:44:04 +0200 Subject: Link in header on 'Botleagues'; About page --- gulpfile.js | 1 + src/about.jade | 24 ++++++++++-------------- src/css/general.less | 4 ++++ src/include/layout-main.jade | 4 ++-- src/logout.jade | 3 +-- 5 files changed, 18 insertions(+), 18 deletions(-) create mode 100644 src/css/general.less (limited to 'src/css') diff --git a/gulpfile.js b/gulpfile.js index 868e3ff..96768e7 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -119,6 +119,7 @@ gulp.task('styles', function() { var sources = [ './src/css/forms.less', + './src/css/general.less', './src/css/profile.less', './src/css/bootswatch-' + bootswatch_theme + '.less' ]; diff --git a/src/about.jade b/src/about.jade index 0ae837d..7781682 100644 --- a/src/about.jade +++ b/src/about.jade @@ -9,17 +9,13 @@ block header block content .row - .col-lg-6 - h4 Subheading - p Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum. - h4 Subheading - p Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum. - h4 Subheading - p Maecenas sed diam eget risus varius blandit sit amet non magna. - .col-lg-6 - h4 Subheading - p Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum. - h4 Subheading - p Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum. - h4 Subheading - p Maecenas sed diam eget risus varius blandit sit amet non magna. \ No newline at end of file + .col-lg-12: :markdown + Botleagues is an open source software solution with three aspects: + + * A Game Controller that lets software bots play games against each other (handled by Java) + * A semi-RESTful API that allows users to register, create competitions and play against other bots (with Laravel 4.2 and Dingo API) + * A front-end to the API (entirely client-side code, using Bootstrap and jade) + + You may find more information on [GitHub](https://github.com/camilstaps/Botleagues). + + If you wish to contact the developers, please consider adding an issue on GitHub. If that's not what you want: you can reach us at info [at] camilstaps [dot] nl. \ No newline at end of file diff --git a/src/css/general.less b/src/css/general.less new file mode 100644 index 0000000..1218018 --- /dev/null +++ b/src/css/general.less @@ -0,0 +1,4 @@ +a.no-style { + color: inherit !important; + text-decoration: inherit !important; +} \ No newline at end of file diff --git a/src/include/layout-main.jade b/src/include/layout-main.jade index abbb466..12c283e 100644 --- a/src/include/layout-main.jade +++ b/src/include/layout-main.jade @@ -9,7 +9,7 @@ html(lang="en") block menu -var selected = '/'; //default - -var menu = { 'Home': '/', 'About': '/about', 'Contact': '/contact' }; + -var menu = { 'Home': '/', 'About': '/about' }; .header.clearfix nav: ul.nav.nav-pills.pull-right#nav @@ -19,7 +19,7 @@ html(lang="en") else li(role='presentation'): a(href=val,title=key)= key li.login-link(role='presentation'): a.btn-botleagues-login(href='#',title='Login') Login - h3 Botleagues + h3: a.no-style(href='/') Botleagues #messages diff --git a/src/logout.jade b/src/logout.jade index d19e44a..14c9aac 100644 --- a/src/logout.jade +++ b/src/logout.jade @@ -7,5 +7,4 @@ block content p Logging you out... block js - script(type='text/javascript') - |$(document).ready(function(){ Botleagues.logout(); }); \ No newline at end of file + script(type='text/javascript') $(document).ready(function(){ Botleagues.logout(); }); \ No newline at end of file -- cgit v1.2.3