Compare commits

..

7 Commits

Author SHA1 Message Date
Francesco Albano
a2f430a2bf Add proxy configuration for API requests to local server 2025-11-12 22:40:12 +08:00
itskovacs
5700ae5853 🔖 Version bump 2025-11-11 19:31:48 +01:00
itskovacs
d364052b4d 💄 On attachment delete: update plans 2025-11-11 19:31:19 +01:00
itskovacs
f166ccc795 📝 Update docs with new indications and tips 2025-11-11 19:30:55 +01:00
itskovacs
92a97edd3c 🐛 Fix mixed UTC logic 2025-11-11 19:29:11 +01:00
itskovacs
d6a5d65d88 🎨 prettier 2025-11-11 19:28:49 +01:00
itskovacs
e8c9fe86f2 :fix: Delete created files on failed import 2025-11-11 18:23:06 +01:00
94 changed files with 420 additions and 385 deletions

1
backend/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/.venv/

View File

@ -1 +1 @@
__version__ = "1.27.1"
__version__ = "1.28.0"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -19,7 +19,7 @@ from ..models.models import (Backup, BackupStatus, Category, CategoryRead,
TripRead, User, UserRead)
from .date import dt_utc, iso_to_dt
from .utils import (assets_folder_path, attachments_trip_folder_path,
b64img_decode, save_image_to_file)
b64img_decode, remove_image, save_image_to_file)
def process_backup_export(session: SessionDep, backup_id: int):
@ -147,79 +147,47 @@ async def process_backup_import(
except Exception:
raise HTTPException(status_code=400, detail="Invalid file")
try:
with ZipFile(io.BytesIO(zip_content), "r") as zipf:
zip_filenames = zipf.namelist()
if "data.json" not in zip_filenames:
raise HTTPException(status_code=400, detail="Invalid file")
with ZipFile(io.BytesIO(zip_content), "r") as zipf:
zip_filenames = zipf.namelist()
if "data.json" not in zip_filenames:
raise HTTPException(status_code=400, detail="Invalid file")
try:
data = json.loads(zipf.read("data.json"))
except Exception:
raise HTTPException(status_code=400, detail="Invalid file")
try:
data = json.loads(zipf.read("data.json"))
except Exception:
raise HTTPException(status_code=400, detail="Invalid file")
image_files = {
path.split("/")[-1]: path
for path in zip_filenames
if path.startswith("images/") and not path.endswith("/")
image_files = {
path.split("/")[-1]: path
for path in zip_filenames
if path.startswith("images/") and not path.endswith("/")
}
attachment_files = {
path.split("/")[-1]: path
for path in zip_filenames
if path.startswith("attachments/") and not path.endswith("/")
}
error_details = "Bad request"
created_image_filenames = []
created_attachment_trips = []
try:
existing_categories = {
category.name: category
for category in session.exec(select(Category).where(Category.user == current_user)).all()
}
attachment_files = {
path.split("/")[-1]: path
for path in zip_filenames
if path.startswith("attachments/") and not path.endswith("/")
}
categories_to_add = []
for category in data.get("categories", []):
category_name = category.get("name")
category_exists = existing_categories.get(category_name)
try:
existing_categories = {
category.name: category
for category in session.exec(select(Category).where(Category.user == current_user)).all()
}
if category_exists:
if category.get("color"):
category_exists.color = category["color"]
categories_to_add = []
for category in data.get("categories", []):
category_name = category.get("name")
category_exists = existing_categories.get(category_name)
if category_exists:
if category.get("color"):
category_exists.color = category["color"]
if category.get("image_id") and category.get("image_id") != category_exists.image_id:
category_filename = category.get("image").split("/")[-1]
if category_filename and category_filename in image_files:
try:
image_bytes = zipf.read(image_files[category_filename])
filename = save_image_to_file(image_bytes, settings.PLACE_IMAGE_SIZE)
if filename:
image = Image(filename=filename, user=current_user)
session.add(image)
session.flush()
session.refresh(image)
if category_exists.image_id:
old_image = session.get(Image, category_exists.image_id)
if old_image:
session.delete(old_image)
category_exists.image_id = None
session.flush()
category_exists.image_id = image.id
except Exception:
pass
session.add(category_exists)
existing_categories[category_name] = category_exists
continue
new_category = {
key: category[key]
for key in category.keys()
if key not in {"id", "image", "image_id"}
}
new_category["user"] = current_user
if category.get("image_id"):
if category.get("image_id") and category.get("image_id") != category_exists.image_id:
category_filename = category.get("image").split("/")[-1]
if category_filename and category_filename in image_files:
try:
@ -230,266 +198,317 @@ async def process_backup_import(
session.add(image)
session.flush()
session.refresh(image)
new_category["image_id"] = image.id
created_image_filenames.append(filename)
if category_exists.image_id:
old_image = session.get(Image, category_exists.image_id)
if old_image:
session.delete(old_image)
category_exists.image_id = None
session.flush()
category_exists.image_id = image.id
except Exception:
pass
new_category = Category(**new_category)
categories_to_add.append(new_category)
session.add(new_category)
session.add(category_exists)
existing_categories[category_name] = category_exists
continue
if categories_to_add:
session.flush()
for category in categories_to_add:
existing_categories[category.name] = category
new_category = {
key: category[key] for key in category.keys() if key not in {"id", "image", "image_id"}
}
new_category["user"] = current_user
places = []
places_to_add = []
for place in data.get("places", []):
category_name = place.get("category", {}).get("name")
category = existing_categories.get(category_name)
if not category:
if category.get("image_id"):
category_filename = category.get("image").split("/")[-1]
if category_filename and category_filename in image_files:
try:
image_bytes = zipf.read(image_files[category_filename])
filename = save_image_to_file(image_bytes, settings.PLACE_IMAGE_SIZE)
if filename:
image = Image(filename=filename, user=current_user)
session.add(image)
session.flush()
session.refresh(image)
created_image_filenames.append(filename)
new_category["image_id"] = image.id
except Exception:
pass
new_category = Category(**new_category)
categories_to_add.append(new_category)
session.add(new_category)
if categories_to_add:
session.flush()
for category in categories_to_add:
existing_categories[category.name] = category
places = []
places_to_add = []
for place in data.get("places", []):
category_name = place.get("category", {}).get("name")
category = existing_categories.get(category_name)
if not category:
continue
new_place = {
key: place[key]
for key in place.keys()
if key not in {"id", "image", "image_id", "category", "category_id"}
}
new_place["user"] = current_user
new_place["category_id"] = category.id
if place.get("image_id"):
place_filename = place.get("image").split("/")[-1]
if place_filename and place_filename in image_files:
try:
image_bytes = zipf.read(image_files[place_filename])
filename = save_image_to_file(image_bytes, settings.PLACE_IMAGE_SIZE)
if filename:
image = Image(filename=filename, user=current_user)
session.add(image)
session.flush()
session.refresh(image)
created_image_filenames.append(filename)
new_place["image_id"] = image.id
except Exception:
pass
new_place = Place(**new_place)
places_to_add.append(new_place)
places.append(new_place)
if places_to_add:
session.add_all(places_to_add)
session.flush()
db_user = session.get(User, current_user)
if data.get("settings") and db_user:
settings_data = data["settings"]
setting_fields = [
"map_lat",
"map_lng",
"currency",
"tile_layer",
"mode_low_network",
"mode_dark",
"mode_gpx_in_place",
]
for field in setting_fields:
if field in settings_data:
setattr(db_user, field, settings_data[field])
if "do_not_display" in settings_data:
db_user.do_not_display = ",".join(settings_data["do_not_display"])
session.add(db_user)
session.flush()
trip_place_id_map = {p["id"]: new_p.id for p, new_p in zip(data.get("places", []), places)}
items_to_add = []
packing_to_add = []
checklist_to_add = []
attachment_links_to_add = []
for trip in data.get("trips", []):
new_trip = {
key: trip[key]
for key in trip.keys()
if key
not in {
"id",
"image",
"image_id",
"places",
"days",
"shared",
"collaborators",
"attachments",
"packing_items",
"checklist_items",
}
}
new_trip["user"] = current_user
if trip.get("image_id"):
trip_filename = trip.get("image").split("/")[-1]
if trip_filename and trip_filename in image_files:
try:
image_bytes = zipf.read(image_files[trip_filename])
filename = save_image_to_file(image_bytes, settings.TRIP_IMAGE_SIZE)
if filename:
image = Image(filename=filename, user=current_user)
session.add(image)
session.flush()
session.refresh(image)
created_image_filenames.append(filename)
new_trip["image_id"] = image.id
except Exception:
pass
new_trip = Trip(**new_trip)
session.add(new_trip)
session.flush()
session.refresh(new_trip)
for place in trip.get("places", []):
old_id = place.get("id")
new_place_id = trip_place_id_map.get(old_id)
if new_place_id:
db_place = session.get(Place, new_place_id)
if db_place:
new_trip.places.append(db_place)
trip_attachment_mapping = {}
for attachment in trip.get("attachments", []):
stored_filename = attachment.get("stored_filename")
old_attachment_id = attachment.get("id")
if not stored_filename or not old_attachment_id:
continue
new_place = {
key: place[key]
for key in place.keys()
if key not in {"id", "image", "image_id", "category", "category_id"}
}
new_place["user"] = current_user
new_place["category_id"] = category.id
if stored_filename in attachment_files:
try:
attachment_bytes = zipf.read(attachment_files[stored_filename])
new_attachment = {
key: attachment[key]
for key in attachment
if key not in {"id", "trip_id", "trip", "uploaded_by"}
}
new_attachment["trip_id"] = new_trip.id
new_attachment["uploaded_by"] = current_user
new_attachment_obj = TripAttachment(**new_attachment)
if place.get("image_id"):
place_filename = place.get("image").split("/")[-1]
if place_filename and place_filename in image_files:
try:
image_bytes = zipf.read(image_files[place_filename])
filename = save_image_to_file(image_bytes, settings.PLACE_IMAGE_SIZE)
if filename:
image = Image(filename=filename, user=current_user)
session.add(image)
session.flush()
session.refresh(image)
new_place["image_id"] = image.id
except Exception:
pass
attachment_path = attachments_trip_folder_path(new_trip.id) / stored_filename
created_attachment_trips.append(new_trip.id)
attachment_path.write_bytes(attachment_bytes)
session.add(new_attachment_obj)
session.flush()
session.refresh(new_attachment_obj)
trip_attachment_mapping[old_attachment_id] = new_attachment_obj.id
new_place = Place(**new_place)
places_to_add.append(new_place)
places.append(new_place)
if places_to_add:
session.add_all(places_to_add)
session.flush()
db_user = session.get(User, current_user)
if data.get("settings") and db_user:
settings_data = data["settings"]
setting_fields = [
"map_lat",
"map_lng",
"currency",
"tile_layer",
"mode_low_network",
"mode_dark",
"mode_gpx_in_place",
]
for field in setting_fields:
if field in settings_data:
setattr(db_user, field, settings_data[field])
if "do_not_display" in settings_data:
db_user.do_not_display = ",".join(settings_data["do_not_display"])
session.add(db_user)
session.flush()
trip_place_id_map = {p["id"]: new_p.id for p, new_p in zip(data.get("places", []), places)}
items_to_add = []
packing_to_add = []
checklist_to_add = []
attachment_links_to_add = []
for trip in data.get("trips", []):
new_trip = {
key: trip[key]
for key in trip.keys()
if key
not in {
"id",
"image",
"image_id",
"places",
"days",
"shared",
"collaborators",
"attachments",
"packing_items",
"checklist_items",
}
}
new_trip["user"] = current_user
if trip.get("image_id"):
trip_filename = trip.get("image").split("/")[-1]
if trip_filename and trip_filename in image_files:
try:
image_bytes = zipf.read(image_files[trip_filename])
filename = save_image_to_file(image_bytes, settings.TRIP_IMAGE_SIZE)
if filename:
image = Image(filename=filename, user=current_user)
session.add(image)
session.flush()
session.refresh(image)
new_trip["image_id"] = image.id
except Exception:
pass
new_trip = Trip(**new_trip)
session.add(new_trip)
session.flush()
session.refresh(new_trip)
for place in trip.get("places", []):
old_id = place.get("id")
new_place_id = trip_place_id_map.get(old_id)
if new_place_id:
db_place = session.get(Place, new_place_id)
if db_place:
new_trip.places.append(db_place)
trip_attachment_mapping = {}
for attachment in trip.get("attachments", []):
stored_filename = attachment.get("stored_filename")
old_attachment_id = attachment.get("id")
if not stored_filename or not old_attachment_id:
except Exception:
continue
if stored_filename in attachment_files:
try:
attachment_bytes = zipf.read(attachment_files[stored_filename])
new_attachment = {
key: attachment[key]
for key in attachment
if key not in {"id", "trip_id", "trip"}
}
new_attachment["trip_id"] = new_trip.id
new_attachment["user"] = current_user
new_attachment_obj = TripAttachment(**new_attachment)
for day in trip.get("days", []):
day_data = {key: day[key] for key in day if key not in {"id", "items"}}
if "dt" in day_data and isinstance(day_data["dt"], str):
day_data["dt"] = iso_to_dt(day_data["dt"])
new_day = TripDay(**day_data, trip_id=new_trip.id)
session.add(new_day)
session.flush()
attachment_path = attachments_trip_folder_path(new_trip.id) / stored_filename
attachment_path.write_bytes(attachment_bytes)
session.add(new_attachment_obj)
session.flush()
session.refresh(new_attachment_obj)
trip_attachment_mapping[old_attachment_id] = new_attachment_obj.id
for item in day.get("items", []):
if item.get("paid_by"):
u = item.get("paid_by")
db_user = session.get(User, u)
if not db_user:
error_details = f"User <{u}> does not exist and is specified in Paid By"
raise
except Exception:
continue
item_data = {
key: item[key]
for key in item
if key not in {"id", "place", "place_id", "image", "image_id", "attachments"}
}
item_data["day_id"] = new_day.id
for day in trip.get("days", []):
day_data = {key: day[key] for key in day if key not in {"id", "items"}}
if "dt" in day_data and isinstance(day_data["dt"], str):
day_data["dt"] = iso_to_dt(day_data["dt"])
new_day = TripDay(**day_data, trip_id=new_trip.id)
session.add(new_day)
place = item.get("place")
if place and (place_id := place.get("id")):
new_place_id = trip_place_id_map.get(place_id)
item_data["place_id"] = new_place_id
if item_data.get("image_id"):
place_filename = place.get("image").split("/")[-1]
if place_filename and place_filename in image_files:
try:
image_bytes = zipf.read(image_files[place_filename])
filename = save_image_to_file(image_bytes, settings.PLACE_IMAGE_SIZE)
if filename:
image = Image(filename=filename, user=current_user)
session.add(image)
session.flush()
session.refresh(image)
created_image_filenames.append(filename)
item_data["image_id"] = image.id
except Exception:
pass
trip_item = TripItem(**item_data)
session.add(trip_item)
session.flush()
session.refresh(trip_item)
items_to_add.append(trip_item)
for item in day.get("items", []):
item_data = {
key: item[key]
for key in item
if key not in {"id", "place", "place_id", "image", "image_id", "attachments"}
}
item_data["day_id"] = new_day.id
item_data["user"] = current_user
for attachment in item.get("attachments", []):
attachment_id = attachment.get("id")
if attachment_id and attachment_id in trip_attachment_mapping:
new_attachment_id = trip_attachment_mapping[attachment_id]
link = TripItemAttachmentLink(
item_id=trip_item.id, attachment_id=new_attachment_id
)
attachment_links_to_add.append(link)
place = item.get("place")
if place and (place_id := place.get("id")):
new_place_id = trip_place_id_map.get(place_id)
item_data["place_id"] = new_place_id
for item in trip.get("packing_items", []):
new_packing = {
key: item[key] for key in item.keys() if key not in {"id", "trip_id", "trip"}
}
new_packing["trip_id"] = new_trip.id
packing_to_add.append(TripPackingListItem(**new_packing))
if item_data.get("image_id"):
place_filename = place.get("image").split("/")[-1]
if place_filename and place_filename in image_files:
try:
image_bytes = zipf.read(image_files[place_filename])
filename = save_image_to_file(image_bytes, settings.PLACE_IMAGE_SIZE)
if filename:
image = Image(filename=filename, user=current_user)
session.add(image)
session.flush()
session.refresh(image)
item_data["image_id"] = image.id
except Exception:
pass
for item in trip.get("checklist_items", []):
new_checklist = {
key: item[key] for key in item.keys() if key not in {"id", "trip_id", "trip"}
}
new_checklist["trip_id"] = new_trip.id
checklist_to_add.append(TripChecklistItem(**new_checklist))
trip_item = TripItem(**item_data)
session.add(trip_item)
session.flush()
session.refresh(trip_item)
items_to_add.append(trip_item)
if attachment_links_to_add:
session.add_all(attachment_links_to_add)
for attachment in item.get("attachments", []):
attachment_id = attachment.get("id")
if attachment_id and attachment_id in trip_attachment_mapping:
new_attachment_id = trip_attachment_mapping[attachment_id]
link = TripItemAttachmentLink(
item_id=trip_item.id, attachment_id=new_attachment_id
)
attachment_links_to_add.append(link)
if items_to_add:
session.add_all(items_to_add)
for item in trip.get("packing_items", []):
new_packing = {
key: item[key] for key in item.keys() if key not in {"id", "trip_id", "trip"}
}
new_packing["trip_id"] = new_trip.id
packing_to_add.append(TripPackingListItem(**new_packing))
if packing_to_add:
session.add_all(packing_to_add)
for item in trip.get("checklist_items", []):
new_checklist = {
key: item[key] for key in item.keys() if key not in {"id", "trip_id", "trip"}
}
new_checklist["trip_id"] = new_trip.id
checklist_to_add.append(TripChecklistItem(**new_checklist))
if checklist_to_add:
session.add_all(checklist_to_add)
if attachment_links_to_add:
session.add_all(attachment_links_to_add)
# BOOM!
session.commit()
if items_to_add:
session.add_all(items_to_add)
return {
"places": [PlaceRead.serialize(p) for p in places],
"categories": [
CategoryRead.serialize(c)
for c in session.exec(
select(Category)
.options(selectinload(Category.image))
.where(Category.user == current_user)
).all()
],
"settings": UserRead.serialize(session.get(User, current_user)),
}
if packing_to_add:
session.add_all(packing_to_add)
if checklist_to_add:
session.add_all(checklist_to_add)
# BOOM!
session.commit()
return {
"places": [PlaceRead.serialize(p) for p in places],
"categories": [
CategoryRead.serialize(c)
for c in session.exec(
select(Category)
.options(selectinload(Category.image))
.where(Category.user == current_user)
).all()
],
"settings": UserRead.serialize(session.get(User, current_user)),
}
except Exception as exc:
session.rollback()
print(exc)
raise HTTPException(status_code=400, detail="Bad request")
except Exception as exc:
print(exc)
raise HTTPException(status_code=400, detail="Bad request")
except Exception:
session.rollback()
for filename in created_image_filenames:
remove_image(filename)
for trip_id in created_attachment_trips:
try:
folder = attachments_trip_folder_path(trip_id)
if not folder.exists():
return
for file in folder.iterdir():
file.unlink()
folder.rmdir()
except Exception:
pass
raise HTTPException(status_code=400, detail=error_details)
async def process_legacy_import(

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Page Not Found | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/404.html"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Page Not Found | TRIP"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/404.html"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/404.html" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/404.html" hreflang="x-default"><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -0,0 +1 @@
"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[972],{2541:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>c,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"trips-planner/trip-places","title":"Trip - Places","description":"A trip can reference places","source":"@site/docs/trips-planner/trip-places.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-places","permalink":"/trip/docs/trips-planner/trip-places","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5,"description":"A trip can reference places"},"sidebar":"docSidebar","previous":{"title":"Trip - Concepts","permalink":"/trip/docs/trips-planner/trip-concepts"},"next":{"title":"Trip - Map","permalink":"/trip/docs/trips-planner/trip-map"}}');var i=n(4848),s=n(8453);const a={sidebar_position:5,description:"A trip can reference places"},c="Trip - Places",p={},o=[];function l(e){const t={admonition:"admonition",em:"em",h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"trip---places",children:"Trip - Places"})}),"\n",(0,i.jsx)(t.admonition,{title:"TL;DR",type:"note",children:(0,i.jsx)(t.p,{children:"A trip can reference places. Manage the associated places and create new ones from the trip interface"})}),"\n",(0,i.jsx)(t.p,{children:"A trip can reference\xa0your places\xa0or those of other members, to associate them to the plans."}),"\n",(0,i.jsx)(t.admonition,{title:"important",type:"info",children:(0,i.jsx)(t.p,{children:"Creating a place from a trip is a shortcut, the place itself is not owned by the trip."})}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsx)(t.p,{children:"The \u2705 icon next to the place's category indicates that the place is used in the plans."})}),"\n",(0,i.jsxs)(t.p,{children:["The list of references places is in the dedicated ",(0,i.jsx)(t.em,{children:"Places"})," panel."]}),"\n",(0,i.jsx)("img",{src:"/trip/img/trip_places.png",alt:"Trip - Places"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"Trip - Places"})}),"\n",(0,i.jsx)(t.p,{children:"To reference places to your trip, you can either manage the associated places or directly create new ones from the trip interface."}),"\n",(0,i.jsx)("img",{src:"/trip/img/trip_places_manage.png",alt:"Trip - Manage or Create Places"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"Trip - Manage or Create Places"})}),"\n",(0,i.jsx)(t.p,{children:"Hovering over a place highlights it on the map."}),"\n",(0,i.jsx)("img",{src:"/trip/img/trip_place_highlight.png",alt:"Trip - Highlight place on hover"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"Trip - Highlight place on hover"})})]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>c});var r=n(6540);const i={},s=r.createContext(i);function a(e){const t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]);

View File

@ -1 +0,0 @@
"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[972],{2541:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>p,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"trips-planner/trip-places","title":"Trip - Places","description":"A trip can reference places","source":"@site/docs/trips-planner/trip-places.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-places","permalink":"/trip/docs/trips-planner/trip-places","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5,"description":"A trip can reference places"},"sidebar":"docSidebar","previous":{"title":"Trip - Concepts","permalink":"/trip/docs/trips-planner/trip-concepts"},"next":{"title":"Trip - Map","permalink":"/trip/docs/trips-planner/trip-map"}}');var i=n(4848),s=n(8453);const p={sidebar_position:5,description:"A trip can reference places"},a="Trip - Places",c={},o=[];function l(e){const t={admonition:"admonition",h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"trip---places",children:"Trip - Places"})}),"\n",(0,i.jsx)(t.admonition,{title:"TL;DR",type:"note",children:(0,i.jsx)(t.p,{children:"A trip can reference places. Manage the associated places and create new ones from the trip interface"})}),"\n",(0,i.jsx)(t.p,{children:"A trip can reference\xa0your places\xa0or those of other members, to associate them to the plans."}),"\n",(0,i.jsx)(t.p,{children:"To add places to your trip, you can either manage the associated places or directly create new ones from the trip interface."}),"\n",(0,i.jsx)(t.admonition,{title:"important",type:"info",children:(0,i.jsx)(t.p,{children:"Creating a place from a trip is a shortcut, the place itself is not owned by the trip."})}),"\n",(0,i.jsx)("img",{src:"/trip/img/trip_places.png",alt:"Trip - Places"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"Trip - Places"})}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsx)(t.p,{children:"The \u2705 icon next to the place's category indicates that the place is used in the plans."})}),"\n",(0,i.jsx)(t.p,{children:"Hovering over a place highlights it on the map."}),"\n",(0,i.jsx)("img",{src:"/trip/img/trip_place_highlight.png",alt:"Trip - Highlight place on hover"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"Trip - Highlight place on hover"})})]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>p,x:()=>a});var r=n(6540);const i={},s=r.createContext(i);function p(e){const t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:p(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Getting Started | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/category/getting-started"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Getting Started | TRIP"><meta data-rh="true" name="description" content="Set up and configure TRIP"><meta data-rh="true" property="og:description" content="Set up and configure TRIP"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/category/getting-started"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/category/getting-started" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/category/getting-started" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Getting Started","item":"https://itskovacs.github.io/trip/docs/category/getting-started"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Map Tracker | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/category/map-tracker"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Map Tracker | TRIP"><meta data-rh="true" name="description" content="Documentation focused on the Points Of Interest"><meta data-rh="true" property="og:description" content="Documentation focused on the Points Of Interest"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/category/map-tracker"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/category/map-tracker" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/category/map-tracker" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Map Tracker","item":"https://itskovacs.github.io/trip/docs/category/map-tracker"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Miscelaneous | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/category/miscelaneous"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Miscelaneous | TRIP"><meta data-rh="true" name="description" content="Additional resources"><meta data-rh="true" property="og:description" content="Additional resources"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/category/miscelaneous"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/category/miscelaneous" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/category/miscelaneous" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Miscelaneous","item":"https://itskovacs.github.io/trip/docs/category/miscelaneous"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trips Planner | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/category/trips-planner"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trips Planner | TRIP"><meta data-rh="true" name="description" content="Documentation focused on the Trip part"><meta data-rh="true" property="og:description" content="Documentation focused on the Trip part"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/category/trips-planner"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/category/trips-planner" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/category/trips-planner" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Contributing | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/contributing"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Contributing | TRIP"><meta data-rh="true" name="description" content="Contributions are welcome! Open an issue to report bugs, start a discussion to share ideas or submit a pull request for new features."><meta data-rh="true" property="og:description" content="Contributions are welcome! Open an issue to report bugs, start a discussion to share ideas or submit a pull request for new features."><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/contributing"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/contributing" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/contributing" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Contributing","item":"https://itskovacs.github.io/trip/docs/contributing"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Configuration | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/getting-started/configuration"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Configuration | TRIP"><meta data-rh="true" name="description" content="Configure TRIP"><meta data-rh="true" property="og:description" content="Configure TRIP"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/getting-started/configuration"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/getting-started/configuration" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/getting-started/configuration" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Getting Started","item":"https://itskovacs.github.io/trip/docs/category/getting-started"},{"@type":"ListItem","position":2,"name":"Configuration","item":"https://itskovacs.github.io/trip/docs/getting-started/configuration"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Deployment | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/getting-started/deploy"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Deployment | TRIP"><meta data-rh="true" name="description" content="Deploy TRIP"><meta data-rh="true" property="og:description" content="Deploy TRIP"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/getting-started/deploy"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/getting-started/deploy" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/getting-started/deploy" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Getting Started","item":"https://itskovacs.github.io/trip/docs/category/getting-started"},{"@type":"ListItem","position":2,"name":"Deployment","item":"https://itskovacs.github.io/trip/docs/getting-started/deploy"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Introduction | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/intro"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Introduction | TRIP"><meta data-rh="true" name="description" content="TRIP is a self-hostable minimalist Map tracker and Trips planner to visualize your points of interest (POI) and organize your next adventure details."><meta data-rh="true" property="og:description" content="TRIP is a self-hostable minimalist Map tracker and Trips planner to visualize your points of interest (POI) and organize your next adventure details."><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/intro"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/intro" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/intro" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Introduction","item":"https://itskovacs.github.io/trip/docs/intro"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Introduction | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/map-tracker/introduction"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Introduction | TRIP"><meta data-rh="true" name="description" content="Introduction to Map"><meta data-rh="true" property="og:description" content="Introduction to Map"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/map-tracker/introduction"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/introduction" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/introduction" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Map Tracker","item":"https://itskovacs.github.io/trip/docs/category/map-tracker"},{"@type":"ListItem","position":2,"name":"Introduction","item":"https://itskovacs.github.io/trip/docs/map-tracker/introduction"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Map - Filtering | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/map-tracker/map-filtering"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Map - Filtering | TRIP"><meta data-rh="true" name="description" content="Filtering the Places on the Map"><meta data-rh="true" property="og:description" content="Filtering the Places on the Map"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/map-tracker/map-filtering"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/map-filtering" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/map-filtering" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Map Tracker","item":"https://itskovacs.github.io/trip/docs/category/map-tracker"},{"@type":"ListItem","position":2,"name":"Map - Filtering","item":"https://itskovacs.github.io/trip/docs/map-tracker/map-filtering"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Map - Panel | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/map-tracker/map-panel"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Map - Panel | TRIP"><meta data-rh="true" name="description" content="Displaying the Places panel"><meta data-rh="true" property="og:description" content="Displaying the Places panel"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/map-tracker/map-panel"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/map-panel" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/map-panel" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Map Tracker","item":"https://itskovacs.github.io/trip/docs/category/map-tracker"},{"@type":"ListItem","position":2,"name":"Map - Panel","item":"https://itskovacs.github.io/trip/docs/map-tracker/map-panel"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Places - Creation | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/map-tracker/places-creation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Places - Creation | TRIP"><meta data-rh="true" name="description" content="Creating a Place using the Place creation modal"><meta data-rh="true" property="og:description" content="Creating a Place using the Place creation modal"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/map-tracker/places-creation"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/places-creation" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/places-creation" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Map Tracker","item":"https://itskovacs.github.io/trip/docs/category/map-tracker"},{"@type":"ListItem","position":2,"name":"Places - Creation","item":"https://itskovacs.github.io/trip/docs/map-tracker/places-creation"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
@ -33,6 +33,7 @@
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="gmaps-api-autocompletion">GMaps API autocompletion<a href="#gmaps-api-autocompletion" class="hash-link" aria-label="Direct link to GMaps API autocompletion" title="Direct link to GMaps API autocompletion" translate="no"></a></h3>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>warning</div><div class="admonitionContent_BuS1"><p>You must add your <em>Google API Key</em> in your <a class="" href="/trip/docs/map-tracker/settings">settings</a>.</p></div></div>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>You can use the shortcuts <kbd>Shift</kbd>+<kbd>Enter</kbd> to run the completion and <kbd>Ctrl</kbd>+<kbd>Enter</kbd> to confirm the modal (if there is no missing field)</p></div></div>
<p>After entering a name, you can autocomplete the other fields by clicking the button inside the input area.</p>
<img src="/trip/img/place_gmaps_api.png" alt="Autocomplete using GMaps API">
<div style="text-align:center"><sup>Autocomplete using GMaps API</sup></div>

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Places | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/map-tracker/places"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Places | TRIP"><meta data-rh="true" name="description" content="Your map displays all your Places (Points of Interest). Click on any Place to view details and interact with it."><meta data-rh="true" property="og:description" content="Your map displays all your Places (Points of Interest). Click on any Place to view details and interact with it."><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/map-tracker/places"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/places" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/places" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Map Tracker","item":"https://itskovacs.github.io/trip/docs/category/map-tracker"},{"@type":"ListItem","position":2,"name":"Places","item":"https://itskovacs.github.io/trip/docs/map-tracker/places"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Settings | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/map-tracker/settings"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Settings | TRIP"><meta data-rh="true" name="description" content="Customize your app experience, manage categories, make backups, enable TOTP, and more."><meta data-rh="true" property="og:description" content="Customize your app experience, manage categories, make backups, enable TOTP, and more."><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/map-tracker/settings"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/settings" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/map-tracker/settings" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Map Tracker","item":"https://itskovacs.github.io/trip/docs/category/map-tracker"},{"@type":"ListItem","position":2,"name":"Settings","item":"https://itskovacs.github.io/trip/docs/map-tracker/settings"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Backup and Restore | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/misc/backup"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Backup and Restore | TRIP"><meta data-rh="true" name="description" content="Backup and Restore your data"><meta data-rh="true" property="og:description" content="Backup and Restore your data"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/misc/backup"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/misc/backup" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/misc/backup" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Miscelaneous","item":"https://itskovacs.github.io/trip/docs/category/miscelaneous"},{"@type":"ListItem","position":2,"name":"Backup and Restore","item":"https://itskovacs.github.io/trip/docs/misc/backup"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Installing on Synology NAS | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/misc/synology"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Installing on Synology NAS | TRIP"><meta data-rh="true" name="description" content="Installing on Synology NAS using Docker and Portainer"><meta data-rh="true" property="og:description" content="Installing on Synology NAS using Docker and Portainer"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/misc/synology"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/misc/synology" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/misc/synology" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Miscelaneous","item":"https://itskovacs.github.io/trip/docs/category/miscelaneous"},{"@type":"ListItem","position":2,"name":"Installing on Synology NAS","item":"https://itskovacs.github.io/trip/docs/misc/synology"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Introduction | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/introduction"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Introduction | TRIP"><meta data-rh="true" name="description" content="Introduction to Map"><meta data-rh="true" property="og:description" content="Introduction to Map"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/introduction"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/introduction" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/introduction" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Introduction","item":"https://itskovacs.github.io/trip/docs/trips-planner/introduction"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Anonymous share | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-ano-share"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Anonymous share | TRIP"><meta data-rh="true" name="description" content="Share your trip publicly via a unique read-only link"><meta data-rh="true" property="og:description" content="Share your trip publicly via a unique read-only link"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-ano-share"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-ano-share" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-ano-share" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Anonymous share","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-ano-share"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Archive | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-archive"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Archive | TRIP"><meta data-rh="true" name="description" content="Archive a Trip once it&#x27;s complete"><meta data-rh="true" property="og:description" content="Archive a Trip once it&#x27;s complete"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-archive"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-archive" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-archive" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Archive","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-archive"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Attachments &amp; lists | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-attachments-lists"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Attachments &amp; lists | TRIP"><meta data-rh="true" name="description" content="Your trip can hold attachments, a checklist, a packing list"><meta data-rh="true" property="og:description" content="Your trip can hold attachments, a checklist, a packing list"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-attachments-lists"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-attachments-lists" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-attachments-lists" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Attachments & lists","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-attachments-lists"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Collaboration | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-collaboration"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Collaboration | TRIP"><meta data-rh="true" name="description" content="Collaborate on a trip with other members"><meta data-rh="true" property="og:description" content="Collaborate on a trip with other members"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-collaboration"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-collaboration" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-collaboration" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Collaboration","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-collaboration"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Concepts | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-concepts"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Concepts | TRIP"><meta data-rh="true" name="description" content="Trip days, plans, a trip is organized in a table-like structure"><meta data-rh="true" property="og:description" content="Trip days, plans, a trip is organized in a table-like structure"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-concepts"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-concepts" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-concepts" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Concepts","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-concepts"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Creation | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-creation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Creation | TRIP"><meta data-rh="true" name="description" content="Creating a trip"><meta data-rh="true" property="og:description" content="Creating a trip"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-creation"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-creation" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-creation" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Creation","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-creation"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Export and print | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-export"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Export and print | TRIP"><meta data-rh="true" name="description" content="Export your trip in multiple formats to suit your needs"><meta data-rh="true" property="og:description" content="Export your trip in multiple formats to suit your needs"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-export"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-export" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-export" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Export and print","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-export"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Map | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-map"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Map | TRIP"><meta data-rh="true" name="description" content="The map displays your places and plans, with options to highlight itineraries"><meta data-rh="true" property="og:description" content="The map displays your places and plans, with options to highlight itineraries"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-map"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-map" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-map" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Map","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-map"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Plan creation | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-plan-creation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Plan creation | TRIP"><meta data-rh="true" name="description" content="Create your first plan"><meta data-rh="true" property="og:description" content="Create your first plan"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-plan-creation"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-plan-creation" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-plan-creation" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Plan creation","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-plan-creation"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trip - Plans | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trip-plans"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trip - Plans | TRIP"><meta data-rh="true" name="description" content="Understand your trip plans"><meta data-rh="true" property="og:description" content="Understand your trip plans"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-plans"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-plans" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trip-plans" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trip - Plans","item":"https://itskovacs.github.io/trip/docs/trips-planner/trip-plans"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Trips | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/docs/trips-planner/trips"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Trips | TRIP"><meta data-rh="true" name="description" content="Viewing your trips"><meta data-rh="true" property="og:description" content="Viewing your trips"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/docs/trips-planner/trips"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trips" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/docs/trips-planner/trips" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trips Planner","item":"https://itskovacs.github.io/trip/docs/category/trips-planner"},{"@type":"ListItem","position":2,"name":"Trips","item":"https://itskovacs.github.io/trip/docs/trips-planner/trips"}]}</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Home | TRIP</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://itskovacs.github.io/trip/img/favicon.png"><meta data-rh="true" property="og:url" content="https://itskovacs.github.io/trip/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Home | TRIP"><meta data-rh="true" name="description" content="TRIP documentation. See github.com/itskovacs/trip for more information"><meta data-rh="true" property="og:description" content="TRIP documentation. See github.com/itskovacs/trip for more information"><link data-rh="true" rel="icon" href="/trip/img/favicon.png"><link data-rh="true" rel="canonical" href="https://itskovacs.github.io/trip/"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/" hreflang="en"><link data-rh="true" rel="alternate" href="https://itskovacs.github.io/trip/" hreflang="x-default"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/trip/</span> </p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",function(){void 0===window.docusaurus&&insertBanner()})</script><link rel="stylesheet" href="/trip/assets/css/styles.fba44b67.css">
<script src="/trip/assets/js/runtime~main.7981b117.js" defer="defer"></script>
<script src="/trip/assets/js/runtime~main.7e832786.js" defer="defer"></script>
<script src="/trip/assets/js/main.5fbd8ce6.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

8
src/proxy.conf.json Normal file
View File

@ -0,0 +1,8 @@
{
"/api": {
"target": "http://localhost:8000",
"secure": false,
"changeOrigin": true,
"logLevel": "warn"
}
}

View File

@ -2027,13 +2027,16 @@ export class TripComponent implements AfterViewInit {
next: () => {
this.trip!.attachments = this.trip?.attachments?.filter((att) => att.id != attachmentId);
let modifiedItem = false;
this.trip?.days.forEach(d => d.items.forEach(i => {
if (i.attachments?.length) {
i.attachments = i.attachments.filter(attachment => attachment.id != attachmentId);
modifiedItem = true;
}
}))
if (this.selectedItem?.attachments?.length) this.selectedItem.attachments = this.selectedItem.attachments.filter((a) => a.id != attachmentId);
this.trip?.days.forEach((d) =>
d.items.forEach((i) => {
if (i.attachments?.length) {
i.attachments = i.attachments.filter((attachment) => attachment.id != attachmentId);
modifiedItem = true;
}
}),
);
if (this.selectedItem?.attachments?.length)
this.selectedItem.attachments = this.selectedItem.attachments.filter((a) => a.id != attachmentId);
if (modifiedItem) this.flattenTripDayItems();
},
});

View File

@ -113,7 +113,7 @@ export class TripsComponent implements OnInit {
const tripDays: Partial<TripDay>[] = [];
const current = new Date(from);
while (current <= to) {
const year = current.getUTCFullYear();
const year = current.getFullYear();
const month = String(current.getMonth() + 1).padStart(2, '0');
const day = String(current.getDate()).padStart(2, '0');
const label = `${day} ${months[current.getMonth()]}`;

View File

@ -8,12 +8,12 @@
</p-floatlabel>
<div class="absolute right-2 top-1/2 -translate-y-1/2">
@if (gmapsLoading) {
<svg viewBox="25 25 50 50">
<circle r="20" cy="50" cx="50"></circle>
</svg>
<svg viewBox="25 25 50 50">
<circle r="20" cy="50" cx="50"></circle>
</svg>
} @else {
<p-button icon="pi pi-sparkles" variant="text" [disabled]="!placeForm.get('name')!.value" pTooltip="Complete using GMaps API"
(click)="gmapsSearchText()" />
<p-button icon="pi pi-sparkles" variant="text" [disabled]="!placeForm.get('name')!.value"
pTooltip="Complete using GMaps API" (click)="gmapsSearchText()" />
}
</div>
</div>

View File

@ -16,38 +16,38 @@
}
svg {
width: 2rem;
animation: loading-rotate 1.5s linear infinite;
width: 2rem;
animation: loading-rotate 1.5s linear infinite;
}
circle {
fill: none;
stroke: #4f46e5;
stroke-width: 2;
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
stroke-linecap: round;
animation: loading-dash 1.5s ease-in-out infinite;
fill: none;
stroke: #4f46e5;
stroke-width: 2;
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
stroke-linecap: round;
animation: loading-dash 1.5s ease-in-out infinite;
}
@keyframes loading-rotate {
100% {
transform: rotate(360deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes loading-dash {
0% {
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
}
0% {
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 90, 200;
stroke-dashoffset: -35px;
}
50% {
stroke-dasharray: 90, 200;
stroke-dashoffset: -35px;
}
100% {
stroke-dashoffset: -125px;
}
100% {
stroke-dashoffset: -125px;
}
}

View File

@ -213,12 +213,12 @@ export class PlaceCreateModalComponent {
this.gmapsLoading = false;
if (r.category) {
this.categories$?.pipe(take(1)).subscribe({
next: categories => {
const category: Category | undefined = categories.find(c => c.name == r.category);
next: (categories) => {
const category: Category | undefined = categories.find((c) => c.name == r.category);
if (!category) return;
this.placeForm.get('category')?.setValue(category.id);
}
})
},
});
}
}
@ -235,7 +235,7 @@ export class PlaceCreateModalComponent {
}
if (results.length == 1) {
this.gmapsToForm(results[0])
this.gmapsToForm(results[0]);
return;
}

View File

@ -36,7 +36,7 @@ export class TripCreateDayModalComponent {
}
formatDateWithoutTimezone(date: Date) {
const year = date.getUTCFullYear();
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;

View File

@ -54,7 +54,7 @@ export const Interceptor = (req: HttpRequest<unknown>, next: HttpHandlerFn): Obs
const errDetails = ERROR_CONFIG[err.status];
if (errDetails) {
console.error(err);
let msg = ""
let msg = '';
msg = err.message || errDetails.detail;
if (!Array.isArray(err.error?.detail)) {
msg = err.error.detail;