mirror of
https://github.com/microsoft/TypeScript-Node-Starter.git
synced 2025-11-08 16:17:37 +00:00
- packages updated
- porting to bootstrap 4
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
extends ../layout
|
||||
|
||||
block content
|
||||
.col-sm-8.col-sm-offset-2
|
||||
.col-sm-8.offset-sm-2
|
||||
form(method='POST')
|
||||
legend Forgot Password
|
||||
hr
|
||||
input(type='hidden', name='_csrf', value=_csrf)
|
||||
.form-group
|
||||
p Enter your email address below and we will send you password reset instructions.
|
||||
label.control-label(for='email') Email
|
||||
label.col-form-label.font-weight-bold(for='email') Email
|
||||
input.form-control(type='email', name='email', id='email', placeholder='Email', autofocus, required)
|
||||
.form-group
|
||||
button.btn.btn-primary(type='submit')
|
||||
|
||||
@@ -3,27 +3,29 @@ extends ../layout
|
||||
block content
|
||||
.page-header
|
||||
h3 Sign in
|
||||
hr
|
||||
|
||||
form.form-horizontal(method='POST')
|
||||
input(type='hidden', name='_csrf', value=_csrf)
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='email') Email
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='email') Email
|
||||
.col-sm-7
|
||||
input.form-control(type='email', name='email', id='email', placeholder='Email', autofocus, required)
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='password') Password
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='password') Password
|
||||
.col-sm-7
|
||||
input.form-control(type='password', name='password', id='password', placeholder='Password', required)
|
||||
.form-group
|
||||
.col-sm-offset-3.col-sm-7
|
||||
.form-group.row.justify-content-md-center
|
||||
.offset-sm-3.col-sm-7
|
||||
button.col-sm-3.btn.btn-primary(type='submit')
|
||||
i.fa.fa-user
|
||||
| Login
|
||||
a.btn.btn-link(href='/forgot') Forgot your password?
|
||||
.form-group
|
||||
.col-sm-offset-3.col-sm-7
|
||||
.form-group.row.justify-content-md-center
|
||||
.offset-sm-3.col-sm-7
|
||||
hr
|
||||
.form-group
|
||||
.col-sm-offset-3.col-sm-7
|
||||
.form-group.row.justify-content-md-center
|
||||
.offset-sm-3.col-sm-7
|
||||
a.btn.btn-block.btn-facebook.btn-social(href='/auth/facebook')
|
||||
i.fa.fa-facebook
|
||||
| Sign in with Facebook
|
||||
|
||||
@@ -3,20 +3,21 @@ extends ../layout
|
||||
block content
|
||||
.page-header
|
||||
h3 Profile Information
|
||||
hr
|
||||
|
||||
form.form-horizontal(action='/account/profile', method='POST')
|
||||
input(type='hidden', name='_csrf', value=_csrf)
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='email') Email
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='email') Email
|
||||
.col-sm-7
|
||||
input.form-control(type='email', name='email', id='email', value=user.email)
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='name') Name
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='name') Name
|
||||
.col-sm-7
|
||||
input.form-control(type='text', name='name', id='name', value=user.profile.name)
|
||||
.form-group
|
||||
label.col-sm-3.control-label Gender
|
||||
.col-sm-6
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold Gender
|
||||
.col-sm-7
|
||||
label.radio.col-sm-3
|
||||
input(type='radio', checked=user.profile.gender=='male', name='gender', value='male', data-toggle='radio')
|
||||
span Male
|
||||
@@ -26,60 +27,63 @@ block content
|
||||
label.radio.col-sm-3
|
||||
input(type='radio', checked=user.profile.gender=='other', name='gender', value='other', data-toggle='radio')
|
||||
span Other
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='location') Location
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='location') Location
|
||||
.col-sm-7
|
||||
input.form-control(type='text', name='location', id='location', value=user.profile.location)
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='website') Website
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='website') Website
|
||||
.col-sm-7
|
||||
input.form-control(type='text', name='website', id='website', value=user.profile.website)
|
||||
.form-group
|
||||
label.col-sm-3.control-label Gravatar
|
||||
.col-sm-4
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold Gravatar
|
||||
.col-sm-7
|
||||
img(src=user.gravatar(), class='profile', width='100', height='100', alt=((user.profile.name || user.email || user.id)))
|
||||
.form-group
|
||||
.col-sm-offset-3.col-sm-4
|
||||
.form-group.row.justify-content-md-center
|
||||
.col-sm-4
|
||||
button.btn.btn.btn-primary(type='submit')
|
||||
i.fa.fa-pencil
|
||||
| Update Profile
|
||||
|
||||
.page-header
|
||||
h3 Change Password
|
||||
hr
|
||||
|
||||
form.form-horizontal(action='/account/password', method='POST')
|
||||
input(type='hidden', name='_csrf', value=_csrf)
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='password') New Password
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='password') New Password
|
||||
.col-sm-7
|
||||
input.form-control(type='password', name='password', id='password')
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='confirmPassword') Confirm Password
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='confirmPassword') Confirm Password
|
||||
.col-sm-7
|
||||
input.form-control(type='password', name='confirmPassword', id='confirmPassword')
|
||||
.form-group
|
||||
.col-sm-offset-3.col-sm-4
|
||||
.form-group.row.justify-content-md-center
|
||||
.col-sm-4
|
||||
button.btn.btn-primary(type='submit')
|
||||
i.fa.fa-lock
|
||||
| Change Password
|
||||
|
||||
.page-header
|
||||
h3 Delete Account
|
||||
hr
|
||||
|
||||
form.form-horizontal(action='/account/delete', method='POST')
|
||||
.form-group
|
||||
p.col-sm-offset-3.col-sm-4 You can delete your account, but keep in mind this action is irreversible.
|
||||
.form-group.row.justify-content-md-center
|
||||
p.offset-sm-3.col-sm-7 You can delete your account, but keep in mind this action is irreversible.
|
||||
input(type='hidden', name='_csrf', value=_csrf)
|
||||
.col-sm-offset-3.col-sm-4
|
||||
.col-sm-4
|
||||
button.btn.btn-danger(type='submit')
|
||||
i.fa.fa-trash
|
||||
| Delete my account
|
||||
|
||||
.page-header
|
||||
h3 Linked Accounts
|
||||
hr
|
||||
.form-horizontal
|
||||
.form-group
|
||||
.col-sm-offset-3.col-sm-4
|
||||
.form-group.row.justify-content-md-center
|
||||
.offset-sm-3.col-sm-7
|
||||
if user.facebook
|
||||
p: a.text-danger(href='/account/unlink/facebook') Unlink your Facebook account
|
||||
else
|
||||
|
||||
@@ -3,22 +3,23 @@ extends ../layout
|
||||
block content
|
||||
.page-header
|
||||
h3 Sign up
|
||||
hr
|
||||
form.form-horizontal(id='signup-form', method='POST')
|
||||
input(type='hidden', name='_csrf', value=_csrf)
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='email') Email
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='email') Email
|
||||
.col-sm-7
|
||||
input.form-control(type='email', name='email', id='email', placeholder='Email', autofocus, required)
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='password') Password
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='password') Password
|
||||
.col-sm-7
|
||||
input.form-control(type='password', name='password', id='password', placeholder='Password', required)
|
||||
.form-group
|
||||
label.col-sm-3.control-label(for='confirmPassword') Confirm Password
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-3.col-form-label.text-right.font-weight-bold(for='confirmPassword') Confirm Password
|
||||
.col-sm-7
|
||||
input.form-control(type='password', name='confirmPassword', id='confirmPassword', placeholder='Confirm Password', required)
|
||||
.form-group
|
||||
.col-sm-offset-3.col-sm-7
|
||||
.form-group.row.justify-content-md-center
|
||||
.offset-sm-3.col-sm-7
|
||||
button.btn.btn-success(type='submit')
|
||||
i.fa.fa-user-plus
|
||||
| Signup
|
||||
|
||||
@@ -7,7 +7,7 @@ block content
|
||||
.row
|
||||
.col-sm-4
|
||||
a(href='/api/facebook', style='color: #fff')
|
||||
.panel.panel-default(style='background-color: #3b5998')
|
||||
.panel-body
|
||||
.card(style='background-color: #3b5998')
|
||||
.card-body
|
||||
img(src='http://i.imgur.com/jiztYCH.png', height=40, alt='Facebook')
|
||||
| Facebook
|
||||
|
||||
@@ -3,23 +3,24 @@ extends layout
|
||||
block content
|
||||
.page-header
|
||||
h3 Contact Form
|
||||
hr
|
||||
|
||||
form.form-horizontal(method='POST')
|
||||
input(type='hidden', name='_csrf', value=_csrf)
|
||||
.form-group
|
||||
label(class='col-sm-2 control-label', for='name') Name
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-2.col-form-label.text-right.font-weight-bold(for='name') Name
|
||||
.col-sm-8
|
||||
input.form-control(type='text', name='name', id='name', autofocus=true)
|
||||
.form-group
|
||||
label(class='col-sm-2 control-label', for='email') Email
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-2.col-form-label.text-right.font-weight-bold(for='email') Email
|
||||
.col-sm-8
|
||||
input.form-control(type='text', name='email', id='email')
|
||||
.form-group
|
||||
label(class='col-sm-2 control-label', for='message') Body
|
||||
.form-group.row.justify-content-md-center
|
||||
label.col-sm-2.col-form-label.text-right.font-weight-bold(for='message') Body
|
||||
.col-sm-8
|
||||
textarea.form-control(name='message', id='message', rows='7')
|
||||
.form-group
|
||||
.col-sm-offset-2.col-sm-8
|
||||
.form-group.row.justify-content-md-center
|
||||
.offset-sm-2.col-sm-8
|
||||
button.btn.btn-primary(type='submit')
|
||||
i.fa.fa-envelope
|
||||
| Send
|
||||
|
||||
@@ -9,19 +9,19 @@ block content
|
||||
h2 Heading
|
||||
p Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.
|
||||
p
|
||||
a.btn.btn-default(href='#', role='button') View details »
|
||||
a.btn.btn-secondary(href='#', role='button') View details »
|
||||
.col-sm-6
|
||||
h2 Heading
|
||||
p Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.
|
||||
p
|
||||
a.btn.btn-default(href='#', role='button') View details »
|
||||
a.btn.btn-secondary(href='#', role='button') View details »
|
||||
.col-sm-6
|
||||
h2 Heading
|
||||
p Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.
|
||||
p
|
||||
a.btn.btn-default(href='#', role='button') View details »
|
||||
a.btn.btn-secondary(href='#', role='button') View details »
|
||||
.col-sm-6
|
||||
h2 Heading
|
||||
p Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.
|
||||
p
|
||||
a.btn.btn-default(href='#', role='button') View details »
|
||||
a.btn.btn-secondary(href='#', role='button') View details »
|
||||
@@ -1,17 +1,17 @@
|
||||
if messages.errors
|
||||
.alert.alert-danger.fade.in
|
||||
.alert.alert-danger.fade.show
|
||||
button.close(type='button', data-dismiss='alert')
|
||||
i.fa.fa-times-circle-o
|
||||
for error in messages.errors
|
||||
div= error.msg
|
||||
if messages.info
|
||||
.alert.alert-info.fade.in
|
||||
.alert.alert-info.fade.show
|
||||
button.close(type='button', data-dismiss='alert')
|
||||
i.fa.fa-times-circle-o
|
||||
for info in messages.info
|
||||
div= info.msg
|
||||
if messages.success
|
||||
.alert.alert-success.fade.in
|
||||
.alert.alert-success.fade.show
|
||||
button.close(type='button', data-dismiss='alert')
|
||||
i.fa.fa-times-circle-o
|
||||
for success in messages.success
|
||||
|
||||
@@ -1,31 +1,28 @@
|
||||
.navbar.navbar-default.navbar-fixed-top
|
||||
nav.navbar.navbar-expand-lg.navbar-light.bg-light.fixed-top
|
||||
.container
|
||||
.navbar-header
|
||||
button.navbar-toggle(type='button', data-toggle='collapse', data-target='.navbar-collapse')
|
||||
span.sr-only Toggle navigation
|
||||
span.icon-bar
|
||||
span.icon-bar
|
||||
span.icon-bar
|
||||
a.navbar-brand(href='/')
|
||||
i.fa.fa-cube
|
||||
| Project name
|
||||
button.navbar-toggler(type='button', data-toggle='collapse', data-target='.navbar-collapse')
|
||||
span.navbar-toggler-icon
|
||||
a.navbar-brand(href='/')
|
||||
i.fa.fa-cube
|
||||
| Project name
|
||||
|
||||
.collapse.navbar-collapse
|
||||
ul.nav.navbar-nav.mr-auto
|
||||
li.nav-item(class=(title === 'Home') ? 'active' : undefined)
|
||||
a.nav-link(href='/') Home
|
||||
li.nav-item(class=(title === 'API Examples') ? 'active' : undefined)
|
||||
a.nav-link(href='/api') API Examples
|
||||
li.nav-item(class=(title === 'Contact') ? 'active' : undefined)
|
||||
a.nav-link(href='/contact') Contact
|
||||
ul.nav.navbar-nav
|
||||
li(class=(title == 'Home') ? 'active' : undefined)
|
||||
a(href='/') Home
|
||||
li(class=(title == 'API Examples') ? 'active' : undefined)
|
||||
a(href='/api') API Examples
|
||||
li(class=(title == 'Contact') ? 'active' : undefined)
|
||||
a(href='/contact') Contact
|
||||
ul.nav.navbar-nav.navbar-right
|
||||
if !user
|
||||
li(class=(title == 'Login') ? 'active' : undefined)
|
||||
a(href='/login') Login
|
||||
li(class=(title == 'Create Account') ? 'active' : undefined)
|
||||
a(href='/signup') Create Account
|
||||
li.nav-item(class=(title == 'Login') ? 'active' : undefined)
|
||||
a.nav-link(href='/login') Login
|
||||
li.nav-item(class=(title == 'Create Account') ? 'active' : undefined)
|
||||
a.nav-link(href='/signup') Create Account
|
||||
else
|
||||
li.dropdown(class=(title == 'Account Management') ? 'active' : undefined)
|
||||
a.dropdown-toggle(href='#', data-toggle='dropdown')
|
||||
li.nav-item.dropdown(class=(title == 'Account Management') ? 'active' : undefined)
|
||||
a.nav-link.dropdown-toggle(href='#', data-toggle='dropdown')
|
||||
if user.profile.picture
|
||||
img(src=user.profile.picture, alt=(user.profile.name || user.email || user.id))
|
||||
else
|
||||
@@ -33,8 +30,8 @@
|
||||
span= user.profile.name || user.email || user.id
|
||||
i.caret
|
||||
ul.dropdown-menu
|
||||
li
|
||||
a(href='/account') My Account
|
||||
li.divider
|
||||
li
|
||||
a(href='/logout') Logout
|
||||
li.nav-item
|
||||
a.nav-link(href='/account') My Account
|
||||
li.dropdown-divider
|
||||
li.nav-item
|
||||
a.nav-link(href='/logout') Logout
|
||||
|
||||
Reference in New Issue
Block a user