- Added a new AGENTS.md file to document the project structure and conventions. - Updated .gitignore to include node_modules and refined cursor rules. - Introduced new backend and frontend components for improved map interactions, including context menus and controls. - Enhanced API composables for better admin and authentication functionalities. - Refactored existing components for cleaner code and improved user experience. - Updated README.md to clarify production asset serving and user setup instructions.
27 lines
559 B
Vue
27 lines
559 B
Vue
<template>
|
|
<NuxtLayout>
|
|
<NuxtPage />
|
|
</NuxtLayout>
|
|
</template>
|
|
|
|
<style>
|
|
.page-enter-active,
|
|
.page-leave-active {
|
|
transition: opacity 0.15s ease-out;
|
|
}
|
|
.page-enter-from,
|
|
.page-leave-to {
|
|
opacity: 0;
|
|
}
|
|
</style>
|
|
|
|
<script setup lang="ts">
|
|
// Global error handling: on API auth failure, redirect to login
|
|
const { onApiError } = useMapApi()
|
|
const { fullUrl } = useAppPaths()
|
|
const unsubscribe = onApiError(() => {
|
|
if (import.meta.client) window.location.href = fullUrl('/login')
|
|
})
|
|
onUnmounted(() => unsubscribe())
|
|
</script>
|