mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-07-24 15:29:36 +02:00
* Refactor user_id to user in adventures and related models, views, and components - Updated all instances of user_id to user in the adventures app, including models, serializers, views, and frontend components. - Adjusted queries and filters to reflect the new user field naming convention. - Ensured consistency across the codebase for user identification in adventures, collections, notes, and transportation entities. - Modified frontend components to align with the updated data structure, ensuring proper access control and rendering based on user ownership. * Refactor adventure-related views and components to use "Location" terminology - Updated GlobalSearchView to replace AdventureSerializer with LocationSerializer. - Modified IcsCalendarGeneratorViewSet to use LocationSerializer instead of AdventureSerializer. - Created new LocationImageViewSet for managing location images, including primary image toggling and image deletion. - Introduced LocationViewSet for managing locations with enhanced filtering, sorting, and sharing capabilities. - Updated ReverseGeocodeViewSet to utilize LocationSerializer. - Added ActivityTypesView to retrieve distinct activity types from locations. - Refactored user views to replace AdventureSerializer with LocationSerializer. - Updated frontend components to reflect changes from "adventure" to "location", including AdventureCard, AdventureLink, AdventureModal, and others. - Adjusted API endpoints in frontend routes to align with new location-based structure. - Ensured all references to adventures are replaced with locations across the codebase. * refactor: rename adventures to locations across the application - Updated localization files to replace adventure-related terms with location-related terms. - Refactored TypeScript types and variables from Adventure to Location in various routes and components. - Adjusted UI elements and labels to reflect the change from adventures to locations. - Ensured all references to adventures in the codebase are consistent with the new location terminology. * Refactor code structure for improved readability and maintainability * feat: Implement location details page with server-side loading and deletion functionality - Added +page.server.ts to handle server-side loading of additional location info. - Created +page.svelte for displaying location details, including images, visits, and maps. - Integrated GPX file handling and rendering on the map. - Updated map route to link to locations instead of adventures. - Refactored profile and search routes to use LocationCard instead of AdventureCard. * docs: Update terminology from "Adventure" to "Location" and enhance project overview * docs: Clarify collection examples in usage documentation * feat: Enable credentials for GPX file fetch and add CORS_ALLOW_CREDENTIALS setting * Refactor adventure references to locations across the backend and frontend - Updated CategoryViewSet to reflect location context instead of adventures. - Modified ChecklistViewSet to include locations in retrieval logic. - Changed GlobalSearchView to search for locations instead of adventures. - Adjusted IcsCalendarGeneratorViewSet to handle locations instead of adventures. - Refactored LocationImageViewSet to remove unused import. - Updated LocationViewSet to clarify public access for locations. - Changed LodgingViewSet to reference locations instead of adventures. - Modified NoteViewSet to prevent listing all locations. - Updated RecommendationsViewSet to handle locations in parsing and response. - Adjusted ReverseGeocodeViewSet to search through user locations. - Updated StatsViewSet to count locations instead of adventures. - Changed TagsView to reflect activity types for locations. - Updated TransportationViewSet to reference locations instead of adventures. - Added new translations for search results related to locations in multiple languages. - Updated dashboard and profile pages to reflect location counts instead of adventure counts. - Adjusted search routes to handle locations instead of adventures. * Update banner image * style: Update stats component background and border for improved visibility * refactor: Rename AdventureCard and AdventureModal to LocationCard and LocationModal for consistency
200 lines
5.7 KiB
HTML
200 lines
5.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="description" content="AdventureLog API Server" />
|
|
<meta name="author" content="Sean Morley" />
|
|
<title>AdventureLog API Server</title>
|
|
|
|
<!-- Bootstrap 5 CSS -->
|
|
<link
|
|
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
|
|
rel="stylesheet"
|
|
/>
|
|
<!-- Bootstrap Icons -->
|
|
<link
|
|
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css"
|
|
rel="stylesheet"
|
|
/>
|
|
|
|
<style>
|
|
body {
|
|
background-color: #f9f9fb;
|
|
color: #222;
|
|
font-family: "Segoe UI", sans-serif;
|
|
}
|
|
.navbar {
|
|
background-color: #2c3e50;
|
|
}
|
|
.navbar-brand,
|
|
.nav-link {
|
|
color: #ecf0f1 !important;
|
|
}
|
|
.hero {
|
|
padding: 4rem 1rem;
|
|
background: linear-gradient(135deg, #2980b9, #6dd5fa);
|
|
color: white;
|
|
text-align: center;
|
|
border-radius: 0 0 1rem 1rem;
|
|
}
|
|
.hero h1 {
|
|
font-size: 3rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
.hero p {
|
|
font-size: 1.25rem;
|
|
margin-bottom: 2rem;
|
|
}
|
|
.api-response {
|
|
margin-top: 1rem;
|
|
font-family: monospace;
|
|
background-color: #eef2f7;
|
|
padding: 1rem;
|
|
border-radius: 0.5rem;
|
|
}
|
|
footer {
|
|
text-align: center;
|
|
padding: 2rem 0;
|
|
font-size: 0.9rem;
|
|
color: #888;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<!-- Navbar -->
|
|
<nav class="navbar navbar-expand-lg">
|
|
<div class="container">
|
|
<a class="navbar-brand" href="/">AdventureLog API</a>
|
|
<button
|
|
class="navbar-toggler"
|
|
type="button"
|
|
data-bs-toggle="collapse"
|
|
data-bs-target="#navbarNav"
|
|
>
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navbarNav">
|
|
<ul class="navbar-nav ms-auto">
|
|
<li class="nav-item"><a class="nav-link" href="/">Home</a></li>
|
|
<li class="nav-item">
|
|
<a
|
|
class="nav-link"
|
|
href="http://adventurelog.app"
|
|
target="_blank"
|
|
>
|
|
Documentation
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a
|
|
class="nav-link"
|
|
href="https://github.com/seanmorley15/AdventureLog"
|
|
target="_blank"
|
|
>
|
|
Source Code
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/docs">API Docs</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Hero Section -->
|
|
<div class="hero">
|
|
<div class="container">
|
|
<h1><i class="bi bi-map"></i> AdventureLog API</h1>
|
|
<p>
|
|
The backend powering your travels — flexible, powerful, and open
|
|
source.
|
|
</p>
|
|
<a href="/docs" class="btn btn-light btn-lg shadow-sm"
|
|
><i class="bi bi-book"></i> Explore API Docs</a
|
|
>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Main Content -->
|
|
<div class="container my-5">
|
|
{% block content %}
|
|
<div class="text-center">
|
|
<h2>Try a Sample Request</h2>
|
|
<p>Use the form below to test an API POST request.</p>
|
|
<form
|
|
class="ajax-post d-flex flex-column align-items-center"
|
|
action="/api/test"
|
|
method="post"
|
|
style="max-width: 500px; margin: auto"
|
|
>
|
|
<input
|
|
type="text"
|
|
name="example"
|
|
placeholder="Enter example data"
|
|
class="form-control mb-3"
|
|
required
|
|
/>
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="bi bi-send"></i> Send Request
|
|
</button>
|
|
</form>
|
|
<div class="api-response"></div>
|
|
</div>
|
|
{% endblock %}
|
|
</div>
|
|
|
|
<footer class="text-center text-muted py-4">
|
|
Open source with ❤️ by
|
|
<a href="https://seanmorley.com" target="_blank">Sean Morley</a> • View on
|
|
<a href="https://github.com/seanmorley15/AdventureLog" target="_blank"
|
|
>GitHub</a
|
|
>
|
|
•
|
|
<a href="https://adventurelog.app" target="_blank">adventurelog.app</a>
|
|
</footer>
|
|
|
|
<!-- Bootstrap JS -->
|
|
<script
|
|
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
|
|
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
|
|
crossorigin="anonymous"
|
|
></script>
|
|
<!-- jQuery (optional, used here for legacy script) -->
|
|
<script
|
|
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK"
|
|
crossorigin="anonymous"
|
|
></script>
|
|
|
|
<script>
|
|
const error_response = (data) => {
|
|
$(".api-response").html(
|
|
`<strong>API Response:</strong> ${data.status} ${data.statusText}<br/><strong>Content:</strong> ${data.responseText}`
|
|
);
|
|
};
|
|
const susccess_response = (data) => {
|
|
$(".api-response").html(
|
|
`<strong>API Response:</strong> OK<br/><strong>Content:</strong> ${JSON.stringify(
|
|
data,
|
|
null,
|
|
2
|
|
)}`
|
|
);
|
|
};
|
|
|
|
$(document).ready(() => {
|
|
$("form.ajax-post button[type=submit]").click(function () {
|
|
const form = $("form.ajax-post");
|
|
$.post(form.attr("action"), form.serialize())
|
|
.fail(error_response)
|
|
.done(susccess_response);
|
|
return false;
|
|
});
|
|
});
|
|
</script>
|
|
|
|
{% block script %}{% endblock %}
|
|
</body>
|
|
</html>
|