From e1a770aa3e8b6c9253cfd2c0c00e6d9b1a1c0dc3 Mon Sep 17 00:00:00 2001 From: Adam French Date: Fri, 6 Feb 2026 13:42:27 +0000 Subject: [PATCH] favorites and other should be done? --- nginx/vue/src/stores/activity.js | 33 +++++++++++++++++++++++++++++++ nginx/vue/src/stores/favorites.js | 33 +++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 nginx/vue/src/stores/activity.js create mode 100644 nginx/vue/src/stores/favorites.js diff --git a/nginx/vue/src/stores/activity.js b/nginx/vue/src/stores/activity.js new file mode 100644 index 0000000..da4147f --- /dev/null +++ b/nginx/vue/src/stores/activity.js @@ -0,0 +1,33 @@ +import { defineStore } from "pinia"; +import { computed, ref } from "vue"; +import axios from "axios"; + +const activity_template = { + type: "activity", + name: "nameof", + createdAt: Date.now(), +}; + +export const useActivityStore = defineStore("activity", () => { + const activity = ref([activity_template]); + + const activityCount = computed(() => activity.value.length); + + async function fetchActivity() { + try { + const res = await axios.get("/api/activity"); + if (!Array.isArray(res.data)) { + throw new Error("Invalid response from posts API"); + } + activity.value = res.data; + } catch (err) { + console.error("Cannot connect to activity API", err); + } + } + + return { + activity, + activityCount, + fetchActivity, + }; +}); diff --git a/nginx/vue/src/stores/favorites.js b/nginx/vue/src/stores/favorites.js new file mode 100644 index 0000000..9085dcf --- /dev/null +++ b/nginx/vue/src/stores/favorites.js @@ -0,0 +1,33 @@ +import { defineStore } from "pinia"; +import { computed, ref } from "vue"; +import axios from "axios"; + +const favorite_template = { + type: "favorite", + name: "nameof", + createdAt: Date.now(), +}; + +export const useFavoritesStore = defineStore("favorites", () => { + const favorites = ref([favorite_template]); + + const favoritesCount = computed(() => favorites.value.length); + + async function fetchFavorites() { + try { + const res = await axios.get("/api/favorites"); + if (!Array.isArray(res.data)) { + throw new Error("Invalid response from favorites API"); + } + favorites.value = res.data; + } catch (err) { + console.error("Cannot connect to favorites API", err); + } + } + + return { + favorites, + favoritesCount, + fetchFavorites, + }; +});