wip
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
soraefir
2025-03-13 01:01:17 +01:00
parent 43dfc87546
commit a2303c215e
13 changed files with 152 additions and 58 deletions

View File

@@ -12,26 +12,61 @@
.spinner(v-if="search_drawer.query.load")
div(v-if="search_drawer.is_query()")
div(v-if="['flight'].includes(search_drawer.query.type)")
div(v-if="search_drawer.is_flight()")
template(v-for="(item, idx) in search_drawer.query.res" )
.query-result.col-12.bg-white.text-dark(
:key="'q'+idx"
@mouseover="drawer_hover_item(item)"
@mouseleave="drawer_hover_item()"
@click="drawer_click_item(item)" )
@mouseover="search_drawer.hover_item(item)"
@mouseleave="search_drawer.hover_item()"
@click="search_drawer.click_item(journey,item)" )
div( v-html="generate_icon('plane', 'var(--dark)')")
.col-10()
| {{ item.from }} => {{item.to}}
.bg-dark.divider(
:key="'qdiv'+idx" style="height:1px" )
.query-result.col-12.bg-white.text-dark(
v-if="!search_drawer.query.addmarker"
@click="search_drawer.query.addmarker=true" )
div( v-html="generate_icon('star', 'var(--dark)')")
.col-10()
| Start custom
.query-result.col-12.bg-white.text-dark(
v-else
@click="search_drawer.click_item(journey)" )
div( v-html="generate_icon('star', 'var(--dark)')")
.col-10()
| Finish
div(v-else-if="search_drawer.is_multipath()")
template(v-for="(item, idx) in search_drawer.query.res" )
.query-result.col-12.bg-white.text-dark(
:key="'q'+idx"
@mouseover="search_drawer.hover_item(item)"
@mouseleave="search_drawer.hover_item()"
@click="search_drawer.click_item(journey,item)" )
div( v-html="generate_icon('plane', 'var(--dark)')")
.col-10()
| {{ item.from }} => {{item.to}}
.bg-dark.divider(
:key="'qdiv'+idx" style="height:1px" )
.query-result.col-12.bg-white.text-dark(
v-if="!search_drawer.query.addmarker"
@click="search_drawer.query.addmarker=true" )
div( v-html="generate_icon('star', 'var(--dark)')")
.col-10()
| Start custom
.query-result.col-12.bg-white.text-dark(
v-else
@click="search_drawer.click_item(journey)" )
div( v-html="generate_icon('star', 'var(--dark)')")
.col-10()
| Finish
div(v-else-if="true")
template(v-for="(item, idx) in search_drawer.query.res" )
.query-result.col-12.bg-white.text-dark(
:key="'q'+idx"
@mouseover="drawer_hover_item(item)"
@mouseleave="drawer_hover_item()"
@click="drawer_click_item(item)" )
@mouseover="search_drawer.hover_item(item)"
@mouseleave="search_drawer.hover_item()"
@click="search_drawer.click_item(journey,item)" )
div( v-html="generate_icon(item, 'var(--dark)')")
.col-10()
| {{ item.name }}

View File

@@ -4,6 +4,10 @@ l-map(
@click="onMapClick"
style="height:100%"
no-blocking-animations=true
:max-bounds="[[-90, -180],[90, 180]]"
:max-bounds-viscosity="1.0"
:world-copy-jump="true"
:no-wrap="true"
:style="search_drawer.query.addmarker?'cursor:crosshair':''"
ref="map"
)

View File

@@ -31,7 +31,7 @@ mixin map_marker(place, color_sel_c, color_sel_o, color_else)
v-html="generate_icon(((place.step==journey.sel_day)?'calendar-xmark':'calendar-plus'), 'NA')"
)
a.text-gray(
v-on:click.prevent="place_delete(journey,\""+place+"\",index)"
v-on:click.prevent="journey.del_place(\""+place+"\",index)"
v-html="generate_icon('trash', 'NA')"
)
span.row.text-small.text-dark(v-else) {{ place.notes }}

View File

@@ -1,5 +1,5 @@
.map-menu.map-menu-top
div(v-if="search_drawer.is_query()" @click="drawer_click_item()" )
div(v-if="search_drawer.is_query()" @click="search_drawer.click_item(journey)" )
.map-menu-item(v-html="generate_icon('close')")
div(v-if="!search_drawer.is_query()" @click="search_drawer.enable('hotel')")
.map-menu-item( v-html="generate_icon('bed')")
@@ -8,14 +8,14 @@
div(v-if="!search_drawer.is_query()" @click="search_drawer.enable('place')")
.map-menu-item( v-html="generate_icon('star')")
.map-menu-sub(v-if="!search_drawer.is_query()" @mouseenter="search_drawer.query.sub='travel'" @mouseleave="search_drawer.query.sub=''" )
.map-menu-item(v-html="generate_icon('route')")
.map-menu-item(@click="search_drawer.enable('other')" v-html="generate_icon('route')")
.map-menu-item(v-if="search_drawer.is_sub_travel()" @click="search_drawer.enable('flight')" v-html="generate_icon('plane')")
.map-menu-item(v-if="search_drawer.is_sub_travel()" @click="search_drawer.enable('train')" v-html="generate_icon('train')")
.map-menu-item(v-if="search_drawer.is_sub_travel()" @click="search_drawer.enable('car')" v-html="generate_icon('car')")
.map-menu-item(v-if="search_drawer.is_sub_travel()" @click="search_drawer.enable('other')" v-html="generate_icon('person-biking')")
.map-menu-item(v-if="search_drawer.is_sub_travel()" @click="search_drawer.enable('bike')" v-html="generate_icon('person-biking')")
.map-menu.map-menu-center
div(v-if="search_drawer.is_note()" @click="drawer_click_item()" )
div(v-if="search_drawer.is_note()" @click="search_drawer.click_item(journey)" )
.map-menu-item(v-html="generate_icon('close')")
div(v-if="!search_drawer.is_note()" @click="search_drawer.enable('notes')")
.map-menu-item( v-html="generate_icon('pencil')")

View File

@@ -3,7 +3,7 @@ mixin flight_popup()
:options="{maxWidth:400, minWidth:300}"
)
h1.row.text-medium.text-center.text-uppercase {{ travel.id }}
span.row.text-small.text-gray {{ travel.from }} - {{travel.to}}
span.row.text-small.text-gray {{ travel.title? travel.title:`${travel.from||'?'}-${travel.to||'?'}` }}
span(v-if="journey.edit")
.row.input(style="margin-bottom:0")
textarea.col-12.col-sm-12.text-small(
@@ -14,7 +14,7 @@ mixin flight_popup()
span(v-if="journey.edit")
.leaflet-popup-button-group()
a.text-gray(
v-on:click.prevent="place_delete(journey,'flight',idx)"
v-on:click.prevent="journey.del_place('flight',idx)"
v-html="generate_icon('trash', 'NA')"
)
@@ -24,9 +24,10 @@ div(v-for= "(travel, idx) in journey.leg_get().travel")
l-marker(
v-for="(place, index) in travel.path"
:key="'plane'+index"
:key="'trvl'+index"
:lat-lng="place"
style="margin-left:0;"
)
l-icon(v-html="generate_icon('plane', travel.color || 'gray', generate_rotation(index,travel.path), 'travel-path-icon')"
l-icon(v-html="generate_icon(travel, travel.color || 'gray', generate_rotation(index,travel.path)+'margin:-6px -6px; position:absolute', 'travel-path-icon')"
)
+flight_popup()