+
kektus
kektus
-
carnet de voyage été 2024
+
carnet de voyage été 2024
+
+
+
diff --git a/summer2024-frontend/src/components/ui/tooltip/Tooltip.vue b/summer2024-frontend/src/components/ui/tooltip/Tooltip.vue
new file mode 100644
index 0000000..a836e2c
--- /dev/null
+++ b/summer2024-frontend/src/components/ui/tooltip/Tooltip.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
diff --git a/summer2024-frontend/src/components/ui/tooltip/TooltipContent.vue b/summer2024-frontend/src/components/ui/tooltip/TooltipContent.vue
new file mode 100644
index 0000000..3478b81
--- /dev/null
+++ b/summer2024-frontend/src/components/ui/tooltip/TooltipContent.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
diff --git a/summer2024-frontend/src/components/ui/tooltip/TooltipProvider.vue b/summer2024-frontend/src/components/ui/tooltip/TooltipProvider.vue
new file mode 100644
index 0000000..e2c0a63
--- /dev/null
+++ b/summer2024-frontend/src/components/ui/tooltip/TooltipProvider.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/summer2024-frontend/src/components/ui/tooltip/TooltipTrigger.vue b/summer2024-frontend/src/components/ui/tooltip/TooltipTrigger.vue
new file mode 100644
index 0000000..f01a78d
--- /dev/null
+++ b/summer2024-frontend/src/components/ui/tooltip/TooltipTrigger.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/summer2024-frontend/src/components/ui/tooltip/index.js b/summer2024-frontend/src/components/ui/tooltip/index.js
new file mode 100644
index 0000000..cf1014d
--- /dev/null
+++ b/summer2024-frontend/src/components/ui/tooltip/index.js
@@ -0,0 +1,4 @@
+export { default as Tooltip } from "./Tooltip.vue";
+export { default as TooltipContent } from "./TooltipContent.vue";
+export { default as TooltipTrigger } from "./TooltipTrigger.vue";
+export { default as TooltipProvider } from "./TooltipProvider.vue";
diff --git a/summer2024-frontend/src/main.js b/summer2024-frontend/src/main.js
index da15170..eaf46e9 100644
--- a/summer2024-frontend/src/main.js
+++ b/summer2024-frontend/src/main.js
@@ -9,10 +9,14 @@ import VueFullPage from 'vue-fullpage.js'
import App from './App.vue'
import router from './router'
+import "vue3-openlayers/styles.css";
+import OpenLayersMap from "vue3-openlayers";
+
const app = createApp(App)
app.use(VueFullPage)
app.use(createPinia())
app.use(router)
+app.use(OpenLayersMap);
app.mount('#app')
diff --git a/summer2024-frontend/src/router/index.js b/summer2024-frontend/src/router/index.js
index f620837..b8fc864 100644
--- a/summer2024-frontend/src/router/index.js
+++ b/summer2024-frontend/src/router/index.js
@@ -1,18 +1,20 @@
import { createRouter, createWebHistory } from 'vue-router'
import PostsView from '@/views/PostsView.vue'
-import CreatePostView from '@/views/CreatePostView.vue'
-import AdminView from '@/views/AdminView.vue'
-import LoginView from '@/views/LoginView.vue'
import { useAuthStore } from '@/stores/auth.js'
+const CreatePostView = () => import('@/views/CreatePostView.vue')
+const AdminView = () => import('@/views/AdminView.vue')
+const LoginView = () => import('@/views/LoginView.vue')
+const MapView = () => import('@/views/MapView.vue')
+
function authenticatedRoute(to) {
const authStore = useAuthStore()
if (!authStore.isAuth) {
- return { name: 'admin_login', query: { redirect: to.fullPath } };
+ return { name: 'admin_login', query: { redirect: to.fullPath } }
}
- return true;
+ return true
}
const router = createRouter({
@@ -23,6 +25,11 @@ const router = createRouter({
name: 'home',
component: PostsView
},
+ {
+ path: '/map',
+ name: 'map',
+ component: MapView
+ },
{
path: '/admin/login',
name: 'admin_login',
diff --git a/summer2024-frontend/src/views/CreatePostView.vue b/summer2024-frontend/src/views/CreatePostView.vue
index 3fb9a3e..2a041f5 100644
--- a/summer2024-frontend/src/views/CreatePostView.vue
+++ b/summer2024-frontend/src/views/CreatePostView.vue
@@ -21,7 +21,7 @@ import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert/index
import { useAuthStore } from '@/stores/auth.js'
import { API_BASE_URL, S3_BUCKET, S3_ENDPOINT } from '@/config.js'
-const authStore = useAuthStore();
+const authStore = useAuthStore()
const formSchema = toTypedSchema(z.object({
description: z.string().min(1),
@@ -62,7 +62,7 @@ const onSubmit = form.handleSubmit(async (values) => {
method: 'POST',
headers: {
'Content-Type': 'application/json',
- "X-admin-token": authStore.adminToken
+ 'X-admin-token': authStore.adminToken
},
body: JSON.stringify({ filename: file.file.name })
})
@@ -105,7 +105,7 @@ const onSubmit = form.handleSubmit(async (values) => {
method: 'POST',
headers: {
'Content-Type': 'application/json',
- "X-admin-token": authStore.adminToken
+ 'X-admin-token': authStore.adminToken
},
body: JSON.stringify({
description: values.description,
diff --git a/summer2024-frontend/src/views/MapView.vue b/summer2024-frontend/src/views/MapView.vue
new file mode 100644
index 0000000..6eb1fd8
--- /dev/null
+++ b/summer2024-frontend/src/views/MapView.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ post.formatedDate }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file