Account page

This commit is contained in:
NGPixel 2016-11-01 23:02:11 -04:00
parent a05560e9fc
commit 1cf38be217
13 changed files with 116 additions and 10 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -37,7 +37,7 @@ jQuery( document ).ready(function( $ ) {
// Establish WebSocket connection
// ====================================
var socket = io(ioHost);
var socket = io(window.location.origin);
//=include components/search.js

View File

@ -12,4 +12,6 @@
@import './layout/_header';
@import './layout/_footer';
@import './layout/_content';
@import './layout/_content';
@import './pages/_account';

View File

@ -100,7 +100,7 @@
img.pagelogo {
float: right;
margin-top: -50px;
margin-top: -75px;
max-width: 200px;
background-color: #FFF;
}

View File

@ -0,0 +1,17 @@
.account-profile-provider {
height: 32px;
display: flex;
align-items: center;
.fa {
margin-right: 10px;
}
.is-blue {
color: $blue;
}
.is-purple {
color: $purple;
}
}

View File

@ -7,7 +7,11 @@ var router = express.Router();
* Admin
*/
router.get('/', (req, res) => {
res.send('OK');
res.redirect('/admin/profile');
});
router.get('/profile', (req, res) => {
res.render('pages/account.pug');
});
module.exports = router;

8
locales/en/auth.json Normal file
View File

@ -0,0 +1,8 @@
{
"providers": {
"local": "Local",
"windowslive": "Microsoft Account",
"google": "Google ID",
"facebook": "Facebook"
}
}

8
locales/fr/auth.json Normal file
View File

@ -0,0 +1,8 @@
{
"providers": {
"local": "Local",
"windowslive": "Compte Microsoft",
"google": "Google ID",
"facebook": "Facebook"
}
}

View File

@ -110,7 +110,7 @@ lang
.use(i18next_mw.LanguageDetector)
.init({
load: 'languageOnly',
ns: ['common'],
ns: ['common', 'auth'],
defaultNS: 'common',
saveMissing: false,
supportedLngs: ['en', 'fr'],

View File

@ -24,8 +24,6 @@ html
// JS
script(type='text/javascript', src='/js/libs.js')
script(type='text/javascript', src='/js/app.js')
script(type='text/javascript').
var ioHost = window.location.origin + ':!{appconfig.port}/';
block head

69
views/pages/account.pug Normal file
View File

@ -0,0 +1,69 @@
extends ../layout.pug
block rootNavCenter
block rootNavRight
i.nav-item#notifload
span.nav-item
a.button.is-dark.is-outlined.btn-edit-discard(href='/')
span.icon
i.fa.fa-home
span Home
block content
#page-type-account
section.hero.is-dark
.hero-body
.container
h1.title Account
h2.subtitle Manage your settings and site configuration
nav.nav.has-shadow
.container
.nav-left
a.nav-item.is-tab.is-active My Profile
a.nav-item.is-tab Stats
a.nav-item.is-tab Users
a.nav-item.is-tab Site Settings
a.nav-item.is-tab(href='/logout') Logout
section.section
.container
.columns
.column.is-two-thirds
label.label Email
p.control.has-icon.has-icon-right
input.input(type='email', placeholder='Email', value=user.email, disabled=(user.provider !== 'local'))
i.fa.fa-envelope
if user.provider == 'local'
label.label Password
p.control.has-icon.has-icon-right
input.input(type='password', placeholder='Password', value='********')
i.fa.fa-lock
label.label Verify Password
p.control.has-icon.has-icon-right
input.input(type='password', placeholder='Password', value='********')
i.fa.fa-lock
label.label Display Name
p.control.has-icon.has-icon-right
input.input(type='text', placeholder='John Smith', value=user.name)
i.fa.fa-user
.column
label.label Provider
p.control.account-profile-provider
case user.provider
when 'local': i.fa.fa-database
when 'windowslive': i.fa.fa-windows.is-blue
when 'google': i.fa.fa-google.is-blue
when 'facebook': i.fa.fa-facebook.is-purple
default: i.fa.fa-question-circle
= t('auth:providers.' + user.provider)
label.label Member since
p.control= userMoment(user.createdAt).format('LL')
label.label Last Profile Update
p.control= userMoment(user.updatedAt).format('LL')
section.section
.container
p.control
button.button.is-success
| Save Changes

View File

@ -44,7 +44,7 @@ block content
li
a(href='/' + pageData.parent.path)= pageData.parent.title
li
a(href='/account') Account
a(href='/admin') Account
.box.stickyscroll(data-margin-top=70)
aside.menu(style= { 'min-width': '200px' })
p.menu-label