import { ref, computed, mergeProps, unref, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain } from 'vue/server-renderer'; import { Plus, Loader2, Globe, User, Calendar, Edit, Trash2, Newspaper, AlertCircle } from 'lucide-vue-next'; import { u as useAuthStore } from './server.mjs'; import { u as useHead } from './composables-CK-Mp9jS.mjs'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; import '../routes/renderer.mjs'; import 'vue-bundle-renderer/runtime'; import 'unhead/server'; import 'devalue'; import 'unhead/utils'; import 'pinia'; import 'vue-router'; const _sfc_main = { __name: "news", __ssrInlineRender: true, setup(__props) { const authStore = useAuthStore(); const isLoading = ref(true); const isSaving = ref(false); const news = ref([]); const showModal = ref(false); const editingNews = ref(null); const errorMessage = ref(""); const formData = ref({ title: "", content: "", isPublic: false }); const canWrite = computed(() => { return authStore.role === "admin" || authStore.role === "vorstand"; }); const formatDate = (dateString) => { if (!dateString) return ""; const date = new Date(dateString); return date.toLocaleDateString("de-DE", { year: "numeric", month: "long", day: "numeric", hour: "2-digit", minute: "2-digit" }); }; useHead({ title: "Interne News - Harheimer TC" }); return (_ctx, _push, _parent, _attrs) => { _push(`
Noch keine internen News vorhanden.
`); if (canWrite.value) { _push(`Klicken Sie auf "News erstellen", um die erste News zu veröffentlichen.
`); } else { _push(``); } _push(`