From 0c64215dd1b5b4e688ca59f40e8d619a6e6f7eec Mon Sep 17 00:00:00 2001 From: soraefir Date: Wed, 19 Jul 2023 13:59:52 +0200 Subject: [PATCH] Prettier Pug --- public/js/main.js | 17 ++--- server.js | 2 +- template/home.pug | 44 +++++++---- template/journey.pug | 2 +- template/module/foot.pug | 35 +++++---- template/module/head.pug | 33 +++++--- template/module/importexport.pug | 10 ++- template/module/journey_sec.pug | 26 +++++-- template/module/journey_step.pug | 92 +++++++++++++++++++---- template/module/map.pug | 124 +++++++++++++++++++++---------- template/module/nav.pug | 34 +++++---- template/module/nav_pub.pug | 18 +++-- template/module/short_sec.pug | 46 +++++++++--- template/module/view_step.pug | 20 ++--- template/short.pug | 5 +- template/view.pug | 4 +- 16 files changed, 350 insertions(+), 162 deletions(-) diff --git a/public/js/main.js b/public/js/main.js index a6c4678..2a2c1ea 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -27,7 +27,7 @@ Date.prototype.toJSONLocal = (function () { function toEncoded(string) { const codeUnits = Uint16Array.from( { length: string.length }, - (element, index) => string.charCodeAt(index), + (element, index) => string.charCodeAt(index) ); const charCodes = new Uint8Array(codeUnits.buffer); @@ -41,7 +41,7 @@ function toEncoded(string) { function toDecoded(string) { let binary = window.atob(string); const bytes = Uint8Array.from({ length: binary.length }, (element, index) => - binary.charCodeAt(index), + binary.charCodeAt(index) ); const charCodes = new Uint16Array(bytes.buffer); @@ -62,7 +62,7 @@ const query_flight = (q) => const is_restauration_type = (e) => ["restaurant", "cafe", "pub", "bar", "fast_food", "food_court"].indexOf( - e.type, + e.type ) != -1; const is_attraction_type = (e) => @@ -244,7 +244,7 @@ const app = new Vue({ if (!this.journey_data.main[this.journey_step_data.section].dateRange) return "?"; var date = new Date( - this.journey_data.main[this.journey_step_data.section].dateRange[0], + this.journey_data.main[this.journey_step_data.section].dateRange[0] ); date.setDate(date.getDate() + this.journey_step_data.day - 1); return this.format_date(date); @@ -289,10 +289,9 @@ const app = new Vue({ if (this.journey_data.main.length == 0) return ""; try { return `${this.format_date( - this.journey_data.main[0].dateRange[0], + this.journey_data.main[0].dateRange[0] )} - ${this.format_date( - this.journey_data.main[this.journey_data.main.length - 1] - .dateRange[1], + this.journey_data.main[this.journey_data.main.length - 1].dateRange[1] )}`; } catch { return "?"; @@ -405,7 +404,7 @@ const app = new Vue({ }, filter_selected: function (list, step) { return list.filter((e) => - step ? e.step == this.journey_step_data.day : e.step >= 0, + step ? e.step == this.journey_step_data.day : e.step >= 0 ); }, filter_unselected: function (list) { @@ -457,7 +456,7 @@ const app = new Vue({ this.querying.hotel = true; this.search_nominatim( q, - (r) => r.type == "hotel" || r.type == "hostel", + (r) => r.type == "hotel" || r.type == "hostel" ).then((r) => { this.querying.hotel = false; }); diff --git a/server.js b/server.js index 4ca1f6d..bffdc7c 100644 --- a/server.js +++ b/server.js @@ -13,7 +13,7 @@ fastify.register( }, (err) => { if (err) throw err; - }, + } ); fastify.register(require("@fastify/view"), { diff --git a/template/home.pug b/template/home.pug index 5eff9e7..41087ea 100644 --- a/template/home.pug +++ b/template/home.pug @@ -1,26 +1,32 @@ doctype html - include module/head.pug main#app .container section.mb-big .text-center - img.main-logo.mb-medium(src='/public/img/helcel.png' alt='Helcel logo') + img.main-logo.mb-medium( + src="/public/img/helcel.png", + alt="Helcel logo" + ) div h1.text-huge.text-withSubtitle Open Tourism Map h2.text-big.text-gray Collaborative Holiday Planner p#js-header-waypoint.m-none - a.button.button--primary.button--mobileFull(href='#go') Get started + a.button.button--primary.button--mobileFull(href="#go") Get started .bg-dark .container .row.text-center .col-12.col-sm-3 .section - img(src='/public/img/lightweight.png' alt='Lightweight' width='118') + img( + src="/public/img/lightweight.png", + alt="Lightweight", + width="118" + ) br h2.text-withSubtitle.text-big.text-white - | Lightweight + | Lightweight br span.text-medium.text-gray | Powered By @@ -28,7 +34,11 @@ main#app | Fastify & Sierra .col-12.col-sm-4 .section - img(src='/public/img/customizable.png' alt='Customizable' width='118') + img( + src="/public/img/customizable.png", + alt="Customizable", + width="118" + ) br h2.text-withSubtitle.text-big.text-white | Customizable @@ -40,20 +50,28 @@ main#app .col-12.col-sm-4 .section h2.text-withSubtitle.text-big.text-white - img(src='/public/img/opensource.png' alt='Open Source' width='118') + img( + src="/public/img/opensource.png", + alt="Open Source", + width="118" + ) br - | FOSS + | + | FOSS br span.text-medium.text-gray :-) #go.container-medium.section h2.text-big Your journey p - | Browse hotels, restaurants and attractions,.... + | Browse hotels, restaurants and attractions,.... br - | Select and plan the varying elements of your journey + | + | Select and plan the varying elements of your journey .aligner.aligner--contentEnd .input - input#journey_id(v-model='journey_id' placeholder='ID' type='text') - button.button.button--primary.button--mobileFull(v-on:click='start_journey') Start the journey + input#journey_id(v-model="journey_id", placeholder="ID", type="text") + button.button.button--primary.button--mobileFull( + v-on:click="start_journey" + ) Start the journey -include module/foot.pug \ No newline at end of file +include module/foot.pug diff --git a/template/journey.pug b/template/journey.pug index dd4d6fe..3d9a79c 100644 --- a/template/journey.pug +++ b/template/journey.pug @@ -7,4 +7,4 @@ main#app(v-cloak) include module/journey_sec.pug include module/journey_step.pug include module/importexport.pug -include module/foot.pug \ No newline at end of file +include module/foot.pug diff --git a/template/module/foot.pug b/template/module/foot.pug index 15baaba..b615ed7 100644 --- a/template/module/foot.pug +++ b/template/module/foot.pug @@ -1,26 +1,31 @@ -script(src='https://unpkg.com/vue@2/dist/vue.min.js') -script(src='https://unpkg.com/vue2-datepicker/index.min.js') -script(src='https://unpkg.com/leaflet/dist/leaflet.js') -script(src='https://unpkg.com/vue2-leaflet') -script(src='https://unpkg.com/leaflet.awesome-markers/dist/leaflet.awesome-markers.min.js') -script(src='https://unpkg.com/axios/dist/axios.min.js') -script(src='https://unpkg.com/lodash') -script(src='https://unpkg.com/vue-multiselect') -script(src='https://unpkg.com/vue-textarea-autosize/dist/vue-textarea-autosize.umd.min.js') +script(src="https://unpkg.com/vue@2/dist/vue.min.js") +script(src="https://unpkg.com/vue2-datepicker/index.min.js") +script(src="https://unpkg.com/leaflet/dist/leaflet.js") +script(src="https://unpkg.com/vue2-leaflet") +script( + src="https://unpkg.com/leaflet.awesome-markers/dist/leaflet.awesome-markers.min.js" +) +script(src="https://unpkg.com/axios/dist/axios.min.js") +script(src="https://unpkg.com/lodash") +script(src="https://unpkg.com/vue-multiselect") +script( + src="https://unpkg.com/vue-textarea-autosize/dist/vue-textarea-autosize.umd.min.js" +) -script(src='https://unpkg.com/sortablejs/Sortable.min.js') -script(src='https://unpkg.com/vuedraggable/dist/vuedraggable.umd.min.js') +script(src="https://unpkg.com/sortablejs/Sortable.min.js") +script(src="https://unpkg.com/vuedraggable/dist/vuedraggable.umd.min.js") -script(src='/public/js/main.js' type='text/javascript' charset='utf-8') +script(src="/public/js/main.js", type="text/javascript", charset="utf-8") footer.bg-dark .container .section.text-center.text-small p.text-white - img(src='/public/img/helcel.png' alt='helcel logo' width='100') + img(src="/public/img/helcel.png", alt="helcel logo", width="100") br br - | Built with   ❤   by Helcel + | + | Built with   ❤   by Helcel br span.text-small.text-gray v0.0.1 p.text-gray - a(href='https://git.helcel.net') Helcel Git + a(href="https://git.helcel.net") Helcel Git diff --git a/template/module/head.pug b/template/module/head.pug index 75c2f9a..7d06ad4 100644 --- a/template/module/head.pug +++ b/template/module/head.pug @@ -1,13 +1,26 @@ head title Helcel-OTM - link(rel='shortcut icon' href='/public/img/helcel.ico' type='image/x-icon') - meta(charset='utf-8') - meta(name='viewport' content='width=device-width, initial-scale=1') - link(rel='stylesheet' href='https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400,700,300' type='text/css') - link(rel='stylesheet' href='/public/css/index.css') + link(rel="shortcut icon", href="/public/img/helcel.ico", type="image/x-icon") + meta(charset="utf-8") + meta(name="viewport", content="width=device-width, initial-scale=1") + link( + rel="stylesheet", + href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400,700,300", + type="text/css" + ) + link(rel="stylesheet", href="/public/css/index.css") - link(rel='stylesheet' href='https://unpkg.com/vue2-datepicker/index.css') - link(rel='stylesheet' href='https://unpkg.com/vue-multiselect/dist/vue-multiselect.min.css') - link(rel='stylesheet' href='https://unpkg.com/leaflet/dist/leaflet.css') - link(rel='stylesheet' href='https://unpkg.com/leaflet.awesome-markers/dist/leaflet.awesome-markers.css') - link(rel='stylesheet' href='https://unpkg.com/@fortawesome/fontawesome-free/css/all.min.css') \ No newline at end of file + link(rel="stylesheet", href="https://unpkg.com/vue2-datepicker/index.css") + link( + rel="stylesheet", + href="https://unpkg.com/vue-multiselect/dist/vue-multiselect.min.css" + ) + link(rel="stylesheet", href="https://unpkg.com/leaflet/dist/leaflet.css") + link( + rel="stylesheet", + href="https://unpkg.com/leaflet.awesome-markers/dist/leaflet.awesome-markers.css" + ) + link( + rel="stylesheet", + href="https://unpkg.com/@fortawesome/fontawesome-free/css/all.min.css" + ) diff --git a/template/module/importexport.pug b/template/module/importexport.pug index 4ad44a4..b66f61e 100644 --- a/template/module/importexport.pug +++ b/template/module/importexport.pug @@ -2,8 +2,12 @@ div .container-medium.section .aligner .input.col-sm-4 - input(v-model='impexp' type='text') + input(v-model="impexp", type="text") .col-sm-2 - button.button.button--primary.button--mobileFull(v-on:click='import_data') Import + button.button.button--primary.button--mobileFull( + v-on:click="import_data" + ) Import .col-sm-2 - button.button.button--primary.button--mobileFull(v-on:click='export_data') Export + button.button.button--primary.button--mobileFull( + v-on:click="export_data" + ) Export diff --git a/template/module/journey_sec.pug b/template/module/journey_sec.pug index ab94603..4b5640e 100644 --- a/template/module/journey_sec.pug +++ b/template/module/journey_sec.pug @@ -1,8 +1,20 @@ -draggable(tag='div' :list='journey_data.main' class='list-group bg-dark' handle='.handle') - div.list-group-item.handle(v-for='(element, idx) in journey_data.main' :key='idx' @click='sel_section(idx)' :class='(journey_step_data.section==idx)?"bg-primary":"bg-white"') - div.text {{element.title}} - i.fa.fa-times.close.fright(style='top:2px;right:2px;position:absolute;' @click='rm_section(idx)') +draggable.list-group.bg-dark( + tag="div", + :list="journey_data.main", + handle=".handle" +) + .list-group-item.handle( + v-for="(element, idx) in journey_data.main", + :key="idx", + @click="sel_section(idx)", + :class="journey_step_data.section == idx ? 'bg-primary' : 'bg-white'" + ) + .text {{ element.title }} + i.fa.fa-times.close.fright( + style="top: 2px; right: 2px; position: absolute", + @click="rm_section(idx)" + ) - div.list-group-item.bg-white(@click='add_section()') - div.text Add Section - i.fa.fa-plus.add(style='top:12px;right:5px;position:absolute;') \ No newline at end of file + .list-group-item.bg-white(@click="add_section()") + .text Add Section + i.fa.fa-plus.add(style="top: 12px; right: 5px; position: absolute") diff --git a/template/module/journey_step.pug b/template/module/journey_step.pug index 4e8929f..10281da 100644 --- a/template/module/journey_step.pug +++ b/template/module/journey_step.pug @@ -1,40 +1,102 @@ -- var map_section = 'journey_data.main[idx]' -div(v-for='(e, idx) in journey_data.main' :key='idx') - .bg-dark.text-white(v-if="journey_step_data.section==idx") +div(v-for="(e, idx) in journey_data.main", :key="idx") + .bg-dark.text-white(v-if="journey_step_data.section == idx") .container.section .row.text-center .input.col-sm-2 - input(v-model=map_section+'.title') + input(v-model="journey_data.main[idx].title") .input.col-sm-2 - input(placeholder='Day title' v-model=map_section+'.step_title[journey_step_data.day]') + input( + placeholder="Day title", + v-model="journey_data.main[idx].step_title[journey_step_data.day]" + ) .col-sm-3 .right.input.col-sm-2 - input(disabled='' :value='active_date() + " (" + journey_step_data.day+")"') + input( + disabled="", + :value="active_date() + ' (' + journey_step_data.day + ')'" + ) .row .col-9.col-ssm-12 include map.pug - +map(map_section) - .col-3.col-ssm-12 .row.text-center div - label Date Range ({{step_len(idx)}}) + label Date Range ({{ step_len(idx) }}) .input.text-dark - date-picker(:lang='lang' v-model=map_section+'.dateRange' range='' format='ddd D MMM' placeholder='Date Range' v-on:change='update_date(idx)') + date-picker( + :lang="lang", + v-model="journey_data.main[idx].dateRange", + range="", + format="ddd D MMM", + placeholder="Date Range", + v-on:change="update_date(idx)" + ) .row.text-center div label Hotel - multiselect#ajax(v-model=map_section+'.hotel' label='sname' track-by='place_id' placeholder='Type to search' open-direction='bottom' :options='query.nominatim' :searchable='true' :loading='querying.hotel' :internal-search='false' :clear-on-select='false' :options-limit='50' :limit='1' :max-height='600' @search-change='debounceSearch.hotel') + multiselect#ajax( + v-model="journey_data.main[idx].hotel", + label="sname", + track-by="place_id", + placeholder="Type to search", + open-direction="bottom", + :options="query.nominatim", + :searchable="true", + :loading="querying.hotel", + :internal-search="false", + :clear-on-select="false", + :options-limit="50", + :limit="1", + :max-height="600", + @search-change="debounceSearch.hotel" + ) .row.text-center div label Restoration - multiselect#ajax(v-model=map_section+'.places.restaurants' label='sname' track-by='place_id' placeholder='Type to search' open-direction='bottom' :multiple='true' :options='query.nominatim' :searchable='true' :loading='querying.food' :internal-search='false' :clear-on-select='false' :options-limit='50' :limit='10' :max-height='600' @search-change='debounceSearch.restaurants') + multiselect#ajax( + v-model="journey_data.main[idx].places.restaurants", + label="sname", + track-by="place_id", + placeholder="Type to search", + open-direction="bottom", + :multiple="true", + :options="query.nominatim", + :searchable="true", + :loading="querying.food", + :internal-search="false", + :clear-on-select="false", + :options-limit="50", + :limit="10", + :max-height="600", + @search-change="debounceSearch.restaurants" + ) .row.text-center div label Activities - multiselect#ajax(v-model=map_section+'.places.activities' label='sname' track-by='place_id' placeholder='Type to search' open-direction='bottom' :multiple='true' :options='query.nominatim' :searchable='true' :loading='querying.place' :internal-search='false' :clear-on-select='false' :options-limit='50' :limit='10' :max-height='600' @search-change='debounceSearch.places') + multiselect#ajax( + v-model="journey_data.main[idx].places.activities", + label="sname", + track-by="place_id", + placeholder="Type to search", + open-direction="bottom", + :multiple="true", + :options="query.nominatim", + :searchable="true", + :loading="querying.place", + :internal-search="false", + :clear-on-select="false", + :options-limit="50", + :limit="10", + :max-height="600", + @search-change="debounceSearch.places" + ) .row.text-center div label Notes - .input.text-dark(style='width:100%;') - textarea-autosize.text-small(v-model=map_section+'.notes' placeholder='Notes' :min-height='30' :max-height='350') + .input.text-dark(style="width: 100%") + textarea-autosize.text-small( + v-model="journey_data.main[idx].notes", + placeholder="Notes", + :min-height="30", + :max-height="350" + ) diff --git a/template/module/map.pug b/template/module/map.pug index 5a32b85..3f642cc 100644 --- a/template/module/map.pug +++ b/template/module/map.pug @@ -1,42 +1,84 @@ -mixin map(section_str) - l-map( - :zoom.sync=section_str+'.map.zoom' - :center.sync=section_str+'.map.center' style='padding-top: 100%;') - l-tile-layer(url='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' attribution='© OpenStreetMap contributors') - l-control-scale(position='topright' :imperial='false' :metric='true') - l-marker(v-if=section_str+'.hotel && '+section_str+'.hotel.icon' :lat-lng=section_str+'.hotel.latlon') - l-icon - div(v-html='generate_icon('+section_str+'.hotel,"darkblue")') - l-popup - h1.row.text-medium.text-center {{ #{section_str}.hotel.sname}} - span.row.text-small.text-gray {{ #{section_str}.hotel.display_name}} - span(v-if='journey_edit') - .row.input - textarea-autosize.col-12.col-sm-12.text-small(placeholder='Notes' v-model=section_str+'.hotel.notes' :min-height='30' :max-height='350') - span.row.text-small.text-white(v-else) {{ #{section_str}.hotel.notes}} - l-marker(v-for='place in '+section_str+'.places.activities' :lat-lng='place.latlon') - l-icon - div(v-if='place.step==journey_step_data.day' v-html='generate_icon(place)') - div(v-else-if='place.step==-1 || place.step==undefined' v-html='generate_icon(place, "gray")') - div(v-else-if='journey_edit' v-html='generate_icon(place, "lightgray")') - div(v-else) - l-popup - h1.row.text-medium.text-center {{place.sname}} - span.row.text-small.text-gray {{place.display_name}} - span(v-if='journey_edit') - .row.input - textarea-autosize.col-12.col-sm-12.text-small(placeholder='Notes' v-model='place.notes' :min-height='30' :max-height='350') - a.leaflet-popup-close-button.text-gray(style='right:0px;visibility:visible;' href='#rm' v-on:click.prevent='place.step=-1') - - a.leaflet-popup-close-button.text-gray(style='right:16px;visibility:visible;' href='#ad' v-on:click.prevent='place.step=journey_step_data.day') + - span.row.text-small.text-dark(v-else) {{place.notes}} +l-map( + :zoom.sync="journey_data.main[idx].map.zoom", + :center.sync="journey_data.main[idx].map.center", + style="padding-top: 100%" +) + l-tile-layer( + url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", + attribution="© OpenStreetMap contributors" + ) + l-control-scale(position="topright", :imperial="false", :metric="true") + l-marker( + v-if="journey_data.main[idx].hotel && journey_data.main[idx].hotel.icon", + :lat-lng="journey_data.main[idx].hotel.latlon" + ) + l-icon + div(v-html="generate_icon(journey_data.main[idx].hotel, 'darkblue')") + l-popup + h1.row.text-medium.text-center {{ journey_data.main[idx].hotel.sname }} + span.row.text-small.text-gray {{ journey_data.main[idx].hotel.display_name }} + span(v-if="journey_edit") + .row.input + textarea-autosize.col-12.col-sm-12.text-small( + placeholder="Notes", + v-model="journey_data.main[idx].hotel.notes", + :min-height="30", + :max-height="350" + ) + span.row.text-small.text-white(v-else) {{ journey_data.main[idx].hotel.notes }} + l-marker( + v-for="place in journey_data.main[idx].places.activities", + :lat-lng="place.latlon" + ) + l-icon + div( + v-if="place.step == journey_step_data.day", + v-html="generate_icon(place)" + ) + div( + v-else-if="place.step == -1 || place.step == undefined", + v-html="generate_icon(place, 'gray')" + ) + div(v-else-if="journey_edit", v-html="generate_icon(place, 'lightgray')") + div(v-else) + l-popup + h1.row.text-medium.text-center {{ place.sname }} + span.row.text-small.text-gray {{ place.display_name }} + span(v-if="journey_edit") + .row.input + textarea-autosize.col-12.col-sm-12.text-small( + placeholder="Notes", + v-model="place.notes", + :min-height="30", + :max-height="350" + ) + a.leaflet-popup-close-button.text-gray( + style="right: 0px; visibility: visible", + href="#rm", + v-on:click.prevent="place.step = -1" + ) - + a.leaflet-popup-close-button.text-gray( + style="right: 16px; visibility: visible", + href="#ad", + v-on:click.prevent="place.step = journey_step_data.day" + ) + + span.row.text-small.text-dark(v-else) {{ place.notes }} - l-marker(v-for='place in '+section_str+'.places.restaurants' :lat-lng.sync='place.latlon') - l-icon - div(v-html="generate_icon(place,'cadetblue')") - l-popup - h1.row.text-medium.text-center {{place.sname}} - span.row.text-small.text-gray {{place.display_name}} - span(v-if='journey_edit') - .row.input - textarea-autosize.col-12.col-sm-12.text-small(placeholder='Notes' v-model='place.notes' :min-height='30' :max-height='350') - span.row.text-small.text-dark(v-else) {{place.notes}} \ No newline at end of file + l-marker( + v-for="place in journey_data.main[idx].places.restaurants", + :lat-lng.sync="place.latlon" + ) + l-icon + div(v-html="generate_icon(place, 'cadetblue')") + l-popup + h1.row.text-medium.text-center {{ place.sname }} + span.row.text-small.text-gray {{ place.display_name }} + span(v-if="journey_edit") + .row.input + textarea-autosize.col-12.col-sm-12.text-small( + placeholder="Notes", + v-model="place.notes", + :min-height="30", + :max-height="350" + ) + span.row.text-small.text-dark(v-else) {{ place.notes }} diff --git a/template/module/nav.pug b/template/module/nav.pug index b346eae..c7173f1 100644 --- a/template/module/nav.pug +++ b/template/module/nav.pug @@ -1,30 +1,38 @@ header.header .header-inner.container - a.header-logo.text-dark(href='/') - img.header-logoImage(src='/public/img/helcel.png' alt='Helcel logo' width='40') + a.header-logo.text-dark(href="/") + img.header-logoImage( + src="/public/img/helcel.png", + alt="Helcel logo", + width="40" + ) span.hide-small OTM .input.input-invis.row - input.col-6.small(v-model='journey_data.name' type='text') - input.col-6.small(disabled type='text' :placeholder='total_date() + " (" + total_days() + ")"') - .row.header-nav.text-big(style='margin-bottom: 0;') + input.col-6.small(v-model="journey_data.name", type="text") + input.col-6.small( + disabled, + type="text", + :placeholder="total_date() + ' (' + total_days() + ')'" + ) + .row.header-nav.text-big(style="margin-bottom: 0") .col-sm-2 - a(:href="'/short/'+journey_id") + a(:href="'/short/' + journey_id") i.fas.fa-file-contract .col-sm-2 - a(:href="'/view/'+journey_id") + a(:href="'/view/' + journey_id") i.fas.fa-camera .col-sm-2 - a(href='#main' v-on:click.prevent='first_step') + a(href="#main", v-on:click.prevent="first_step") i.fas.fa-tools .col-sm-1.text-small - a(href='#prevprev' v-on:click.prevent='prevprev_step') + a(href="#prevprev", v-on:click.prevent="prevprev_step") i.fas.fa-angle-double-left .col-sm-1 - a(href='#prev' v-on:click.prevent='prev_step') + a(href="#prev", v-on:click.prevent="prev_step") i.fas.fa-angle-left .col-sm-1 - a(href='#next' v-on:click.prevent='next_step') + a(href="#next", v-on:click.prevent="next_step") i.fas.fa-angle-right .col-sm-1.text-small - a(href='#nextnext' v-on:click.prevent='nextnext_step') - i.fas.fa-angle-double-right \ No newline at end of file + a(href="#nextnext", v-on:click.prevent="nextnext_step") + i.fas.fa-angle-double-right diff --git a/template/module/nav_pub.pug b/template/module/nav_pub.pug index 2718ed3..49af761 100644 --- a/template/module/nav_pub.pug +++ b/template/module/nav_pub.pug @@ -1,14 +1,18 @@ header.header .header-inner.container - a.header-logo.text-dark(href='/') - img.header-logoImage(src='/public/img/helcel.png' alt='Helcel logo' width='40') + a.header-logo.text-dark(href="/") + img.header-logoImage( + src="/public/img/helcel.png", + alt="Helcel logo", + width="40" + ) span.hide-small HOTM .input.input-invis - input.small(:value='journey_data.name' type='text' disabled='') - .row.header-nav.text-big(style='margin-bottom: 0;') + input.small(:value="journey_data.name", type="text", disabled="") + .row.header-nav.text-big(style="margin-bottom: 0") .col-sm-3 - a(:href="'/short/'+journey_id") + a(:href="'/short/' + journey_id") i.fas.fa-file-contract .col-sm-3 - a(:href="'/view/'+journey_id") - i.fas.fa-camera \ No newline at end of file + a(:href="'/view/' + journey_id") + i.fas.fa-camera diff --git a/template/module/short_sec.pug b/template/module/short_sec.pug index 94c9ed5..3bfe2bf 100644 --- a/template/module/short_sec.pug +++ b/template/module/short_sec.pug @@ -1,21 +1,43 @@ .container.section .row.text-center .input.col-sm-2 - input(disabled='' :value='item.title') + input(disabled="", :value="item.title") .input.col-sm-4 - input(disabled='' placeholder='No Dates' :value="item.dateRange? (format_date(item.dateRange[0]) + ' - '+ format_date(item.dateRange[1])):''") + input( + disabled="", + placeholder="No Dates", + :value="item.dateRange ? format_date(item.dateRange[0]) + ' - ' + format_date(item.dateRange[1]) : ''" + ) .input.col-sm-2 - input(disabled='' placeholder='No Hotel' :value='item.hotel.sname') + input(disabled="", placeholder="No Hotel", :value="item.hotel.sname") .row.text-center - .input.col-sm-3(v-if='item.transit') - div(v-for='(item,idx) in item.transit') - input(disabled='' :value="item.map(v=>v.id).join(', ')") + .input.col-sm-3(v-if="item.transit") + div(v-for="(item, idx) in item.transit") + input(disabled="", :value="item.map((v) => v.id).join(', ')") .row.text-center - .input.col-sm-8(v-if='item.places && item.places.restaurants') - textarea-autosize.text-small(placeholder='No Restaurants' :value="item.places.restaurants.map(v=>v.sname+(v.notes?('('+v.notes+')'):'')).join(', ')" :min-height='30' :max-height='350' disabled='') + .input.col-sm-8(v-if="item.places && item.places.restaurants") + textarea-autosize.text-small( + placeholder="No Restaurants", + :value="item.places.restaurants.map((v) => v.sname + (v.notes ? '(' + v.notes + ')' : '')).join(', ')", + :min-height="30", + :max-height="350", + disabled="" + ) .row.text-center - .input.col-sm-8(v-if='item.places && item.places.activities') - textarea-autosize.text-small(placeholder='No Activities' :value="item.places.activities.map(v=>v.sname+(v.notes?('('+v.notes+')'):'')).join(', ')" :min-height='30' :max-height='350' disabled='') + .input.col-sm-8(v-if="item.places && item.places.activities") + textarea-autosize.text-small( + placeholder="No Activities", + :value="item.places.activities.map((v) => v.sname + (v.notes ? '(' + v.notes + ')' : '')).join(', ')", + :min-height="30", + :max-height="350", + disabled="" + ) .row.text-center - .input.col-sm-8(v-if='item.notes') - textarea-autosize.text-small(placeholder='No Notes' :value='item.notes' :min-height='30' :max-height='350' disabled='') \ No newline at end of file + .input.col-sm-8(v-if="item.notes") + textarea-autosize.text-small( + placeholder="No Notes", + :value="item.notes", + :min-height="30", + :max-height="350", + disabled="" + ) diff --git a/template/module/view_step.pug b/template/module/view_step.pug index 217963d..6540d3e 100644 --- a/template/module/view_step.pug +++ b/template/module/view_step.pug @@ -1,23 +1,19 @@ -- var map_section = 'journey_data.main[journey_step_data.section]' - -div(v-for='(e, idx) in journey_data.main' :key='idx') - .bg-dark.text-white(v-if="journey_step_data.section==idx") +div(v-for="(e, idx) in journey_data.main", :key="idx") + .bg-dark.text-white(v-if="journey_step_data.section == idx") .container.section - .aligner.text-center.text-white.text-huge(style='margin-bottom:5px') + .aligner.text-center.text-white.text-huge(style="margin-bottom: 5px") .aligner--itemTop.fleft - a(href='#prev' v-on:click.prevent='prev_step') + a(href="#prev", v-on:click.prevent="prev_step") i.fas.fa-angle-left span.container - div - | {{ #{map_section}.title + ': Day ' + journey_step_data.day}} - .text-big.text-gray {{ #{map_section}.step_title[journey_step_data.day] }} + span.small {{ journey_data.main[idx].title }} {{ journey_step_data.day }} + .text-big.text-gray {{ journey_data.main[idx].step_title[journey_step_data.day] }} .aligner--itemEnd.fright - a(href='#next' v-on:click.prevent='next_step') + a(href="#next", v-on:click.prevent="next_step") i.fas.fa-angle-right .row .col-12.col-sm-12 include map.pug - +map(map_section) .row .col-12.col-sm-12 - .container \ No newline at end of file + .container diff --git a/template/short.pug b/template/short.pug index 0f47e1f..e06e6cb 100644 --- a/template/short.pug +++ b/template/short.pug @@ -2,6 +2,9 @@ doctype html include module/head.pug main#app(v-cloak) include module/nav_pub.pug - div(v-for='(item,idx) in journey_data.main' :class="idx%2===0 ? 'bg-dark text-white' : ''") + div( + v-for="(item, idx) in journey_data.main", + :class="idx % 2 === 0 ? 'bg-dark text-white' : ''" + ) include module/short_sec.pug include module/foot.pug diff --git a/template/view.pug b/template/view.pug index becdbb0..a80f3a6 100644 --- a/template/view.pug +++ b/template/view.pug @@ -1,6 +1,6 @@ doctype html include module/head.pug main#app(v-cloak) - div(v-if='journey_data.main[journey_step_data.section] != undefined') + div(v-if="journey_data.main[journey_step_data.section] != undefined") include module/view_step.pug -include module/foot.pug \ No newline at end of file +include module/foot.pug