diff --git a/dist/custom.js b/dist/custom.js
index 9831e5a..c0845f6 100644
--- a/dist/custom.js
+++ b/dist/custom.js
@@ -1,7 +1,7 @@
// $ ('#mainInfoModal').on ('show.bs.modal', function (e) {
-$ (document).ready(function (e) {
+$ (document).ready (function (e) {
$ ('#map').locationpicker ({
- location: {latitude: 46.15242437752303, longitude: 2.7470703125},
+ location: {latitude: 49.8712825, longitude: 16.3073431},
radius: 10,
enableReverseGeocode: true,
draggable: true,
@@ -15,53 +15,56 @@ $ (document).ready(function (e) {
});
});
-
-
-$('.js-move-button-trigger').click(function () {
- $('.js-move-button').show();
- $('.gallery__buttons').show();
- $(this).attr('hidden', true);
- $('.js-move-done-button-trigger').attr('hidden', false);
+$ ('.js-move-button-trigger').click (function () {
+ $ ('.js-move-button').show ();
+ $ ('.gallery__buttons').show ();
+ $ (this).attr ('hidden', true);
+ $ ('.js-move-done-button-trigger').attr ('hidden', false);
});
-$('.js-move-done-button-trigger').click(function () {
- $('.js-move-button').hide();
- $('.gallery__buttons').hide();
+$ ('.js-move-done-button-trigger').click (function () {
+ $ ('.js-move-button').hide ();
+ $ ('.gallery__buttons').hide ();
- $(this).attr('hidden', true);
- $('.js-move-button-trigger').attr('hidden', false);
+ $ (this).attr ('hidden', true);
+ $ ('.js-move-button-trigger').attr ('hidden', false);
});
+$ ('.js-delete-button-trigger').click (function () {
+ $ ('.js-delete-checkbox').show ();
+ $ ('.gallery__buttons').show ();
-$('.js-delete-button-trigger').click(function () {
- $('.js-delete-checkbox').show();
- $('.gallery__buttons').show();
-
- $(this).attr('hidden', true);
- $('.js-delete-button-confirmation').attr('hidden', false);
+ $ (this).attr ('hidden', true);
+ $ ('.js-delete-button-confirmation').attr ('hidden', false);
});
-$('.js-delete-button-confirmation-trigger').click(function () {
- $('.js-delete-checkbox:checked').closest('.gallery__item').fadeOut('fast');
- $('.gallery__buttons').hide();
+$ ('.js-delete-button-confirmation-trigger').click (function () {
+ $ ('.js-delete-checkbox:checked').closest ('.gallery__item').fadeOut ('fast');
+ $ ('.gallery__buttons').hide ();
- $('.js-delete-button-confirmation').attr('hidden', true);
- $('.js-delete-button-trigger').attr('hidden', false);
+ $ ('.js-delete-button-confirmation').attr ('hidden', true);
+ $ ('.js-delete-button-trigger').attr ('hidden', false);
});
-$(function() { $('#cp9').colorpicker({ customClass: 'colorpicker-2x', sliders: { saturation: { maxLeft: 200, maxTop: 200 }, hue: { maxTop: 200 }, alpha: { maxTop: 200 } } }); });
+$ (function () {
+ $ ('#cp9').colorpicker ({
+ customClass: 'colorpicker-2x',
+ sliders: {saturation: {maxLeft: 200, maxTop: 200}, hue: {maxTop: 200}, alpha: {maxTop: 200}}
+ });
+});
-$(function() {$('#cp9').colorpicker().on(
- 'changeColor',
- function() {
- $('#cp9').css('background-color',
- $(this).colorpicker('getValue', '#ffffff'));
- });
- });
+$ (function () {
+ $ ('#cp9').colorpicker ().on (
+ 'changeColor',
+ function () {
+ $ ('#cp9').css ('background-color',
+ $ (this).colorpicker ('getValue', '#ffffff'));
+ });
+});
-$( function() {
- $('.small-box').click( function() {
- $('.small-box').removeClass('on')
- $(this).toggleClass('on');
-} )
+$ (function () {
+ $ ('.small-box').click (function () {
+ $ ('.small-box').removeClass ('on')
+ $ (this).toggleClass ('on');
+ })
});
diff --git a/dist/images/gallery/10.jpg b/dist/images/gallery/10.jpg
new file mode 100644
index 0000000..a4898f3
Binary files /dev/null and b/dist/images/gallery/10.jpg differ
diff --git a/dist/images/gallery/7.jpg b/dist/images/gallery/7.jpg
new file mode 100644
index 0000000..6633e10
Binary files /dev/null and b/dist/images/gallery/7.jpg differ
diff --git a/dist/images/gallery/8.jpg b/dist/images/gallery/8.jpg
new file mode 100644
index 0000000..f83d65d
Binary files /dev/null and b/dist/images/gallery/8.jpg differ
diff --git a/dist/images/gallery/9.jpg b/dist/images/gallery/9.jpg
new file mode 100644
index 0000000..98dae07
Binary files /dev/null and b/dist/images/gallery/9.jpg differ
diff --git a/index.js b/index.js
index fcc6e92..0a46646 100644
--- a/index.js
+++ b/index.js
@@ -3,20 +3,26 @@
// JS
// components
import $ from 'jquery';
+
+window.jQuery = $;
+window.$ = $;
+
import 'bootstrap';
import 'fullcalendar';
import Jodit from 'jodit';
import Sortable from 'sortablejs-float';
import 'pc-bootstrap4-datetimepicker';
+
// SASS
import './src/assets/scss/app.scss';
// globaly accessible variables and classes
-window.jQuery = $;
-window.$ = $;
window.Jodit = Jodit;
window.Sortable = Sortable;
+import 'lightbox2';
+
+
// custom made functions - everything in src/assets/js
function requireAll(r) {
r.keys ().forEach (r);
diff --git a/package-lock.json b/package-lock.json
index 285ddb4..abbcaca 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3323,6 +3323,11 @@
}
}
},
+ "lightbox2": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/lightbox2/-/lightbox2-2.10.0.tgz",
+ "integrity": "sha1-BrP3t718EzLCDQN2AtlldUL9feQ="
+ },
"load-json-file": {
"version": "1.1.0",
"resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
diff --git a/package.json b/package.json
index ecbafe4..72edac2 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
"description": "Frontend svatebniho planovace",
"main": "index.js",
"dependencies": {
+ "body-parser": "^1.18.3",
"bootstrap": "^4.1.3",
"ejs": "^2.6.1",
"express": "^4.16.4",
@@ -13,6 +14,7 @@
"fullcalendar": "^3.9.0",
"jodit": "^3.2.22",
"jquery": "^3.3.1",
+ "lightbox2": "^2.10.0",
"pc-bootstrap4-datetimepicker": "^4.17.50",
"popper.js": "^1.14.5",
"sortablejs-float": "^1.7.0"
diff --git a/src/app.js b/src/app.js
index 9efd962..d25e1aa 100644
--- a/src/app.js
+++ b/src/app.js
@@ -1,4 +1,3 @@
-
var express = require ('express');
var app = express ();
@@ -10,6 +9,78 @@ app.set ('view engine', 'ejs');
app.use ('/dist', express.static ('dist'));
app.use (expressLayouts);
+var bodyParser = require ('body-parser');
+app.use (bodyParser.json ());
+app.use (bodyParser.urlencoded ({extended: true}));
+
+var templateData = {
+ invitations: [
+ {
+ name: "Frantisek Novak",
+ person_count: 2,
+ will_come: true,
+ date: new Date ('2018-11-20')
+ },
+ {
+ name: "Frantisek Dvorak",
+ person_count: 4,
+ will_come: false,
+ date: new Date ('2018-11-19')
+ },
+ {
+ name: "Frantisek Dvorak",
+ person_count: 4,
+ will_come: null
+ },
+ {
+ name: "Frantisek Dvorak",
+ person_count: 4,
+ will_come: null
+ },
+ ],
+ tasks: [
+ {name: "Ukol 1", done: false},
+ {name: "Ukol 2", done: true},
+ {name: "Ukol 3", done: true},
+ {name: "Ukol 4", done: false},
+ ],
+ aboutUs: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
+ notes: "",
+ wedding: {
+ when: '1. 9. 2019',
+ where: 'Zámek Litomyšl',
+ at: '11:00'
+ },
+ ourStory: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
+ program: [
+ {
+ icon: "automobile",
+ time: "10:00",
+ title: "Příjezd nevěsty"
+ },
+ {
+ icon: "heart",
+ time: "11:00",
+ title: "Obřad"
+ },
+ {
+ icon: "cutlery",
+ time: "12:00",
+ title: "Hostina"
+ },
+ {
+ icon: "glass",
+ time: "13:00",
+ title: "Přípitek"
+ },
+ {
+ icon: "birthday-cake",
+ time: "12:00",
+ title: "Krájení dortu"
+ }
+ ]
+};
+
/**
* Render template - check if exists
*
@@ -21,8 +92,10 @@ function renderTemplate(req, res) {
var urlSegment = url.replace (/[^a-z0-9_]/, '');
var viewsRoot = app.get ('views');
+ templateData.queryString = req.query;
+
if (fs.existsSync (viewsRoot + '/' + urlSegment + ".ejs")) {
- res.render (urlSegment);
+ res.render (urlSegment, templateData);
} else {
res.status (404);
res.send ('View ' + viewsRoot + '/' + urlSegment + '.ejs not found');
@@ -49,4 +122,32 @@ app.get ('/:page?', function (req, res) {
renderTemplate (req, res);
});
+function savePost(req, res) {
+ console.log (req.body);
+
+ for (var i in req.body) {
+ templateData[i] = req.body[i];
+ }
+}
+
+app.post ('/:page?', function (req, res) {
+ savePost (req, res);
+
+ var redirectUrl = '/' + (typeof req.params.page === 'undefined' ? 'index' : req.params.page);
+
+ res.redirect (redirectUrl)
+});
+
+app.post ('/editor/:page?', function (req, res) {
+ savePost (req, res);
+
+ var redirectUrl = '/editor/' + (typeof req.params.page === 'undefined' ? 'index' : req.params.page);
+
+ if (typeof req.body.redirectParams !== 'undefined') {
+ redirectUrl += '?'+req.body.redirectParams;
+ }
+
+ res.redirect (redirectUrl)
+});
+
app.listen (8080);
\ No newline at end of file
diff --git a/src/assets/js/.Rhistory b/src/assets/js/.Rhistory
deleted file mode 100644
index e69de29..0000000
diff --git a/src/assets/js/datepicker.js b/src/assets/js/datepicker.js
index 3bd30a6..670dd93 100644
--- a/src/assets/js/datepicker.js
+++ b/src/assets/js/datepicker.js
@@ -1,4 +1,9 @@
$ (document).ready (function () {
+ initDatePickers();
+});
+
+
+function initDatePickers() {
$ ('.select-time').datetimepicker ({
format: 'LT',
locale: 'cs',
@@ -9,4 +14,4 @@ $ (document).ready (function () {
locale: 'cs',
minDate: new Date ()
});
-});
+}
\ No newline at end of file
diff --git a/src/assets/js/inlineEdit.js b/src/assets/js/inlineEdit.js
index f4076a9..a8a84cb 100644
--- a/src/assets/js/inlineEdit.js
+++ b/src/assets/js/inlineEdit.js
@@ -108,7 +108,7 @@
case "datetime":
$input.addClass ('select-datetime');
- initDateTimePickers ();
+ // initDateTimePickers ();
$input.datetimepicker ('show');
break;
@@ -147,25 +147,25 @@
return newData;
}
- $.nette.ajax ({
- url: url,
- method: "POST",
- data: {
- value: newData
- }
- }).done (function () {
- // todo: very ugly, sorry...
- $ ("." + $trigger.attr ('class')).editable (callback);
-
- // todo remove timepicker in nicer way
- $ ('.bootstrap-datetimepicker-widget').remove ();
-
- // todo: somehow not working...?
- callback ();
-
- var event = jQuery.Event ("snippet-reloaded");
- $ (document).trigger (event);
- });
+ // $.nette.ajax ({
+ // url: url,
+ // method: "POST",
+ // data: {
+ // value: newData
+ // }
+ // }).done (function () {
+ // // todo: very ugly, sorry...
+ // $ ("." + $trigger.attr ('class')).editable (callback);
+ //
+ // // todo remove timepicker in nicer way
+ // $ ('.bootstrap-datetimepicker-widget').remove ();
+ //
+ // // todo: somehow not working...?
+ // callback ();
+ //
+ // var event = jQuery.Event ("snippet-reloaded");
+ // $ (document).trigger (event);
+ // });
return newData;
};
@@ -201,5 +201,4 @@ function initEditable() {
});
}
-$ (document).ready (initEditable);
-$ (document).on ('snippet-reloaded', initEditable);
\ No newline at end of file
+$ (document).ready (initEditable);
\ No newline at end of file
diff --git a/src/assets/js/notifications.js b/src/assets/js/notifications.js
new file mode 100644
index 0000000..f08d247
--- /dev/null
+++ b/src/assets/js/notifications.js
@@ -0,0 +1,9 @@
+
+
+$(document).ready(function () {
+ setTimeout(function () {
+ $('.js-notification').fadeOut(1000);
+
+ }, 1000);
+
+});
diff --git a/src/assets/js/program.js b/src/assets/js/program.js
index 9069123..a02775c 100644
--- a/src/assets/js/program.js
+++ b/src/assets/js/program.js
@@ -1,13 +1,99 @@
$ (document).on ('click', '.js-add-program', function () {
- var $template = $ ($ (this).data ('template'));
-
+ var templateSelector = $ (this).data ('template') + ":last";
+ var $template = $ (templateSelector);
var $templateContainer = $ ($ (this).data ('template-container'));
var $copy = $template.clone ().removeClass ('template');
- $copy.find ('.js-remove-program').removeAttr('hidden');
+ var itemsCount = $ ('.template-container__item').length;
+ $copy.find ('input').each (function () {
+ var name = $ (this).attr ('name');
+
+ $ (this).attr ('name', name.replace (/\[0\]/g, '[' + itemsCount + ']'));
+ });
$copy.appendTo ($templateContainer);
+
+ $ ('.select-time').datetimepicker ({
+ format: 'LT',
+ locale: 'cs',
+ stepping: 10,
+ });
+});
+
+function renameInputs() {
+ var items = $ ('.template-container__item');
+ var i = 0;
+
+ items.each (function () {
+ var $rows = $ (this).find ('input');
+
+ $rows.each (function () {
+ var name = $ (this).attr ('name');
+ $ (this).attr ('name', name.replace (/\[[0-9]+\]/g, '[' + i + ']'));
+ });
+
+ i++;
+ });
+}
+
+$(document).on('click', '.js-sort-events', function ( ){
+ var $templateContainer = $ ($ (this).data ('template-container'));
+ var $templates = $ ($ (this).data ('template'));
+
+ sortEvents($templateContainer, $templates);
+
+ $(this).fadeOut();
+});
+
+function sortEvents($container, $templates) {
+
+ var elements = $templates.get();
+
+ elements.sort(function (a, b) {
+
+ console.log(a);
+
+ var timeA = $(a).find('.select-time').val();
+ var timeB = $(b).find('.select-time').val();
+
+ return timeA > timeB;
+ });
+
+ $container.append(elements);
+
+ renameInputs();
+}
+
+
+function checkEvents($container, $templates) {
+ var lastTime = null;
+ var orderCorrect = true;
+ $templates.each(function() {
+ var time = $(this).find('.select-time').val();
+
+ if (time < lastTime) {
+ orderCorrect = false;
+ }
+ lastTime = time;
+ });
+
+ if (!orderCorrect) {
+ $('.js-sort-events').fadeIn();
+ } else {
+ $('.js-sort-events').fadeOut();
+ }
+}
+
+$(document).ready(function () {
+
+ setInterval(function () {
+ var $templateContainer = $ ('.template-container');
+ var $templates = $ ('.template');
+
+ checkEvents($templateContainer, $templates);
+ }, 1000);
+
});
$ (document).on ('click', '.js-remove-program', function () {
@@ -19,20 +105,20 @@ $ (document).on ('click', '.js-remove-program', function () {
});
var $iconTarget = null;
-$(document).on('click', '.js-set-icon-program', function () {
- $('#setIconProgramModal').modal('show');
+$ (document).on ('click', '.js-set-icon-program', function () {
+ $ ('#setIconProgramModal').modal ('show');
- $iconTarget = $(this);
+ $iconTarget = $ (this);
});
-$(document).on('click', '.js-choose-icon', function () {
+$ (document).on ('click', '.js-choose-icon', function () {
- var icon = $(this).data('icon');
+ var icon = $ (this).data ('icon');
- $iconTarget.find('input').val(icon);
- $iconTarget.find('.fa').removeAttr('class').addClass('fa fa-2x fa-'+icon);
+ $iconTarget.find ('input').val (icon);
+ $iconTarget.find ('.fa').removeAttr ('class').addClass ('fa fa-2x fa-' + icon);
$iconTarget = null;
- $('#setIconProgramModal').modal('hide');
+ $ ('#setIconProgramModal').modal ('hide');
});
\ No newline at end of file
diff --git a/src/assets/js/sortable.js b/src/assets/js/sortable.js
index 5af9745..632e8a2 100644
--- a/src/assets/js/sortable.js
+++ b/src/assets/js/sortable.js
@@ -22,15 +22,23 @@ function initSortable() {
handle: ".sort-handle",
draggable: ".draggable",
onEnd: function (evt) {
- var ordered = [];
- // get item ids
- $ ('.sortable-item').each (function () {
- var $e = $ (this);
- ordered.push ($e.data ('id'));
+ var items = $ ('.template-container__item');
+ var i = 0;
+
+ items.each (function () {
+ var $rows = $ (this).find ('input');
+
+ $rows.each (function () {
+ var name = $ (this).attr ('name');
+
+ console.log(name);
+
+ $ (this).attr ('name', name.replace (/\[[0-9]+\]/g, '[' + i + ']'));
+ });
+
+ i++;
});
-
-
}
});
}
diff --git a/src/assets/js/uploadPreview.js b/src/assets/js/upload.js
similarity index 75%
rename from src/assets/js/uploadPreview.js
rename to src/assets/js/upload.js
index 7abda1c..8a2c3b6 100644
--- a/src/assets/js/uploadPreview.js
+++ b/src/assets/js/upload.js
@@ -26,4 +26,18 @@ $ (".file-upload").change (function () {
}
readURL (this, preview);
+});
+
+$(document).on('submit', 'form.js-upload', function (e){
+
+ // var
+ $(this).find('input[type=file]').each(function() {
+
+ });
+
+
+ // e.preventDefault();
+ // return false;
+
+
});
\ No newline at end of file
diff --git a/src/assets/scss/app.scss b/src/assets/scss/app.scss
index 8c28803..c0f6e83 100644
--- a/src/assets/scss/app.scss
+++ b/src/assets/scss/app.scss
@@ -27,6 +27,7 @@ $fa-font-path: "~font-awesome/fonts";
@import "main";
@import "backToDashboard";
@import "boxes";
+@import "lightbox";
// editor
@import "editor/app";
diff --git a/src/assets/scss/editor/app.scss b/src/assets/scss/editor/app.scss
index a35e50c..925f360 100644
--- a/src/assets/scss/editor/app.scss
+++ b/src/assets/scss/editor/app.scss
@@ -3,3 +3,12 @@
@import "timeline";
@import "gallery";
+.template:first-child {
+ .js-remove-program {
+ display: none;
+ }
+}
+
+.sort-handle:hover {
+ cursor: move;
+}
\ No newline at end of file
diff --git a/src/assets/scss/lightbox.scss b/src/assets/scss/lightbox.scss
new file mode 100644
index 0000000..1cb572f
--- /dev/null
+++ b/src/assets/scss/lightbox.scss
@@ -0,0 +1,207 @@
+html.lb-disable-scrolling {
+ overflow: hidden;
+ /* Position fixed required for iOS. Just putting overflow: hidden; on the body is not enough. */
+ position: fixed;
+ height: 100vh;
+ width: 100vw;
+}
+
+.lightboxOverlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 9999;
+ background-color: black;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
+ opacity: 0.8;
+ display: none;
+}
+
+.lightbox {
+ position: absolute;
+ left: 0;
+ width: 100%;
+ z-index: 10000;
+ text-align: center;
+ line-height: 0;
+ font-weight: normal;
+}
+
+.lightbox .lb-image {
+ display: block;
+ height: auto;
+ max-width: inherit;
+ max-height: none;
+ border-radius: 3px;
+
+ /* Image border */
+ border: 4px solid white;
+}
+
+.lightbox a img {
+ border: none;
+}
+
+.lb-outerContainer {
+ position: relative;
+ *zoom: 1;
+ width: 250px;
+ height: 250px;
+ margin: 0 auto;
+ border-radius: 4px;
+
+ /* Background color behind image.
+ This is visible during transitions. */
+ background-color: white;
+}
+
+.lb-outerContainer:after {
+ content: "";
+ display: table;
+ clear: both;
+}
+
+.lb-loader {
+ position: absolute;
+ top: 43%;
+ left: 0;
+ height: 25%;
+ width: 100%;
+ text-align: center;
+ line-height: 0;
+}
+
+.lb-cancel {
+ display: block;
+ width: 32px;
+ height: 32px;
+ margin: 0 auto;
+ //background: url(../images/loading.gif) no-repeat;
+}
+
+.lb-nav {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+ z-index: 10;
+}
+
+.lb-container > .nav {
+ left: 0;
+}
+
+.lb-nav a {
+ outline: none;
+ background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
+}
+
+.lb-prev, .lb-next {
+ height: 100%;
+ cursor: pointer;
+ display: block;
+}
+
+.lb-nav a.lb-prev {
+ width: 34%;
+ left: 0;
+ float: left;
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFF0lEQVR4Ac2ZW0xcVRSGPTNnhlPKcCsUAeeChkEVxhutDQwzMANaqamNWgpaH+yDIaZp1cRHbgH0gTsxkmDCI/hiRAqgD5qYRgKQ8II6TE00wfgGAcIdKeM/ydrNZIezxxg9m518gRxWmn6s9a9zhvNQJBL5T/gfjokwA5Uw0zWFeHBOugiTsAArfSWZky+iABVowAZSwRkiDSTRz1iHlJMmogATsIDTIAPYgRs8SeTTtXSQSLVKFNkivIQKksDDJFCsquqLmqZdAa/i+yCuPQ1cJHOKjdpJEWGdsIFs8BQoy83NvTEzMzO3t7f318HBweHc3Nxdj8dznWQeIWmpIryENUaiCPgdDsfN+fn5XyLcWV5eDlmt1gBqHgOpbAHIFmESySAHeECF0+m8hd/+vcgxZ3d39wBj9grqCkA6iaiyRBRunJhEpcvl+nBhYeG3iM7Z2dnZgkg1ZSgNqLI6wgebSVTZ7faPlpaW/tSTWF9f36ivr+9AbQkF3iZRhAs2dSInJ+eDUCj0h0Biq7S09BPUBkEhyAKJssKusE6QRCGoQLDfn56eDulJrK6ubgeDwS7UXgTPAztIkXUfUbhxKgLlyMRtBPtXPYm1tbXdqqoqJnEOOGhbJQCTkSJ8sJlEMNoJrFhdicPDw6PKyspe1FaD85yE2YBnLUGwSSIrK+s2bnZLehIbGxubfr+/B7WXSMJJ42QlCcVAES7YJJGdnR0dp7BgnLZKSko6qBPngIvrBEkYIKIT7PLoOKET4TjB7kbty+A8SaRxmcAxQEQn2BUI9q3Z2dl7gk7sINhRiZeoE87jMmGECB/s3JhgR8dJV2Jzc3Pb5/N1UieKKdgsEyaAY5wIk2Dj5GHBRifCgmBHb3adLBNsO3HBNkxEAWZwCmSCx4EPwb4ZJ9jbCHYXSRQDpyDYhomoNFIOUIRMvINO/KQnsbKyshMIBD5D7RVwgQWblzBahD2Sp5jN5jzM+9uLi4s/60mEw+FNbKcvUH8DVIECcAZoXLCliaRaLBbX8PBwb0RwRkZGfkftx+BdUM4+KInDbdxoWUCKoih5CQkJgYGBgS/xs6PjRPb394+ampp+RP174CIoBGcpYypQZIqYY+4dz4DLvb29Y6LONDY2fou6OuAF+SCDZCgj8kQSQDqNihfU9vX1TYlkGhoa7qDuDVBKMpQVrjMG30fYCs6gAHuRmdqurq5JkUxLS8sEaq+CMq4zJGOgCB2Fk8kHJSaTqaazs3Pi2MzQaWtrm0RtDfDFyCQyGUNFOJlEkMlkwLWenp5vRDKtra1TNGYsM5mcjKEifGeYjBfUQUaYmebm5omYzLjFC8C4zyNqTGfcNDZ1/2ABjKHudZLXkTFARJAZN/CqqnqNMqN7Ojo6vqMF4ONkVFmvFUQLQNiZ7u7u76PZAn6S4TJjrIhoAdT+iwXAdQYYKCJaAG/iPhNvAYyj7jXwAngUpAGrDBF+ATCZAuBXFOX60NDQ3TiPM1/hyfoyPf7kgNNSXyvwmSGZMk3T3hocHPwhzlPzJLLFnpZT5PztV5wZNyilbTZFmTnZrxU4GZWXATV4ap4kmeNELlEticjsSHyZq/39/V/j374P2Lk/Pj5+BznxUuDlj1acJ4B8cAH/4er29vbPR0dH58fGxubx/ac2my1Ab3iz5Yc9/gJIB05QCJ4Fz9FXD3gC5HIfi+WKCGQ0GpuzwA7yCDtdS+b/SCFfRPwaQqPxSSaS6JrlwUjR+RtEvCM0ct4sLQAAAABJRU5ErkJggg==') left 48% no-repeat;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
+ opacity: 0;
+ -webkit-transition: opacity 0.6s;
+ -moz-transition: opacity 0.6s;
+ -o-transition: opacity 0.6s;
+ transition: opacity 0.6s;
+}
+
+.lb-nav a.lb-prev:hover {
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
+ opacity: 1;
+}
+
+.lb-nav a.lb-next {
+ width: 64%;
+ right: 0;
+ float: right;
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFDUlEQVR4Ac2ZS0xcVRjHvTN3hisw0GIRZ3AeLWHQWqdVsRqgA86AUmpqoy20Whd2YYhprJq45BVAF7yJkQQTluDGiEhBF5qYRsIjYYMKQxNNMO4gQHgjZfxP8pF8ufEe0qQ5pyf5BTKcWfzyff/vnHt5xLQ0wgbsQCfswEY80BWPxx8I5sUlHMBJP0nm4RfRWAUMkAqOgseII8AFDNqjPYwiGuEAySADeEEuOEkE6bNjIIX22riQchHWSo+SRACc1nU9ahjGG+ASfn8Vn+WT0BNUMV0so04kFTwJTodCoeuTk5N3dnd397a3t/8dHx+fzM7OvoG/nQPPADdwscqoF2HBPgJynE5nZGFhYTZuWlNTU3/4fL6b2FMMnmUyTpJRLqKTSAbIQyu9vrW1tRv/n4Uqzfv9/g+x7xUQAh6QxmVUV0SnKRWESMXm5uZ63GJNT0//GQgEPsHeUibD20xTLeKioBdUV1e3rKysrFrJzM3N/eP1ej/F3jImIxgAcsOeDLLAKRAtLCz8HDKWlZmdnf3b4/F8zCojGADyz5F04AUvgPJoNNq2tLS0YSUzNjY2iwHwEWXmFHCzymiqRGwgiaaXD7wIysvKytqWl5e3rGQwAO4iM7ewt4SmmYfLqLpr2U0yZ0FFaWlp597e3r6VDEbzXapMlGQEA0COiEYyTmozP8lcKC4u7lhdXV2zksGhOZeVlXWLy5gHgDwRJsMqE6A2qygoKGhBm60L2izmdruZjGkAyBShxTNzlGTOgvMYAO2iAYDKxKjNSgQDQI6IRWb8VJnXMADaUZlNK5mJiYl5DAC6AQgGgCwRWjaWGR/IB+fD4XDr2trahqDN5lEZ3mbZ5gEgW4QPAD6aK3BotmIArAsqE2MDIMTajGTkinAZ3mb5NAAS58zGIQPgJvaGwVMgk5597ECTLcJl+AB4GVyKRCJfLi4uijLzGzLzHrWYj1pMVyXCB4BBz/J5oAzcwDT7OhaLWZ4zMzMzvyNX79rt9uOUNyewqRSxsbzk0Jh9H3w2MDDwV1yw+vv7Ox0OR4C+q1REAzr1+ON0TpSDD+rq6n7d2dmxusbs9/T0fJOUlBTRNO2gIg6lGSGJYyAXFIFrtbW1P4oq0dnZOYR9F8EZdqaoCDtVgrJBEoXgck1Nzfciia6urlHsu0rSOSADJEkXYRK8EufAlYaGhtsiiba2thFk4kAij75Po1fiOcIkkplEGFQ2NTWNCBz2W1tbb9tstkrsLaDvcQlN5hWFS2SyTFxubGwcFUl0dHT8gH1VTCITJHMJWSLmYAcPMlFfXy9sJ0gkMnGNpEnCXAkJIhYSReAtBHvosGCTRBgEWSV0qc8jPNhMIgyutLS0/CSSSGRC1/Uqkg5aZUKGiDkTQVAMqtrb238+RGJUHGyZb1F4Je4/2FfFwZYr4qRb7QnwEngTwR4+5JxIZOJtcbDlv2lMAR5wBjfUi7h2fCuS6Ovru6Np2nVqvzwmQcFW9+43HeSg10twix0RSfT29v5iGMY7dMLniTOh+N8KghN7lKZTIQgKMiG/IkwkCJELFiL7uMWOYE+lWUL8elRNa51APoqGh4cTN9p7TOJed3f3d4nz5P4l1ITdDU66XK5Ic3PzF0NDQ1ODg4NT+P0rCFbQM3qu4MRWLsIfX7PB0yAEngPP089TwA8yBMFWKmJ+qZBGj7FecJzw0mfpwBBLqBexseAbIBWkESnAEPybQLnIf4JfIzSb+FymAAAAAElFTkSuQmCC') right 48% no-repeat;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
+ opacity: 0;
+ -webkit-transition: opacity 0.6s;
+ -moz-transition: opacity 0.6s;
+ -o-transition: opacity 0.6s;
+ transition: opacity 0.6s;
+}
+
+.lb-nav a.lb-next:hover {
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
+ opacity: 1;
+}
+
+.lb-dataContainer {
+ margin: 0 auto;
+ padding-top: 5px;
+ *zoom: 1;
+ width: 100%;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+}
+
+.lb-dataContainer:after {
+ content: "";
+ display: table;
+ clear: both;
+}
+
+.lb-data {
+ padding: 0 4px;
+ color: #ccc;
+}
+
+.lb-data .lb-details {
+ width: 85%;
+ float: left;
+ text-align: left;
+ line-height: 1.1em;
+}
+
+.lb-data .lb-caption {
+ font-size: 13px;
+ font-weight: bold;
+ line-height: 1em;
+}
+
+.lb-data .lb-caption a {
+ color: #4ae;
+}
+
+.lb-data .lb-number {
+ display: block;
+ clear: left;
+ padding-bottom: 1em;
+ font-size: 12px;
+ color: #999999;
+}
+
+.lb-data .lb-close {
+ display: block;
+ float: right;
+ width: 30px;
+ height: 30px;
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAPFBMVEX///8AAAD9/f2CgoKAgIAAAAAAAAAAAABLS0sAAAAAAACqqqqqqqq6urpKSkpISEgAAAC7u7u5ubn////zbsMcAAAAE3RSTlMASv6rqwAWS5YMC7/AyZWVFcrJCYaKfAAAAHhJREFUeF590kkOgCAQRFEaFVGc+/53FYmbz6JqBbyQMFSYuoQuV+iTflnstI7ssLXRvMWRaEMs84e2uVckuZe6knL0hiSPObXhj6ChzoEkIolIIpKIO4joICAIeDd7QGIfCCjOKe9HEk8mnxpIAup/F31RPZP9fAG3IAyBSJe0igAAAABJRU5ErkJggg==') top right no-repeat;
+ text-align: right;
+ outline: none;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
+ opacity: 0.7;
+ -webkit-transition: opacity 0.2s;
+ -moz-transition: opacity 0.2s;
+ -o-transition: opacity 0.2s;
+ transition: opacity 0.2s;
+}
+
+.lb-data .lb-close:hover {
+ cursor: pointer;
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
+ opacity: 1;
+}
\ No newline at end of file
diff --git a/src/views/backend/details.ejs b/src/views/backend/details.ejs
index b15ec21..0c3aacb 100644
--- a/src/views/backend/details.ejs
+++ b/src/views/backend/details.ejs
@@ -1,5 +1,8 @@
+
+
Kdo?
+
diff --git a/src/views/backend/index.ejs b/src/views/backend/index.ejs
index 287cb3a..dc5ede8 100644
--- a/src/views/backend/index.ejs
+++ b/src/views/backend/index.ejs
@@ -1,109 +1,129 @@
-
-
-
+
+
+
-
-
-
- Jméno
- Počet osob
- Přijde?
- Datum reakce
-
-
+ <% if (typeof invitations != 'undefined') { %>
+
+
+
+ Jméno
+ Počet osob
+ Přijde?
+ Datum reakce
+
+
-
-
-
-
-
-
+ <% invitations.forEach(function (invitation) { %>
-
-
+ <% if (invitation.will_come !== null) { %>
-
-
+
+ <% } else { %>
+
Zatím nikdo neodpověděl na pozvánku.
+ <% } %>
+
+
+
-
+
+ Seznam hostů
+
+
+
-
-
-
+
-
+
+ todo
-
- todo
+
+ <% var cnt = 0 %>
+ <% tasks.forEach(function (task) { %>
+
+ >
+ <%= task.name %>
+
+ <% }) %>
+
-
+
Uložit
+
+
+
diff --git a/src/views/editor/gallery.ejs b/src/views/editor/gallery.ejs
index 8ab4283..e30a520 100644
--- a/src/views/editor/gallery.ejs
+++ b/src/views/editor/gallery.ejs
@@ -1,37 +1,41 @@
-
- Fotogalerie
+ Fotogalerie
-
-
- Přidat fotografie
- Přidat album
-
-
+
+
+
+ Přidat fotografie
+
+
+ Přidat album
+
+
+
+
-
+ <%- include('../partials/notification.ejs', {parameter: "newAlbum", notificationText: "Album úspěšně vytvořeno."}) %>
+ <%- include('../partials/notification.ejs', {parameter: "upload", notificationText: "Fotografie úspěšně nahrány do vybraných alb."}) %>
- <% for(var i = 1; i <= 6; i++) { %>
-
-
- <% } %>
-
-
- <% include ../partials/editor/modals/newGallery.ejs %>
- <% include ../partials/editor/modals/uploadPhoto.ejs %>
+
+ <% } %>
+ <% } %>
+
+
+ <% include ../partials/editor/modals/newGallery.ejs %>
+ <% include ../partials/editor/modals/uploadPhoto.ejs %>
-
\ No newline at end of file
diff --git a/src/views/editor/gallery_detail.ejs b/src/views/editor/gallery_detail.ejs
index dc5157e..81fcf90 100644
--- a/src/views/editor/gallery_detail.ejs
+++ b/src/views/editor/gallery_detail.ejs
@@ -1,57 +1,72 @@
- Nadpis alba
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis
- nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
- reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim
- id est laborum.
-
+ Nadpis alba
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore
+ magna aliqua. Ut enim ad minim veniam, quis
+ nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
+ reprehenderit in voluptate velit esse cillum dolore eu fugiat
+ nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
+ anim
+ id est laborum.
+
- <% include ../partials/editor/modals/editGalleryText.ejs %>
+ <% include ../partials/editor/modals/editGalleryText.ejs %>
+
+
+
+
+
+ Přesunout fotografie
+
+
+
+ Hotovo
+
+
+
+ Nahrát fotografie
+
+
+
+ Smazat fotografie
+
+
+
+ Odstranit vybrané
+
+
+
-
-
-
- Přesunout fotografie
-
+ <%- include('../partials/notification.ejs', {parameter: "upload"}) %>
-
- Hotovo
-
+
-
- Smazat fotografie
-
+
-
- Odstranit vybrané
-
-
-
+ <% for(var i = 1; i <= 10; i++) { %>
+ <% if (i < 7 || (typeof queryString.ok !== 'undefined' && queryString.ok == "upload")) { %>
+
-
+
+
+
+
- <% for(var i = 1; i <= 6; i++) { %>
-
-
-
-
-
+ <% } %>
+ <% } %>
-
-
-
- <% } %>
-
-
- <% include ../partials/editor/modals/newGallery.ejs %>
- <% include ../partials/editor/modals/uploadPhoto.ejs %>
- <% include ../partials/editor/modals/deletePhotos.ejs %>
+
+ <% include ../partials/editor/modals/newGallery.ejs %>
+ <%- include('../partials/editor/modals/uploadPhoto.ejs', {hideAlbum: true}) %>
+ <% include ../partials/editor/modals/deletePhotos.ejs %>
\ No newline at end of file
diff --git a/src/views/editor/index.ejs b/src/views/editor/index.ejs
index 96d5579..6ddddee 100644
--- a/src/views/editor/index.ejs
+++ b/src/views/editor/index.ejs
@@ -1,5 +1,7 @@
-
+ <%- include('../partials/notification.ejs', {parameter: "titlePhoto"})%>
+
+
')">
@@ -11,14 +13,13 @@
+
+
+ <%- include('../partials/notification.ejs', {parameter: "aboutUs"})%>
+
Adam a Eva
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis
- nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
- reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim
- id est laborum.
+ <%- aboutUs %>
<% include ../partials/editor/modals/setAboutUs.ejs %>
@@ -26,18 +27,21 @@
+ <%- include('../partials/notification.ejs', {parameter: "weddingInfo"})%>
+
+
Kdy?
-
1. 9. 2019
+
<%= wedding.when %>
Kde?
-
Zámek Litomyšl
+
<%= wedding.where %>
V kolik?
-
11:00
+
<%= wedding.at %>
<% include ../partials/editor/modals/mainInfo.ejs %>
@@ -46,20 +50,24 @@
- Svatební program
+
+ <%- include('../partials/notification.ejs', {parameter: "program"})%>
+
+
+ Svatební program
- <% for(var i = 0; i < 5; i++) { %>
+ <% for(var i in program) { %>
-
+
-
11:00
-
<%= i %> Hostina
+
<%= program[i]['time']%>
+
<%= program[i]['title']%>
@@ -74,7 +82,7 @@
- Fotogalerie
+ Fotogalerie
@@ -101,9 +109,13 @@
Napište nám
-
+ <%- include('../partials/notification.ejs', {parameter: "contactForm", notificationText: "Zpráva úspěšně odeslána. Ozveme se co nejdříve."})%>
-
+
+
+
+
+
diff --git a/src/views/editor/story.ejs b/src/views/editor/story.ejs
index a3da9db..20ed93b 100644
--- a/src/views/editor/story.ejs
+++ b/src/views/editor/story.ejs
@@ -1,12 +1,13 @@
+
+
- Náš příběh
+
+ <%- include('../partials/notification.ejs', {parameter: "text"})%>
+
+
+ Náš příběh
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis
- nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
- reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim
- id est laborum.
+ <%- ourStory %>
<% include ../partials/editor/modals/ourStory.ejs %>
diff --git a/src/views/partials/editor/modals/mainInfo.ejs b/src/views/partials/editor/modals/mainInfo.ejs
index f8819a8..f8c9766 100644
--- a/src/views/partials/editor/modals/mainInfo.ejs
+++ b/src/views/partials/editor/modals/mainInfo.ejs
@@ -12,8 +12,10 @@
×
+
+
<% include ../../weddingInfo.ejs %>
@@ -23,9 +25,10 @@
+
diff --git a/src/views/partials/editor/modals/newGallery.ejs b/src/views/partials/editor/modals/newGallery.ejs
index e68a4b8..c1ae1c8 100644
--- a/src/views/partials/editor/modals/newGallery.ejs
+++ b/src/views/partials/editor/modals/newGallery.ejs
@@ -1,26 +1,40 @@
-
-
-
-
-
+
+
+
+
+
- Název alba
- Poznámka
-
-
-
-
-
-
+
+
+
+ Název alba
+
+
+
+
+ Vyberte fotografie
+
+
+
+
+ Poznámka
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/partials/editor/modals/ourStory.ejs b/src/views/partials/editor/modals/ourStory.ejs
index d4b54d3..660dab7 100644
--- a/src/views/partials/editor/modals/ourStory.ejs
+++ b/src/views/partials/editor/modals/ourStory.ejs
@@ -1,27 +1,32 @@
-
-
-
-
-
-
+
+
+
+
+ <%= ourStory %>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/partials/editor/modals/program.ejs b/src/views/partials/editor/modals/program.ejs
index 0a21b12..4ea1f62 100644
--- a/src/views/partials/editor/modals/program.ejs
+++ b/src/views/partials/editor/modals/program.ejs
@@ -1,82 +1,105 @@
-
-
-
-
+
+
+
-
-
-
+ <% var icons = ['gear', 'home', 'automobile', 'bell', 'bullhorn', 'child', 'coffee', 'diamond', 'film', 'camera',
+ 'camera-retro', 'fire', 'birthday-cake', 'heart', 'image', 'map', 'map-marker', 'map-o',
+ 'motorcycle', 'plane', 'road', 'cutlery', 'paint-brush', 'gift', 'glass', 'star', 'star-o'
+ ] %>
-
-
-
-
\ No newline at end of file
+ <% for (var i in icons) { %>
+
+
+
+ <% } %>
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/partials/editor/modals/setAboutUs.ejs b/src/views/partials/editor/modals/setAboutUs.ejs
index b50d17f..abbd672 100644
--- a/src/views/partials/editor/modals/setAboutUs.ejs
+++ b/src/views/partials/editor/modals/setAboutUs.ejs
@@ -13,15 +13,21 @@
×
+
+
+
+
-
+ <%= aboutUs %>
+
+
+
\ No newline at end of file
diff --git a/src/views/partials/editor/modals/setTitlePhoto.ejs b/src/views/partials/editor/modals/setTitlePhoto.ejs
index 2dee141..8cd1791 100644
--- a/src/views/partials/editor/modals/setTitlePhoto.ejs
+++ b/src/views/partials/editor/modals/setTitlePhoto.ejs
@@ -8,6 +8,10 @@
×
+
+
+
+
Vybrat obrázek
@@ -23,8 +27,9 @@
+
\ No newline at end of file
diff --git a/src/views/partials/editor/modals/uploadPhoto.ejs b/src/views/partials/editor/modals/uploadPhoto.ejs
index fe7f94a..cc9144a 100644
--- a/src/views/partials/editor/modals/uploadPhoto.ejs
+++ b/src/views/partials/editor/modals/uploadPhoto.ejs
@@ -1,54 +1,69 @@
-
-
\ No newline at end of file
diff --git a/src/views/partials/notification.ejs b/src/views/partials/notification.ejs
new file mode 100644
index 0000000..8faceeb
--- /dev/null
+++ b/src/views/partials/notification.ejs
@@ -0,0 +1,14 @@
+<% if (typeof queryString.ok !== "undefined" && queryString.ok == parameter) { %>
+
+
+
+ <% if (typeof notificationText === 'undefined') { %>
+
+ Úspěšně uloženo
+
+ <% } else { %>
+ <%= notificationText %>
+ <% } %>
+
+
+<% } %>
diff --git a/src/views/partials/weddingInfo.ejs b/src/views/partials/weddingInfo.ejs
index 96f04ef..e037a71 100644
--- a/src/views/partials/weddingInfo.ejs
+++ b/src/views/partials/weddingInfo.ejs
@@ -1,17 +1,17 @@