1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-07-22 14:29:36 +02:00

search ui fixes

This commit is contained in:
Sean Morley 2024-07-22 10:08:42 -04:00
parent fc782d9354
commit e093be31af
3 changed files with 32 additions and 7 deletions

View file

@ -157,8 +157,8 @@ class AdventureViewSet(viewsets.ModelViewSet):
(Q(user_id=request.user.id) | Q(is_public=True)) (Q(user_id=request.user.id) | Q(is_public=True))
) )
queryset = self.apply_sorting(queryset) queryset = self.apply_sorting(queryset)
adventures = self.paginate_and_respond(queryset, request) serializer = self.get_serializer(queryset, many=True)
return adventures return Response(serializer.data)
def paginate_and_respond(self, queryset, request): def paginate_and_respond(self, queryset, request):
paginator = self.pagination_class() paginator = self.pagination_class()

View file

@ -25,10 +25,7 @@ export const load = (async (event) => {
return { return {
props: { props: {
adventures: data.results as Adventure[], adventures: data,
nextPage: data.next,
prevPage: data.previous,
total: data.count,
query query
} }
}; };

View file

@ -4,7 +4,7 @@
import type { Adventure, OpenStreetMapPlace } from '$lib/types'; import type { Adventure, OpenStreetMapPlace } from '$lib/types';
import { onMount } from 'svelte'; import { onMount } from 'svelte';
import type { PageData } from './$types'; import type { PageData } from './$types';
import { page } from '$app/stores'; import EditAdventure from '$lib/components/EditAdventure.svelte';
export let data: PageData; export let data: PageData;
@ -41,8 +41,35 @@
if (data.props) { if (data.props) {
adventures = data.props.adventures; adventures = data.props.adventures;
} }
let adventureToEdit: Adventure;
let isEditModalOpen: boolean = false;
let isShowingCreateModal: boolean = false;
function editAdventure(event: CustomEvent<Adventure>) {
adventureToEdit = event.detail;
isEditModalOpen = true;
}
function saveEdit(event: CustomEvent<Adventure>) {
adventures = adventures.map((adventure) => {
if (adventure.id === event.detail.id) {
return event.detail;
}
return adventure;
});
isEditModalOpen = false;
}
</script> </script>
{#if isEditModalOpen}
<EditAdventure
{adventureToEdit}
on:close={() => (isEditModalOpen = false)}
on:saveEdit={saveEdit}
/>
{/if}
{#if adventures.length === 0 && osmResults.length === 0} {#if adventures.length === 0 && osmResults.length === 0}
<NotFound error={data.error} /> <NotFound error={data.error} />
{/if} {/if}
@ -56,6 +83,7 @@
type={adventure.type} type={adventure.type}
{adventure} {adventure}
on:delete={deleteAdventure} on:delete={deleteAdventure}
on:edit={editAdventure}
/> />
{/each} {/each}
</div> </div>