post submission bug fixes, styles fixes for nav section
This commit is contained in:
parent
5decfa92e2
commit
57684e7a27
16 changed files with 500 additions and 546 deletions
|
@ -110,7 +110,8 @@ router.post('/sync', (req, res) => {
|
|||
}
|
||||
});
|
||||
});
|
||||
router.get('/json', function(req, res) {
|
||||
router.get('/json/:filter?', function(req, res) {
|
||||
var filter = req.params.filter;
|
||||
Models.FreshPost.findAll({
|
||||
order: [['id', 'DESC']]
|
||||
})
|
||||
|
@ -118,10 +119,18 @@ router.get('/json', function(req, res) {
|
|||
let newlist = [];
|
||||
for (let index = 0; index < posts.length; index++) {
|
||||
let item = posts[index].post;
|
||||
if (typeof item.deleted == 'undefined' || item.deleted == false) {
|
||||
newlist.push(posts[index]);
|
||||
} else {
|
||||
continue;
|
||||
switch (filter) {
|
||||
case 'not-deleted':
|
||||
if (typeof item.deleted == 'undefined' || item.deleted == false) {
|
||||
newlist.push(posts[index]);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
newlist.push(posts[index]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
res.json(newlist);
|
||||
|
|
93
brain/app.js
93
brain/app.js
|
@ -1,44 +1,44 @@
|
|||
var express = require('express');
|
||||
var path = require('path');
|
||||
var favicon = require('serve-favicon');
|
||||
//var favicon = require('serve-favicon');
|
||||
var logger = require('morgan');
|
||||
var cookieParser = require('cookie-parser');
|
||||
var bodyParser = require('body-parser');
|
||||
var session = require('express-session');
|
||||
var MemoryStore = require('memorystore')(session)
|
||||
var MemoryStore = require('memorystore')(session);
|
||||
var flash = require('connect-flash');
|
||||
var theme = "default-dark";
|
||||
var theme = 'default-dark';
|
||||
var app = express();
|
||||
var request = require('request');
|
||||
//var request = require('request');
|
||||
// view engine setup
|
||||
app.set('views', path.join(__dirname, '../themes'));
|
||||
app.set('view engine', 'pug');
|
||||
app.use(express.static(__dirname + '../content/folio-images'));
|
||||
app.use(logger('dev'));
|
||||
|
||||
app.use(bodyParser.json({limit: '50mb'}));
|
||||
app.use(bodyParser.urlencoded(
|
||||
{
|
||||
extended: false,
|
||||
limit: '50mb'
|
||||
}));
|
||||
app.use(bodyParser.json({ limit: '50mb' }));
|
||||
app.use(
|
||||
bodyParser.urlencoded({
|
||||
extended: false,
|
||||
limit: '50mb'
|
||||
})
|
||||
);
|
||||
app.use(cookieParser());
|
||||
app.use(express.static(path.join(__dirname, '../content')));
|
||||
app.use(express.static(path.join(__dirname, '../themes')));
|
||||
app.use(session(
|
||||
{
|
||||
store: new MemoryStore(
|
||||
{
|
||||
checkPeriod: 86400000 // prune expired entries every 24h
|
||||
}),
|
||||
secret: '1KqZ18W8KskE1iSw',
|
||||
saveUninitialized: false,
|
||||
resave: false,
|
||||
cookie:
|
||||
{
|
||||
maxAge: 608800000
|
||||
}
|
||||
}))
|
||||
app.use(
|
||||
session({
|
||||
store: new MemoryStore({
|
||||
checkPeriod: 86400000 // prune expired entries every 24h
|
||||
}),
|
||||
secret: '1KqZ18W8KskE1iSw',
|
||||
saveUninitialized: false,
|
||||
resave: false,
|
||||
cookie: {
|
||||
maxAge: 608800000
|
||||
}
|
||||
})
|
||||
);
|
||||
app.use(flash());
|
||||
//sections
|
||||
var front = require('./routes/front/index')(session);
|
||||
|
@ -63,37 +63,30 @@ app.use('/@/dashboard/settings', settingsDashboard);
|
|||
app.use('/@/dashboard/navigation', navDashboard);
|
||||
//app.use('/mailer', mailer);
|
||||
// catch 404 and forward to error handler
|
||||
app.use(function(req, res, next)
|
||||
{
|
||||
var err = new Error('Not Found');
|
||||
err.status = 404;
|
||||
next(err);
|
||||
app.use(function(req, res, next) {
|
||||
var err = new Error('Not Found');
|
||||
err.status = 404;
|
||||
next(err);
|
||||
});
|
||||
// error handlers
|
||||
// development error handler
|
||||
// will print stacktrace
|
||||
if (app.get('env') === 'development')
|
||||
{
|
||||
app.use(function(err, req, res, next)
|
||||
{
|
||||
res.status(err.status || 500);
|
||||
res.render(theme + '/error',
|
||||
{
|
||||
message: err.message,
|
||||
error: err
|
||||
});
|
||||
});
|
||||
if (app.get('env') === 'development') {
|
||||
app.use(function(err, req, res) {
|
||||
res.status(err.status || 500);
|
||||
res.render(theme + '/error', {
|
||||
message: err.message,
|
||||
error: err
|
||||
});
|
||||
});
|
||||
}
|
||||
// production error handler
|
||||
// no stacktraces leaked to user
|
||||
app.use(function(err, req, res, next)
|
||||
{
|
||||
res.status(err.status || 500);
|
||||
res.render(theme + '/error',
|
||||
{
|
||||
message: err.message,
|
||||
error:
|
||||
{}
|
||||
});
|
||||
app.use(function(err, req, res) {
|
||||
res.status(err.status || 500);
|
||||
res.render(theme + '/error', {
|
||||
message: err.message,
|
||||
error: {}
|
||||
});
|
||||
});
|
||||
module.exports = app;
|
||||
module.exports = app;
|
||||
|
|
|
@ -66,7 +66,9 @@ router.get('/', function(req, res) {
|
|||
}
|
||||
res.render('dash/navigation', {
|
||||
pages: pages,
|
||||
title: 'Dashboard | Global Nav'
|
||||
welcome: 'Edit Navigation',
|
||||
user_status: true,
|
||||
title: 'Dashboard | Navigation'
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
|
|
|
@ -81,7 +81,9 @@ router.get('/:page?', function(req, res) {
|
|||
router.get('/add/new', function(req, res) {
|
||||
if (req.session.user) {
|
||||
res.render('dash/post-edit', {
|
||||
title: 'Make New Post',
|
||||
title: 'Dashboard New Post',
|
||||
user_status: true,
|
||||
welcome: 'New Post',
|
||||
mode: 'admin',
|
||||
date:
|
||||
dateUtils.getDate('year', new Date()) +
|
||||
|
@ -124,6 +126,8 @@ router.get('/edit/:id', function(req, res) {
|
|||
res.render('dash/post-edit', {
|
||||
id: item.id,
|
||||
title: 'Edit Post',
|
||||
user_status: true,
|
||||
welcome: 'Edit Post',
|
||||
mode: 'admin',
|
||||
post: item.post,
|
||||
date: sexydate,
|
||||
|
|
|
@ -55,6 +55,8 @@ router.get('/', function(req, res) {
|
|||
});
|
||||
res.render('dash/settings', {
|
||||
title: 'Dashboard | Settings',
|
||||
welcome: 'Your Settings',
|
||||
user_status: true,
|
||||
themes: themes,
|
||||
settings: settings,
|
||||
member: memberInfo[0]
|
||||
|
|
|
@ -12,8 +12,9 @@ router.get('/', function(req, res) {
|
|||
order: [['id', 'DESC']]
|
||||
})
|
||||
.then(function(posts) {
|
||||
let title = 'Fipamo Admin';
|
||||
let welcome = ''(!loggedIn)
|
||||
let title = 'Fipamo Dashboard';
|
||||
let welcome = '';
|
||||
!loggedIn
|
||||
? (welcome = 'Hello.')
|
||||
: (welcome = 'Welcome back, ' + req.session.user.handle);
|
||||
let filtered = [];
|
||||
|
|
6
init.js
6
init.js
|
@ -70,16 +70,16 @@ function onError(error) {
|
|||
throw error;
|
||||
}
|
||||
|
||||
var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port;
|
||||
//var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port;
|
||||
|
||||
// handle specific listen errors with friendly messages
|
||||
switch (error.code) {
|
||||
case 'EACCES':
|
||||
console.error(bind + ' requires elevated privileges');
|
||||
//console.error(bind + ' requires elevated privileges');
|
||||
process.exit(1);
|
||||
break;
|
||||
case 'EADDRINUSE':
|
||||
console.error(bind + ' is already in use');
|
||||
//console.error(bind + ' is already in use');
|
||||
process.exit(1);
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
-------------------------------
|
||||
-- Bulma
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
@-moz-keyframes spinAround {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
|
@ -1263,17 +1263,17 @@
|
|||
-------------------------------
|
||||
-- Colors
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
/**
|
||||
-------------------------------
|
||||
-- Mixins
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
/**
|
||||
-------------------------------
|
||||
-- Normalize
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
html {
|
||||
line-height: 1.15;
|
||||
-ms-text-size-adjust: 100%;
|
||||
|
@ -1475,7 +1475,7 @@ template {
|
|||
-------------------------------
|
||||
-- Typography
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
@font-face {
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
|
@ -1553,7 +1553,7 @@ h3 {
|
|||
-------------------------------
|
||||
-- Main Structure
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
html,
|
||||
body {
|
||||
background-color: #161d23;
|
||||
|
@ -1729,7 +1729,7 @@ svg.icons {
|
|||
-------------------------------
|
||||
-- Index
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
#dash-index-content {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -1889,7 +1889,7 @@ svg.icons {
|
|||
-------------------------------
|
||||
-- Settings
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
#site-background {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
|
@ -1921,7 +1921,7 @@ svg.icons {
|
|||
}
|
||||
#settings-index #settings-index-wrapper button {
|
||||
margin-top: 5px;
|
||||
width: 320px;
|
||||
width: 100%;
|
||||
height: 45px;
|
||||
}
|
||||
#settings-index #settings-index-wrapper #member-settings,
|
||||
|
@ -2040,7 +2040,7 @@ svg.icons {
|
|||
-------------------------------
|
||||
-- Navigation
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
#nav-index {
|
||||
width: 100%;
|
||||
max-width: 900px;
|
||||
|
@ -2049,12 +2049,12 @@ svg.icons {
|
|||
#nav-index #nav-index-wrapper {
|
||||
padding: 0.75rem;
|
||||
}
|
||||
#nav-index #nav-index-wrapper #nav-pages div.nav-item {
|
||||
#nav-index #nav-index-wrapper #nav-pages .nav-item {
|
||||
display: block;
|
||||
width: 100%;
|
||||
background: #161d23;
|
||||
width: 98%;
|
||||
background: #374857;
|
||||
border-radius: 3px;
|
||||
color: #b2cce5;
|
||||
color: #f2f1ef;
|
||||
height: 30px;
|
||||
padding: 10px;
|
||||
margin: 0 0 10px 0;
|
||||
|
@ -2079,7 +2079,7 @@ svg.icons {
|
|||
-------------------------------
|
||||
-- Forms
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
form {
|
||||
display: inline-block;
|
||||
}
|
||||
|
@ -2140,7 +2140,7 @@ select {
|
|||
-------------------------------
|
||||
-- Blog
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
#post-index {
|
||||
width: 100%;
|
||||
max-width: 900px;
|
||||
|
@ -2669,7 +2669,7 @@ select {
|
|||
-------------------------------
|
||||
-- Editor
|
||||
-------------------------------
|
||||
**/
|
||||
* */
|
||||
#edit-control {
|
||||
top: 1px;
|
||||
border-radius: 3px;
|
||||
|
|
File diff suppressed because one or more lines are too long
731
themes/dash/assets/js/dash.min.js
vendored
731
themes/dash/assets/js/dash.min.js
vendored
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
@ -27,8 +27,8 @@
|
|||
svg#submit-error.icon-hide(viewBox="0 0 20 20" class="icons")
|
||||
use(xlink:href='/dash/assets/images/sprite.svg#entypo-thumbs-down')
|
||||
button#edit-delete.content-editor-btn-icon.editor-button.submit-delete(for="post-delete" title='delete post')
|
||||
svg#option-delete(viewBox="0 0 20 20" class="icons")
|
||||
use#option-delete(xlink:href='/dash/assets/images/sprite.svg#entypo-cross')
|
||||
svg#edit-delete(viewBox="0 0 20 20" class="icons")
|
||||
use#edit-delete(xlink:href='/dash/assets/images/sprite.svg#entypo-cross')
|
||||
else
|
||||
button#edit-save.post-sumbit-btn.submit-start.editor-button(data-action='blog-add' type='submit')
|
||||
svg#submit-save(viewBox="0 0 20 20" class="icons")
|
||||
|
|
|
@ -1,59 +1,49 @@
|
|||
import DataUtils,
|
||||
{
|
||||
REQUEST_TYPE_GET,
|
||||
REQUEST_TYPE_PUT,
|
||||
REQUEST_TYPE_POST,
|
||||
REQUEST_TYPE_DELETE,
|
||||
CONTENT_TYPE_JSON,
|
||||
CONTENT_TYPE_FORM
|
||||
}
|
||||
from '../../../../brain/tools/utilities/DataUtils';
|
||||
import DataUtils from '../../../../brain/tools/utilities/DataUtils';
|
||||
import * as DataEvent from '../../../../brain/tools/events/DataEvent';
|
||||
import DashManager from './controllers/DashManager';
|
||||
import DBUtils from '../../../../brain/tools/utilities/DBUtils';
|
||||
export default class Base
|
||||
{
|
||||
//--------------------------
|
||||
// constructor
|
||||
//--------------------------
|
||||
constructor()
|
||||
{
|
||||
var self = this;
|
||||
this.dashManager = [];
|
||||
this.dataUtils = new DataUtils();
|
||||
this.dbUtils = new DBUtils();
|
||||
this.settings = [];
|
||||
this.storeLocalData();
|
||||
}
|
||||
start()
|
||||
{
|
||||
this.dashManager = new DashManager();
|
||||
}
|
||||
//--------------------------
|
||||
// methods
|
||||
//--------------------------
|
||||
storeLocalData()
|
||||
{
|
||||
var self = this;
|
||||
this.dataUtils.request('/api/post/json', DataEvent.SETTINGS_LOADED).then((response) =>
|
||||
{
|
||||
let posts = JSON.parse(response.request['response']);
|
||||
export default class Base {
|
||||
//--------------------------
|
||||
// constructor
|
||||
//--------------------------
|
||||
constructor() {
|
||||
this.dashManager = [];
|
||||
this.dataUtils = new DataUtils();
|
||||
this.dbUtils = new DBUtils();
|
||||
this.settings = [];
|
||||
this.storeLocalData();
|
||||
}
|
||||
start() {
|
||||
this.dashManager = new DashManager();
|
||||
}
|
||||
//--------------------------
|
||||
// methods
|
||||
//--------------------------
|
||||
storeLocalData() {
|
||||
var self = this;
|
||||
this.dataUtils
|
||||
.request('/api/post/json', DataEvent.SETTINGS_LOADED)
|
||||
.then(response => {
|
||||
let posts = JSON.parse(response.request['response']);
|
||||
|
||||
let list = [];
|
||||
for (let index = 0; index < posts.length; index++) {
|
||||
list.push({id:posts[index].id ,post:posts[index].post});
|
||||
}
|
||||
self.dbUtils.syncLocal(list).then(r=>{
|
||||
self.start();
|
||||
}).catch(err=>{
|
||||
console.log(err);
|
||||
});
|
||||
}).catch((err) =>
|
||||
{
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
//--------------------------
|
||||
// event handlers
|
||||
//--------------------------
|
||||
}
|
||||
let list = [];
|
||||
for (let index = 0; index < posts.length; index++) {
|
||||
list.push({ id: posts[index].id, post: posts[index].post });
|
||||
}
|
||||
self.dbUtils
|
||||
.syncLocal(list)
|
||||
.then(() => {
|
||||
self.start();
|
||||
})
|
||||
.catch(() => {
|
||||
//console.log(err);
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
//console.log(err);
|
||||
});
|
||||
}
|
||||
//--------------------------
|
||||
// event handlers
|
||||
//--------------------------
|
||||
}
|
||||
|
|
|
@ -51,5 +51,3 @@ select
|
|||
:-ms-input-placeholder
|
||||
font 1em 'Apercu-Mono'
|
||||
color $secondary
|
||||
|
||||
|
||||
|
|
|
@ -5,26 +5,30 @@
|
|||
|
||||
#nav-index-wrapper
|
||||
padding 0.75rem
|
||||
|
||||
#nav-pages
|
||||
div.nav-item
|
||||
display: block
|
||||
width: 100%
|
||||
background: $primary - 60%
|
||||
.nav-item
|
||||
display block
|
||||
width 98%
|
||||
background $primary
|
||||
border-radius 3px
|
||||
color $secondary
|
||||
color $white
|
||||
height 30px
|
||||
padding: 10px
|
||||
margin 0 0 10px 0;
|
||||
padding 10px
|
||||
margin 0 0 10px 0
|
||||
font-size 1.5em
|
||||
cursor move
|
||||
|
||||
label
|
||||
display inline-block
|
||||
vertical-align: middle
|
||||
padding: 0
|
||||
margin: -15px 0 0 10px
|
||||
vertical-align middle
|
||||
padding 0
|
||||
margin -15px 0 0 10px
|
||||
cursor move
|
||||
|
||||
#nav-btns
|
||||
float right
|
||||
button
|
||||
font-size: .8em
|
||||
margin: 0 0 0 10px
|
||||
|
||||
button
|
||||
font-size 0.8em
|
||||
margin 0 0 0 10px
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
button
|
||||
margin-top 5px
|
||||
width 320px
|
||||
width 100%
|
||||
height 45px
|
||||
|
||||
#member-settings, #site-settings, #option-settings
|
||||
|
@ -105,8 +105,10 @@
|
|||
fill $primary
|
||||
display inline-block
|
||||
float right
|
||||
|
||||
#mail-settings
|
||||
min-height: 240px
|
||||
min-height 240px
|
||||
|
||||
a.mail-option
|
||||
float right
|
||||
font-family 'Apercu-Mono'
|
||||
|
|
Loading…
Reference in a new issue