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 @@
-
- -
+
+ +
- - - - - - - - - + <% if (typeof invitations != 'undefined') { %> +
JménoPočet osobPřijde?Datum reakce
+ + + + + + + + - - - - - - + <% invitations.forEach(function (invitation) { %> - -
JménoPočet osobPřijde?Datum reakce
+ <% if (invitation.will_come !== null) { %> -
- + -
+ +
+
-
-
-

- Poznámky

-
-
+
+
+

+ Poznámky

+
+
+
+ +
+ + +
+
- +
+ +
-
- - -
+ todo -
- -
+
+
- todo +
+
+

+ Úkoly

+
+
+
    -
-
+ <% var cnt = 0 %> + <% tasks.forEach(function (task) { %> +
  • + > + <%= task.name %> +
  • + <% }) %> + -
    -
    -

    - Úkoly

    -
    -
    +
    -
      -
    • - - Ukol 1 -
    • -
    • - Ukol 1 -
    • -
    • - - Ukol 1 -
    • -
    + +
    + - -
    + + +
    +
    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

    - + + + + <% 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 %> + + - + <% 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"})%> + +
    + + + <%- 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

    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 @@ - \ 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 @@ \ 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 @@ - +
    \ 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 @@
    +
    + + + + +
    +
    \ 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 @@ +
    + + +
    \ 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 @@