Add registration page, fix auth paths, and improve navigation
This commit is contained in:
104
.output/server/chunks/_/auth.mjs
Normal file
104
.output/server/chunks/_/auth.mjs
Normal file
@@ -0,0 +1,104 @@
|
||||
import bcrypt from 'bcryptjs';
|
||||
import jwt from 'jsonwebtoken';
|
||||
import { promises } from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
const JWT_SECRET = process.env.JWT_SECRET || "harheimertc-secret-key-change-in-production";
|
||||
const getDataPath = (filename) => {
|
||||
const cwd = process.cwd();
|
||||
if (cwd.endsWith(".output")) {
|
||||
return path.join(cwd, "../server/data", filename);
|
||||
}
|
||||
return path.join(cwd, "server/data", filename);
|
||||
};
|
||||
const USERS_FILE = getDataPath("users.json");
|
||||
const SESSIONS_FILE = getDataPath("sessions.json");
|
||||
async function readUsers() {
|
||||
try {
|
||||
const data = await promises.readFile(USERS_FILE, "utf-8");
|
||||
return JSON.parse(data);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Lesen der Benutzerdaten:", error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
async function writeUsers(users) {
|
||||
try {
|
||||
await promises.writeFile(USERS_FILE, JSON.stringify(users, null, 2), "utf-8");
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Schreiben der Benutzerdaten:", error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
async function readSessions() {
|
||||
try {
|
||||
const data = await promises.readFile(SESSIONS_FILE, "utf-8");
|
||||
return JSON.parse(data);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Lesen der Sessions:", error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
async function writeSessions(sessions) {
|
||||
try {
|
||||
await promises.writeFile(SESSIONS_FILE, JSON.stringify(sessions, null, 2), "utf-8");
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Schreiben der Sessions:", error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
async function hashPassword(password) {
|
||||
const salt = await bcrypt.genSalt(10);
|
||||
return await bcrypt.hash(password, salt);
|
||||
}
|
||||
async function verifyPassword(password, hash) {
|
||||
return await bcrypt.compare(password, hash);
|
||||
}
|
||||
function generateToken(user) {
|
||||
return jwt.sign(
|
||||
{
|
||||
id: user.id,
|
||||
email: user.email,
|
||||
role: user.role
|
||||
},
|
||||
JWT_SECRET,
|
||||
{ expiresIn: "7d" }
|
||||
);
|
||||
}
|
||||
function verifyToken(token) {
|
||||
try {
|
||||
return jwt.verify(token, JWT_SECRET);
|
||||
} catch (error) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
async function getUserFromToken(token) {
|
||||
const decoded = verifyToken(token);
|
||||
if (!decoded) return null;
|
||||
const users = await readUsers();
|
||||
return users.find((u) => u.id === decoded.id);
|
||||
}
|
||||
async function createSession(userId, token) {
|
||||
const sessions = await readSessions();
|
||||
const session = {
|
||||
id: Date.now().toString(),
|
||||
userId,
|
||||
token,
|
||||
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
||||
expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1e3).toISOString()
|
||||
// 7 days
|
||||
};
|
||||
sessions.push(session);
|
||||
await writeSessions(sessions);
|
||||
return session;
|
||||
}
|
||||
async function deleteSession(token) {
|
||||
const sessions = await readSessions();
|
||||
const filtered = sessions.filter((s) => s.token !== token);
|
||||
await writeSessions(filtered);
|
||||
}
|
||||
|
||||
export { getUserFromToken as a, createSession as c, deleteSession as d, generateToken as g, hashPassword as h, readUsers as r, verifyPassword as v, writeUsers as w };
|
||||
//# sourceMappingURL=auth.mjs.map
|
||||
1
.output/server/chunks/_/auth.mjs.map
Normal file
1
.output/server/chunks/_/auth.mjs.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"auth.mjs","sources":["../../../../server/utils/auth.js"],"sourcesContent":null,"names":["fs"],"mappings":"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"}
|
||||
456
.output/server/chunks/build/auth-D7NaNMED.mjs
Normal file
456
.output/server/chunks/build/auth-D7NaNMED.mjs
Normal file
@@ -0,0 +1,456 @@
|
||||
import { z as executeAsync, D as hash } from '../nitro/nitro.mjs';
|
||||
import { d as defineNuxtRouteMiddleware, n as navigateTo, f as fetchDefaults, a as useNuxtApp, b as asyncDataDefaults, c as createError } from './server.mjs';
|
||||
import { computed, toValue, reactive, watch, getCurrentInstance, onServerPrefetch, ref, shallowRef, toRef, nextTick, unref, defineComponent, createElementBlock, provide, cloneVNode, h } from 'vue';
|
||||
import { isPlainObject } from '@vue/shared';
|
||||
import { debounce } from 'perfect-debounce';
|
||||
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 'vue/server-renderer';
|
||||
import 'unhead/server';
|
||||
import 'devalue';
|
||||
import 'unhead/utils';
|
||||
import 'unhead/plugins';
|
||||
import 'vue-router';
|
||||
import 'lucide-vue-next';
|
||||
|
||||
function useRequestEvent(nuxtApp) {
|
||||
var _a;
|
||||
nuxtApp || (nuxtApp = useNuxtApp());
|
||||
return (_a = nuxtApp.ssrContext) == null ? void 0 : _a.event;
|
||||
}
|
||||
function useRequestFetch() {
|
||||
var _a;
|
||||
return ((_a = useRequestEvent()) == null ? void 0 : _a.$fetch) || globalThis.$fetch;
|
||||
}
|
||||
defineComponent({
|
||||
name: "ServerPlaceholder",
|
||||
render() {
|
||||
return createElementBlock("div");
|
||||
}
|
||||
});
|
||||
const clientOnlySymbol = Symbol.for("nuxt:client-only");
|
||||
defineComponent({
|
||||
name: "ClientOnly",
|
||||
inheritAttrs: false,
|
||||
props: ["fallback", "placeholder", "placeholderTag", "fallbackTag"],
|
||||
...false,
|
||||
setup(props, { slots, attrs }) {
|
||||
const mounted = shallowRef(false);
|
||||
const vm = getCurrentInstance();
|
||||
if (vm) {
|
||||
vm._nuxtClientOnly = true;
|
||||
}
|
||||
provide(clientOnlySymbol, true);
|
||||
return () => {
|
||||
var _a;
|
||||
if (mounted.value) {
|
||||
const vnodes = (_a = slots.default) == null ? void 0 : _a.call(slots);
|
||||
if (vnodes && vnodes.length === 1) {
|
||||
return [cloneVNode(vnodes[0], attrs)];
|
||||
}
|
||||
return vnodes;
|
||||
}
|
||||
const slot = slots.fallback || slots.placeholder;
|
||||
if (slot) {
|
||||
return h(slot);
|
||||
}
|
||||
const fallbackStr = props.fallback || props.placeholder || "";
|
||||
const fallbackTag = props.fallbackTag || props.placeholderTag || "span";
|
||||
return createElementBlock(fallbackTag, attrs, fallbackStr);
|
||||
};
|
||||
}
|
||||
});
|
||||
const isDefer = (dedupe) => dedupe === "defer" || dedupe === false;
|
||||
function useAsyncData(...args) {
|
||||
var _a, _b, _c, _d, _e, _f, _g;
|
||||
const autoKey = typeof args[args.length - 1] === "string" ? args.pop() : void 0;
|
||||
if (_isAutoKeyNeeded(args[0], args[1])) {
|
||||
args.unshift(autoKey);
|
||||
}
|
||||
let [_key, _handler, options = {}] = args;
|
||||
const key = computed(() => toValue(_key));
|
||||
if (typeof key.value !== "string") {
|
||||
throw new TypeError("[nuxt] [useAsyncData] key must be a string.");
|
||||
}
|
||||
if (typeof _handler !== "function") {
|
||||
throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");
|
||||
}
|
||||
const nuxtApp = useNuxtApp();
|
||||
(_a = options.server) != null ? _a : options.server = true;
|
||||
(_b = options.default) != null ? _b : options.default = getDefault;
|
||||
(_c = options.getCachedData) != null ? _c : options.getCachedData = getDefaultCachedData;
|
||||
(_d = options.lazy) != null ? _d : options.lazy = false;
|
||||
(_e = options.immediate) != null ? _e : options.immediate = true;
|
||||
(_f = options.deep) != null ? _f : options.deep = asyncDataDefaults.deep;
|
||||
(_g = options.dedupe) != null ? _g : options.dedupe = "cancel";
|
||||
options._functionName || "useAsyncData";
|
||||
nuxtApp._asyncData[key.value];
|
||||
function createInitialFetch() {
|
||||
var _a2;
|
||||
const initialFetchOptions = { cause: "initial", dedupe: options.dedupe };
|
||||
if (!((_a2 = nuxtApp._asyncData[key.value]) == null ? void 0 : _a2._init)) {
|
||||
initialFetchOptions.cachedData = options.getCachedData(key.value, nuxtApp, { cause: "initial" });
|
||||
nuxtApp._asyncData[key.value] = createAsyncData(nuxtApp, key.value, _handler, options, initialFetchOptions.cachedData);
|
||||
}
|
||||
return () => nuxtApp._asyncData[key.value].execute(initialFetchOptions);
|
||||
}
|
||||
const initialFetch = createInitialFetch();
|
||||
const asyncData = nuxtApp._asyncData[key.value];
|
||||
asyncData._deps++;
|
||||
const fetchOnServer = options.server !== false && nuxtApp.payload.serverRendered;
|
||||
if (fetchOnServer && options.immediate) {
|
||||
const promise = initialFetch();
|
||||
if (getCurrentInstance()) {
|
||||
onServerPrefetch(() => promise);
|
||||
} else {
|
||||
nuxtApp.hook("app:created", async () => {
|
||||
await promise;
|
||||
});
|
||||
}
|
||||
}
|
||||
const asyncReturn = {
|
||||
data: writableComputedRef(() => {
|
||||
var _a2;
|
||||
return (_a2 = nuxtApp._asyncData[key.value]) == null ? void 0 : _a2.data;
|
||||
}),
|
||||
pending: writableComputedRef(() => {
|
||||
var _a2;
|
||||
return (_a2 = nuxtApp._asyncData[key.value]) == null ? void 0 : _a2.pending;
|
||||
}),
|
||||
status: writableComputedRef(() => {
|
||||
var _a2;
|
||||
return (_a2 = nuxtApp._asyncData[key.value]) == null ? void 0 : _a2.status;
|
||||
}),
|
||||
error: writableComputedRef(() => {
|
||||
var _a2;
|
||||
return (_a2 = nuxtApp._asyncData[key.value]) == null ? void 0 : _a2.error;
|
||||
}),
|
||||
refresh: (...args2) => {
|
||||
var _a2;
|
||||
if (!((_a2 = nuxtApp._asyncData[key.value]) == null ? void 0 : _a2._init)) {
|
||||
const initialFetch2 = createInitialFetch();
|
||||
return initialFetch2();
|
||||
}
|
||||
return nuxtApp._asyncData[key.value].execute(...args2);
|
||||
},
|
||||
execute: (...args2) => asyncReturn.refresh(...args2),
|
||||
clear: () => clearNuxtDataByKey(nuxtApp, key.value)
|
||||
};
|
||||
const asyncDataPromise = Promise.resolve(nuxtApp._asyncDataPromises[key.value]).then(() => asyncReturn);
|
||||
Object.assign(asyncDataPromise, asyncReturn);
|
||||
return asyncDataPromise;
|
||||
}
|
||||
function writableComputedRef(getter) {
|
||||
return computed({
|
||||
get() {
|
||||
var _a;
|
||||
return (_a = getter()) == null ? void 0 : _a.value;
|
||||
},
|
||||
set(value) {
|
||||
const ref2 = getter();
|
||||
if (ref2) {
|
||||
ref2.value = value;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
function _isAutoKeyNeeded(keyOrFetcher, fetcher) {
|
||||
if (typeof keyOrFetcher === "string") {
|
||||
return false;
|
||||
}
|
||||
if (typeof keyOrFetcher === "object" && keyOrFetcher !== null) {
|
||||
return false;
|
||||
}
|
||||
if (typeof keyOrFetcher === "function" && typeof fetcher === "function") {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
function clearNuxtDataByKey(nuxtApp, key) {
|
||||
if (key in nuxtApp.payload.data) {
|
||||
nuxtApp.payload.data[key] = void 0;
|
||||
}
|
||||
if (key in nuxtApp.payload._errors) {
|
||||
nuxtApp.payload._errors[key] = asyncDataDefaults.errorValue;
|
||||
}
|
||||
if (nuxtApp._asyncData[key]) {
|
||||
nuxtApp._asyncData[key].data.value = void 0;
|
||||
nuxtApp._asyncData[key].error.value = asyncDataDefaults.errorValue;
|
||||
{
|
||||
nuxtApp._asyncData[key].pending.value = false;
|
||||
}
|
||||
nuxtApp._asyncData[key].status.value = "idle";
|
||||
}
|
||||
if (key in nuxtApp._asyncDataPromises) {
|
||||
if (nuxtApp._asyncDataPromises[key]) {
|
||||
nuxtApp._asyncDataPromises[key].cancelled = true;
|
||||
}
|
||||
nuxtApp._asyncDataPromises[key] = void 0;
|
||||
}
|
||||
}
|
||||
function pick(obj, keys) {
|
||||
const newObj = {};
|
||||
for (const key of keys) {
|
||||
newObj[key] = obj[key];
|
||||
}
|
||||
return newObj;
|
||||
}
|
||||
function createAsyncData(nuxtApp, key, _handler, options, initialCachedData) {
|
||||
var _a, _b;
|
||||
(_b = (_a = nuxtApp.payload._errors)[key]) != null ? _b : _a[key] = asyncDataDefaults.errorValue;
|
||||
const hasCustomGetCachedData = options.getCachedData !== getDefaultCachedData;
|
||||
const handler = _handler ;
|
||||
const _ref = options.deep ? ref : shallowRef;
|
||||
const hasCachedData = initialCachedData != null;
|
||||
const unsubRefreshAsyncData = nuxtApp.hook("app:data:refresh", async (keys) => {
|
||||
if (!keys || keys.includes(key)) {
|
||||
await asyncData.execute({ cause: "refresh:hook" });
|
||||
}
|
||||
});
|
||||
const asyncData = {
|
||||
data: _ref(hasCachedData ? initialCachedData : options.default()),
|
||||
pending: shallowRef(!hasCachedData),
|
||||
error: toRef(nuxtApp.payload._errors, key),
|
||||
status: shallowRef("idle"),
|
||||
execute: (...args) => {
|
||||
var _a2, _b2;
|
||||
const [_opts, newValue = void 0] = args;
|
||||
const opts = _opts && newValue === void 0 && typeof _opts === "object" ? _opts : {};
|
||||
if (nuxtApp._asyncDataPromises[key]) {
|
||||
if (isDefer((_a2 = opts.dedupe) != null ? _a2 : options.dedupe)) {
|
||||
return nuxtApp._asyncDataPromises[key];
|
||||
}
|
||||
nuxtApp._asyncDataPromises[key].cancelled = true;
|
||||
}
|
||||
if (opts.cause === "initial" || nuxtApp.isHydrating) {
|
||||
const cachedData = "cachedData" in opts ? opts.cachedData : options.getCachedData(key, nuxtApp, { cause: (_b2 = opts.cause) != null ? _b2 : "refresh:manual" });
|
||||
if (cachedData != null) {
|
||||
nuxtApp.payload.data[key] = asyncData.data.value = cachedData;
|
||||
asyncData.error.value = asyncDataDefaults.errorValue;
|
||||
asyncData.status.value = "success";
|
||||
return Promise.resolve(cachedData);
|
||||
}
|
||||
}
|
||||
{
|
||||
asyncData.pending.value = true;
|
||||
}
|
||||
asyncData.status.value = "pending";
|
||||
const promise = new Promise(
|
||||
(resolve, reject) => {
|
||||
try {
|
||||
resolve(handler(nuxtApp));
|
||||
} catch (err) {
|
||||
reject(err);
|
||||
}
|
||||
}
|
||||
).then(async (_result) => {
|
||||
if (promise.cancelled) {
|
||||
return nuxtApp._asyncDataPromises[key];
|
||||
}
|
||||
let result = _result;
|
||||
if (options.transform) {
|
||||
result = await options.transform(_result);
|
||||
}
|
||||
if (options.pick) {
|
||||
result = pick(result, options.pick);
|
||||
}
|
||||
nuxtApp.payload.data[key] = result;
|
||||
asyncData.data.value = result;
|
||||
asyncData.error.value = asyncDataDefaults.errorValue;
|
||||
asyncData.status.value = "success";
|
||||
}).catch((error) => {
|
||||
if (promise.cancelled) {
|
||||
return nuxtApp._asyncDataPromises[key];
|
||||
}
|
||||
asyncData.error.value = createError(error);
|
||||
asyncData.data.value = unref(options.default());
|
||||
asyncData.status.value = "error";
|
||||
}).finally(() => {
|
||||
if (promise.cancelled) {
|
||||
return;
|
||||
}
|
||||
{
|
||||
asyncData.pending.value = false;
|
||||
}
|
||||
delete nuxtApp._asyncDataPromises[key];
|
||||
});
|
||||
nuxtApp._asyncDataPromises[key] = promise;
|
||||
return nuxtApp._asyncDataPromises[key];
|
||||
},
|
||||
_execute: debounce((...args) => asyncData.execute(...args), 0, { leading: true }),
|
||||
_default: options.default,
|
||||
_deps: 0,
|
||||
_init: true,
|
||||
_hash: void 0,
|
||||
_off: () => {
|
||||
var _a2;
|
||||
unsubRefreshAsyncData();
|
||||
if ((_a2 = nuxtApp._asyncData[key]) == null ? void 0 : _a2._init) {
|
||||
nuxtApp._asyncData[key]._init = false;
|
||||
}
|
||||
if (!hasCustomGetCachedData) {
|
||||
nextTick(() => {
|
||||
var _a3;
|
||||
if (!((_a3 = nuxtApp._asyncData[key]) == null ? void 0 : _a3._init)) {
|
||||
clearNuxtDataByKey(nuxtApp, key);
|
||||
asyncData.execute = () => Promise.resolve();
|
||||
asyncData.data.value = asyncDataDefaults.value;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return asyncData;
|
||||
}
|
||||
const getDefault = () => asyncDataDefaults.value;
|
||||
const getDefaultCachedData = (key, nuxtApp, ctx) => {
|
||||
if (nuxtApp.isHydrating) {
|
||||
return nuxtApp.payload.data[key];
|
||||
}
|
||||
if (ctx.cause !== "refresh:manual" && ctx.cause !== "refresh:hook") {
|
||||
return nuxtApp.static.data[key];
|
||||
}
|
||||
};
|
||||
function useFetch(request, arg1, arg2) {
|
||||
const [opts = {}, autoKey] = [{}, arg1];
|
||||
const _request = computed(() => toValue(request));
|
||||
const key = computed(() => toValue(opts.key) || "$f" + hash([autoKey, typeof _request.value === "string" ? _request.value : "", ...generateOptionSegments(opts)]));
|
||||
if (!opts.baseURL && typeof _request.value === "string" && (_request.value[0] === "/" && _request.value[1] === "/")) {
|
||||
throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');
|
||||
}
|
||||
const {
|
||||
server,
|
||||
lazy,
|
||||
default: defaultFn,
|
||||
transform,
|
||||
pick: pick2,
|
||||
watch: watchSources,
|
||||
immediate,
|
||||
getCachedData,
|
||||
deep,
|
||||
dedupe,
|
||||
...fetchOptions
|
||||
} = opts;
|
||||
const _fetchOptions = reactive({
|
||||
...fetchDefaults,
|
||||
...fetchOptions,
|
||||
cache: typeof opts.cache === "boolean" ? void 0 : opts.cache
|
||||
});
|
||||
const _asyncDataOptions = {
|
||||
server,
|
||||
lazy,
|
||||
default: defaultFn,
|
||||
transform,
|
||||
pick: pick2,
|
||||
immediate,
|
||||
getCachedData,
|
||||
deep,
|
||||
dedupe,
|
||||
watch: watchSources === false ? [] : [...watchSources || [], _fetchOptions]
|
||||
};
|
||||
if (!immediate) {
|
||||
let setImmediate = function() {
|
||||
_asyncDataOptions.immediate = true;
|
||||
};
|
||||
watch(key, setImmediate, { flush: "sync", once: true });
|
||||
watch([...watchSources || [], _fetchOptions], setImmediate, { flush: "sync", once: true });
|
||||
}
|
||||
let controller;
|
||||
const asyncData = useAsyncData(watchSources === false ? key.value : key, () => {
|
||||
var _a;
|
||||
(_a = controller == null ? void 0 : controller.abort) == null ? void 0 : _a.call(controller, new DOMException("Request aborted as another request to the same endpoint was initiated.", "AbortError"));
|
||||
controller = typeof AbortController !== "undefined" ? new AbortController() : {};
|
||||
const timeoutLength = toValue(opts.timeout);
|
||||
let timeoutId;
|
||||
if (timeoutLength) {
|
||||
timeoutId = setTimeout(() => controller.abort(new DOMException("Request aborted due to timeout.", "AbortError")), timeoutLength);
|
||||
controller.signal.onabort = () => clearTimeout(timeoutId);
|
||||
}
|
||||
let _$fetch = opts.$fetch || globalThis.$fetch;
|
||||
if (!opts.$fetch) {
|
||||
const isLocalFetch = typeof _request.value === "string" && _request.value[0] === "/" && (!toValue(opts.baseURL) || toValue(opts.baseURL)[0] === "/");
|
||||
if (isLocalFetch) {
|
||||
_$fetch = useRequestFetch();
|
||||
}
|
||||
}
|
||||
return _$fetch(_request.value, { signal: controller.signal, ..._fetchOptions }).finally(() => {
|
||||
clearTimeout(timeoutId);
|
||||
});
|
||||
}, _asyncDataOptions);
|
||||
return asyncData;
|
||||
}
|
||||
function generateOptionSegments(opts) {
|
||||
var _a;
|
||||
const segments = [
|
||||
((_a = toValue(opts.method)) == null ? void 0 : _a.toUpperCase()) || "GET",
|
||||
toValue(opts.baseURL)
|
||||
];
|
||||
for (const _obj of [opts.params || opts.query]) {
|
||||
const obj = toValue(_obj);
|
||||
if (!obj) {
|
||||
continue;
|
||||
}
|
||||
const unwrapped = {};
|
||||
for (const [key, value] of Object.entries(obj)) {
|
||||
unwrapped[toValue(key)] = toValue(value);
|
||||
}
|
||||
segments.push(unwrapped);
|
||||
}
|
||||
if (opts.body) {
|
||||
const value = toValue(opts.body);
|
||||
if (!value) {
|
||||
segments.push(hash(value));
|
||||
} else if (value instanceof ArrayBuffer) {
|
||||
segments.push(hash(Object.fromEntries([...new Uint8Array(value).entries()].map(([k, v]) => [k, v.toString()]))));
|
||||
} else if (value instanceof FormData) {
|
||||
const obj = {};
|
||||
for (const entry of value.entries()) {
|
||||
const [key, val] = entry;
|
||||
obj[key] = val instanceof File ? val.name : val;
|
||||
}
|
||||
segments.push(hash(obj));
|
||||
} else if (isPlainObject(value)) {
|
||||
segments.push(hash(reactive(value)));
|
||||
} else {
|
||||
try {
|
||||
segments.push(hash(value));
|
||||
} catch {
|
||||
console.warn("[useFetch] Failed to hash body", value);
|
||||
}
|
||||
}
|
||||
}
|
||||
return segments;
|
||||
}
|
||||
const auth = defineNuxtRouteMiddleware(async (to, from) => {
|
||||
let __temp, __restore;
|
||||
const protectedRoutes = ["/mitgliederbereich", "/cms"];
|
||||
const requiresAuth = protectedRoutes.some((route) => to.path.startsWith(route));
|
||||
if (!requiresAuth) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const { data: auth2 } = ([__temp, __restore] = executeAsync(() => useFetch("/api/auth/status", "$iafshigZRx")), __temp = await __temp, __restore(), __temp);
|
||||
if (!auth2.value || !auth2.value.isLoggedIn) {
|
||||
return navigateTo("/login?redirect=" + to.path);
|
||||
}
|
||||
if (to.path.startsWith("/cms")) {
|
||||
const isAdmin = auth2.value.role === "admin" || auth2.value.role === "vorstand";
|
||||
if (!isAdmin) {
|
||||
return navigateTo("/mitgliederbereich");
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return navigateTo("/login?redirect=" + to.path);
|
||||
}
|
||||
});
|
||||
|
||||
export { auth as default };
|
||||
//# sourceMappingURL=auth-D7NaNMED.mjs.map
|
||||
1
.output/server/chunks/build/auth-D7NaNMED.mjs.map
Normal file
1
.output/server/chunks/build/auth-D7NaNMED.mjs.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"auth-D7NaNMED.mjs","sources":["../../../../node_modules/nuxt/dist/app/composables/ssr.js","../../../../node_modules/nuxt/dist/app/components/server-placeholder.js","../../../../node_modules/nuxt/dist/app/components/client-only.js","../../../../node_modules/nuxt/dist/app/composables/asyncData.js","../../../../node_modules/nuxt/dist/app/composables/fetch.js","../../../../middleware/auth.js"],"sourcesContent":null,"names":["_a","_b","pick","auth","__executeAsync"],"mappings":"","x_google_ignoreList":[0,1,2,3,4]}
|
||||
@@ -10,12 +10,12 @@ const client_manifest = {
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
"_Bhv0LDrk.js": {
|
||||
"_BHFrGoXk.js": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "Bhv0LDrk.js",
|
||||
"file": "BHFrGoXk.js",
|
||||
"name": "v3",
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
@@ -43,6 +43,28 @@ const client_manifest = {
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
"_C8kQt0fa.js": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "C8kQt0fa.js",
|
||||
"name": "alert-circle",
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
"_CUq_0rkE.js": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "CUq_0rkE.js",
|
||||
"name": "loader-2",
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
"_CWEkTB1z.js": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
@@ -98,6 +120,17 @@ const client_manifest = {
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
"_DAACT36i.js": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "DAACT36i.js",
|
||||
"name": "newspaper",
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
"_DaSgy0Cl.js": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
@@ -168,19 +201,32 @@ const client_manifest = {
|
||||
"file": "Harheimer TC.CKfYAfp1.svg",
|
||||
"src": "assets/images/logos/Harheimer TC.svg"
|
||||
},
|
||||
"middleware/auth.js": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "gLPgOmla.js",
|
||||
"name": "auth",
|
||||
"src": "middleware/auth.js",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
"node_modules/nuxt/dist/app/components/error-404.vue": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "CuqbzRJp.js",
|
||||
"file": "CG6EwBRh.js",
|
||||
"name": "error-404",
|
||||
"src": "node_modules/nuxt/dist/app/components/error-404.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_DlAUqK2U.js",
|
||||
"_Bhv0LDrk.js"
|
||||
"_BHFrGoXk.js"
|
||||
],
|
||||
"css": []
|
||||
},
|
||||
@@ -195,13 +241,13 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "DvQPLLks.js",
|
||||
"file": "DdaR8fUb.js",
|
||||
"name": "error-500",
|
||||
"src": "node_modules/nuxt/dist/app/components/error-500.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_DlAUqK2U.js",
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
],
|
||||
"css": []
|
||||
@@ -217,11 +263,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "Dzvh14Kz.js",
|
||||
"file": "CYBxhx9-.js",
|
||||
"name": "entry",
|
||||
"src": "node_modules/nuxt/dist/app/entry.js",
|
||||
"isEntry": true,
|
||||
"dynamicImports": [
|
||||
"middleware/auth.js",
|
||||
"node_modules/nuxt/dist/app/components/error-404.vue",
|
||||
"node_modules/nuxt/dist/app/components/error-500.vue"
|
||||
],
|
||||
@@ -241,13 +288,31 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "DJ7dbBSo.js",
|
||||
"file": "DjgE_sEr.js",
|
||||
"name": "anlagen",
|
||||
"src": "pages/anlagen.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_Bhv0LDrk.js"
|
||||
"_BHFrGoXk.js"
|
||||
]
|
||||
},
|
||||
"pages/cms/index.vue": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "DrcpzAie.js",
|
||||
"name": "index",
|
||||
"src": "pages/cms/index.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_BHFrGoXk.js",
|
||||
"_YJHbYJtA.js",
|
||||
"_DAACT36i.js",
|
||||
"_BteKZQ9T.js",
|
||||
"_DkeYb0_S.js",
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
"pages/galerie.vue": {
|
||||
@@ -255,13 +320,13 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "BNyGYpIS.js",
|
||||
"file": "HjuZPL1x.js",
|
||||
"name": "galerie",
|
||||
"src": "pages/galerie.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_Bhv0LDrk.js"
|
||||
"_BHFrGoXk.js"
|
||||
]
|
||||
},
|
||||
"pages/geschichte.vue": {
|
||||
@@ -269,12 +334,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "B-8zBTYH.js",
|
||||
"file": "Bt7nK3rf.js",
|
||||
"name": "geschichte",
|
||||
"src": "pages/geschichte.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
@@ -283,13 +348,13 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "CH8qO4fu.js",
|
||||
"file": "C_7cz6DH.js",
|
||||
"name": "impressum",
|
||||
"src": "pages/impressum.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_BteKZQ9T.js",
|
||||
"_Czdc6-TI.js"
|
||||
]
|
||||
@@ -323,14 +388,32 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "CXsdaXH6.js",
|
||||
"file": "WIFjVsoU.js",
|
||||
"name": "kontakt",
|
||||
"src": "pages/kontakt.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_C5SyyWEb.js",
|
||||
"_Bhv0LDrk.js"
|
||||
"_C8kQt0fa.js",
|
||||
"_BHFrGoXk.js"
|
||||
]
|
||||
},
|
||||
"pages/login.vue": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "0HxIkpDh.js",
|
||||
"name": "login",
|
||||
"src": "pages/login.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_C8kQt0fa.js",
|
||||
"_DaSgy0Cl.js",
|
||||
"_CUq_0rkE.js"
|
||||
]
|
||||
},
|
||||
"pages/mannschaften/[slug].vue": {
|
||||
@@ -338,13 +421,13 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "B6WBbdVo.js",
|
||||
"file": "DCNxe3RA.js",
|
||||
"name": "_slug_",
|
||||
"src": "pages/mannschaften/[slug].vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_jVj3QaoK.js"
|
||||
]
|
||||
},
|
||||
@@ -353,13 +436,13 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "D3zFABjp.js",
|
||||
"file": "BvMz9Jgl.js",
|
||||
"name": "damen",
|
||||
"src": "pages/mannschaften/damen.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_Bhv0LDrk.js"
|
||||
"_BHFrGoXk.js"
|
||||
]
|
||||
},
|
||||
"pages/mannschaften/herren.vue": {
|
||||
@@ -367,12 +450,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "OxTlf1ZK.js",
|
||||
"file": "9Bmm8Ml1.js",
|
||||
"name": "herren",
|
||||
"src": "pages/mannschaften/herren.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
@@ -381,7 +464,7 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "Br56r5HY.js",
|
||||
"file": "Cc_YSIsc.js",
|
||||
"name": "index",
|
||||
"src": "pages/mannschaften/index.vue",
|
||||
"isDynamicEntry": true,
|
||||
@@ -389,7 +472,7 @@ const client_manifest = {
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_jVj3QaoK.js",
|
||||
"_DkeYb0_S.js",
|
||||
"_Bhv0LDrk.js"
|
||||
"_BHFrGoXk.js"
|
||||
]
|
||||
},
|
||||
"pages/mannschaften/jugend.vue": {
|
||||
@@ -397,13 +480,13 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "91SGRVOW.js",
|
||||
"file": "B9EeawL0.js",
|
||||
"name": "jugend",
|
||||
"src": "pages/mannschaften/jugend.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_Bhv0LDrk.js"
|
||||
"_BHFrGoXk.js"
|
||||
]
|
||||
},
|
||||
"pages/mannschaften/spielplaene.vue": {
|
||||
@@ -411,23 +494,39 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "BhSG1dHk.js",
|
||||
"file": "Cu9pESPT.js",
|
||||
"name": "spielplaene",
|
||||
"src": "pages/mannschaften/spielplaene.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_BteKZQ9T.js",
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_Cx4UcKGu.js"
|
||||
]
|
||||
},
|
||||
"pages/mitgliederbereich/index.vue": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "BS-ozMaL.js",
|
||||
"name": "index",
|
||||
"src": "pages/mitgliederbereich/index.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_DkeYb0_S.js",
|
||||
"_DAACT36i.js"
|
||||
]
|
||||
},
|
||||
"pages/mitgliedschaft.vue": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "DT67Eyw3.js",
|
||||
"file": "DdCvOctW.js",
|
||||
"name": "mitgliedschaft",
|
||||
"src": "pages/mitgliedschaft.vue",
|
||||
"isDynamicEntry": true,
|
||||
@@ -438,7 +537,41 @@ const client_manifest = {
|
||||
"_CWEkTB1z.js",
|
||||
"_BteKZQ9T.js",
|
||||
"_Czdc6-TI.js",
|
||||
"_Bhv0LDrk.js"
|
||||
"_BHFrGoXk.js"
|
||||
]
|
||||
},
|
||||
"pages/passwort-vergessen.vue": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "wEYEdgGa.js",
|
||||
"name": "passwort-vergessen",
|
||||
"src": "pages/passwort-vergessen.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_C8kQt0fa.js",
|
||||
"_DaSgy0Cl.js",
|
||||
"_CUq_0rkE.js"
|
||||
]
|
||||
},
|
||||
"pages/registrieren.vue": {
|
||||
"resourceType": "script",
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "CPBCerx_.js",
|
||||
"name": "registrieren",
|
||||
"src": "pages/registrieren.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_C8kQt0fa.js",
|
||||
"_DaSgy0Cl.js",
|
||||
"_CUq_0rkE.js"
|
||||
]
|
||||
},
|
||||
"pages/satzung.vue": {
|
||||
@@ -446,12 +579,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "C9_Ca2Kh.js",
|
||||
"file": "MfuAw3Pu.js",
|
||||
"name": "satzung",
|
||||
"src": "pages/satzung.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_BteKZQ9T.js",
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
@@ -461,12 +594,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "BMsfuDsV.js",
|
||||
"file": "7Il07067.js",
|
||||
"name": "spielsysteme",
|
||||
"src": "pages/spielsysteme.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_DkeYb0_S.js",
|
||||
"_YJHbYJtA.js",
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
@@ -480,12 +613,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "CxnG1kov.js",
|
||||
"file": "B-j_qHre.js",
|
||||
"name": "termine",
|
||||
"src": "pages/termine.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_YJHbYJtA.js",
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
@@ -495,13 +628,13 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "BGqINamU.js",
|
||||
"file": "p9tSJNbO.js",
|
||||
"name": "anfaenger",
|
||||
"src": "pages/training/anfaenger.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_DaSgy0Cl.js"
|
||||
]
|
||||
},
|
||||
@@ -510,13 +643,13 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "BWBYU0do.js",
|
||||
"file": "CxCUaO3C.js",
|
||||
"name": "index",
|
||||
"src": "pages/training/index.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_C5SyyWEb.js"
|
||||
]
|
||||
},
|
||||
@@ -525,12 +658,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "NR0kh36x.js",
|
||||
"file": "CnDB0aJH.js",
|
||||
"name": "trainer",
|
||||
"src": "pages/training/trainer.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
},
|
||||
@@ -539,12 +672,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "b9abQFlW.js",
|
||||
"file": "CYU0Dj4j.js",
|
||||
"name": "tt-regeln",
|
||||
"src": "pages/tt-regeln.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_BteKZQ9T.js",
|
||||
"_B4mSF5Ac.js",
|
||||
@@ -558,7 +691,7 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "CemKpROJ.js",
|
||||
"file": "CIqfbIjz.js",
|
||||
"name": "ueber-uns",
|
||||
"src": "pages/ueber-uns.vue",
|
||||
"isDynamicEntry": true,
|
||||
@@ -566,7 +699,7 @@ const client_manifest = {
|
||||
"node_modules/nuxt/dist/app/entry.js",
|
||||
"_CWEkTB1z.js",
|
||||
"_B4mSF5Ac.js",
|
||||
"_Bhv0LDrk.js"
|
||||
"_BHFrGoXk.js"
|
||||
]
|
||||
},
|
||||
"pages/vereinsmeisterschaften.vue": {
|
||||
@@ -574,12 +707,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "BQH-LsLF.js",
|
||||
"file": "BVSdBhsj.js",
|
||||
"name": "vereinsmeisterschaften",
|
||||
"src": "pages/vereinsmeisterschaften.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"_CrCcIvVp.js",
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
@@ -589,12 +722,12 @@ const client_manifest = {
|
||||
"module": true,
|
||||
"prefetch": true,
|
||||
"preload": true,
|
||||
"file": "CnKUmKR9.js",
|
||||
"file": "DosETvDb.js",
|
||||
"name": "vorstand",
|
||||
"src": "pages/vorstand.vue",
|
||||
"isDynamicEntry": true,
|
||||
"imports": [
|
||||
"_Bhv0LDrk.js",
|
||||
"_BHFrGoXk.js",
|
||||
"node_modules/nuxt/dist/app/entry.js"
|
||||
]
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
11
.output/server/chunks/build/entry-styles.C14gkgmD.mjs
Normal file
11
.output/server/chunks/build/entry-styles.C14gkgmD.mjs
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"entry-styles.C14gkgmD.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/entry-styles.C14gkgmD.mjs"],"sourcesContent":null,"names":["style_0","style_1"],"mappings":";;;;AAEA,6BAAe;AACf,EAAEA,QAAO;AACT,EAAEC;AACF;;;;"}
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"entry-styles.CTgtYOBO.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/entry-styles.CTgtYOBO.mjs"],"sourcesContent":null,"names":["style_0","style_1"],"mappings":";;;;AAEA,6BAAe;AACf,EAAEA,QAAO;AACT,EAAEC;AACF;;;;"}
|
||||
148
.output/server/chunks/build/index-CtmAVvb3.mjs
Normal file
148
.output/server/chunks/build/index-CtmAVvb3.mjs
Normal file
@@ -0,0 +1,148 @@
|
||||
import { _ as __nuxt_component_0 } from './server.mjs';
|
||||
import { ref, computed, mergeProps, withCtx, unref, createVNode, useSSRContext } from 'vue';
|
||||
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer';
|
||||
import { Users, Newspaper, UserCog } from 'lucide-vue-next';
|
||||
import { u as useHead } from './v3-BQ4jllfP.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 'unhead/plugins';
|
||||
import 'vue-router';
|
||||
|
||||
const _sfc_main = {
|
||||
__name: "index",
|
||||
__ssrInlineRender: true,
|
||||
setup(__props) {
|
||||
const user = ref(null);
|
||||
const roleLabel = computed(() => {
|
||||
var _a;
|
||||
const labels = {
|
||||
admin: "Administrator",
|
||||
vorstand: "Vorstand",
|
||||
mitglied: "Mitglied"
|
||||
};
|
||||
return labels[(_a = user.value) == null ? void 0 : _a.role] || "Mitglied";
|
||||
});
|
||||
const lastLoginFormatted = computed(() => {
|
||||
var _a;
|
||||
if (!((_a = user.value) == null ? void 0 : _a.lastLogin)) return "Erste Anmeldung";
|
||||
return new Date(user.value.lastLogin).toLocaleString("de-DE");
|
||||
});
|
||||
useHead({
|
||||
title: "Mitgliederbereich - Harheimer TC"
|
||||
});
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
var _a;
|
||||
const _component_NuxtLink = __nuxt_component_0;
|
||||
_push(`<div${ssrRenderAttrs(mergeProps({ class: "min-h-full py-16 bg-gray-50" }, _attrs))}><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><h1 class="text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"> Mitgliederbereich </h1><div class="w-24 h-1 bg-primary-600 mb-8"></div><div class="bg-white rounded-xl shadow-lg p-8 mb-8"><h2 class="text-2xl font-display font-bold text-gray-900 mb-4"> Willkommen, ${ssrInterpolate((_a = user.value) == null ? void 0 : _a.name)}! </h2><p class="text-gray-600 mb-4"> Sie sind als <span class="font-semibold text-primary-600">${ssrInterpolate(roleLabel.value)}</span> angemeldet. </p><p class="text-sm text-gray-500"> Letzter Login: ${ssrInterpolate(lastLoginFormatted.value)}</p></div><div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/mitgliederbereich/mitglieder",
|
||||
class: "bg-white p-6 rounded-xl shadow-lg hover:shadow-xl transition-shadow border border-gray-100"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(`<div class="flex items-center mb-4"${_scopeId}><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4"${_scopeId}>`);
|
||||
_push2(ssrRenderComponent(unref(Users), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
}, null, _parent2, _scopeId));
|
||||
_push2(`</div><h3 class="text-lg font-semibold text-gray-900"${_scopeId}>Mitgliederliste</h3></div><p class="text-gray-600 text-sm"${_scopeId}> Kontaktdaten aller Vereinsmitglieder </p>`);
|
||||
} else {
|
||||
return [
|
||||
createVNode("div", { class: "flex items-center mb-4" }, [
|
||||
createVNode("div", { class: "w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4" }, [
|
||||
createVNode(unref(Users), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
})
|
||||
]),
|
||||
createVNode("h3", { class: "text-lg font-semibold text-gray-900" }, "Mitgliederliste")
|
||||
]),
|
||||
createVNode("p", { class: "text-gray-600 text-sm" }, " Kontaktdaten aller Vereinsmitglieder ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/mitgliederbereich/news",
|
||||
class: "bg-white p-6 rounded-xl shadow-lg hover:shadow-xl transition-shadow border border-gray-100"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(`<div class="flex items-center mb-4"${_scopeId}><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4"${_scopeId}>`);
|
||||
_push2(ssrRenderComponent(unref(Newspaper), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
}, null, _parent2, _scopeId));
|
||||
_push2(`</div><h3 class="text-lg font-semibold text-gray-900"${_scopeId}>Interne News</h3></div><p class="text-gray-600 text-sm"${_scopeId}> Neuigkeiten nur f\xFCr Mitglieder </p>`);
|
||||
} else {
|
||||
return [
|
||||
createVNode("div", { class: "flex items-center mb-4" }, [
|
||||
createVNode("div", { class: "w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4" }, [
|
||||
createVNode(unref(Newspaper), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
})
|
||||
]),
|
||||
createVNode("h3", { class: "text-lg font-semibold text-gray-900" }, "Interne News")
|
||||
]),
|
||||
createVNode("p", { class: "text-gray-600 text-sm" }, " Neuigkeiten nur f\xFCr Mitglieder ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/mitgliederbereich/profil",
|
||||
class: "bg-white p-6 rounded-xl shadow-lg hover:shadow-xl transition-shadow border border-gray-100"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(`<div class="flex items-center mb-4"${_scopeId}><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4"${_scopeId}>`);
|
||||
_push2(ssrRenderComponent(unref(UserCog), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
}, null, _parent2, _scopeId));
|
||||
_push2(`</div><h3 class="text-lg font-semibold text-gray-900"${_scopeId}>Mein Profil</h3></div><p class="text-gray-600 text-sm"${_scopeId}> Profil bearbeiten und Passwort \xE4ndern </p>`);
|
||||
} else {
|
||||
return [
|
||||
createVNode("div", { class: "flex items-center mb-4" }, [
|
||||
createVNode("div", { class: "w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4" }, [
|
||||
createVNode(unref(UserCog), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
})
|
||||
]),
|
||||
createVNode("h3", { class: "text-lg font-semibold text-gray-900" }, "Mein Profil")
|
||||
]),
|
||||
createVNode("p", { class: "text-gray-600 text-sm" }, " Profil bearbeiten und Passwort \xE4ndern ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(`</div></div></div>`);
|
||||
};
|
||||
}
|
||||
};
|
||||
const _sfc_setup = _sfc_main.setup;
|
||||
_sfc_main.setup = (props, ctx) => {
|
||||
const ssrContext = useSSRContext();
|
||||
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/mitgliederbereich/index.vue");
|
||||
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
||||
};
|
||||
|
||||
export { _sfc_main as default };
|
||||
//# sourceMappingURL=index-CtmAVvb3.mjs.map
|
||||
1
.output/server/chunks/build/index-CtmAVvb3.mjs.map
Normal file
1
.output/server/chunks/build/index-CtmAVvb3.mjs.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index-CtmAVvb3.mjs","sources":["../../../../pages/mitgliederbereich/index.vue"],"sourcesContent":null,"names":["_ssrRenderAttrs","_mergeProps","_ssrInterpolate","_push","_parent","_createVNode","_unref"],"mappings":"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"}
|
||||
70
.output/server/chunks/build/index-Deu10thO.mjs
Normal file
70
.output/server/chunks/build/index-Deu10thO.mjs
Normal file
@@ -0,0 +1,70 @@
|
||||
import { ref, mergeProps, unref, useSSRContext } from 'vue';
|
||||
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer';
|
||||
import { Calendar, Newspaper, FileText, Users, Image } from 'lucide-vue-next';
|
||||
import { u as useHead } from './v3-BQ4jllfP.mjs';
|
||||
import './server.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 'unhead/plugins';
|
||||
import 'vue-router';
|
||||
|
||||
const _sfc_main = {
|
||||
__name: "index",
|
||||
__ssrInlineRender: true,
|
||||
setup(__props) {
|
||||
const user = ref(null);
|
||||
useHead({
|
||||
title: "CMS - Harheimer TC"
|
||||
});
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
var _a;
|
||||
_push(`<div${ssrRenderAttrs(mergeProps({ class: "min-h-full py-16 bg-gray-50" }, _attrs))}><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><h1 class="text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"> Content Management System </h1><div class="w-24 h-1 bg-primary-600 mb-8"></div><div class="bg-white rounded-xl shadow-lg p-8 mb-8"><h2 class="text-2xl font-display font-bold text-gray-900 mb-4"> Willkommen im CMS, ${ssrInterpolate((_a = user.value) == null ? void 0 : _a.name)}! </h2><p class="text-gray-600"> Hier k\xF6nnen Sie Inhalte der Website verwalten. </p></div><div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6"><div class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"><div class="flex items-center mb-4"><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4">`);
|
||||
_push(ssrRenderComponent(unref(Calendar), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
}, null, _parent));
|
||||
_push(`</div><h3 class="text-lg font-semibold text-gray-900">Termine verwalten</h3></div><p class="text-gray-600 text-sm mb-4"> Termine hinzuf\xFCgen, bearbeiten und l\xF6schen </p><button class="text-sm text-primary-600 hover:text-primary-700 font-medium"> \xD6ffnen \u2192 </button></div><div class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"><div class="flex items-center mb-4"><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4">`);
|
||||
_push(ssrRenderComponent(unref(Newspaper), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
}, null, _parent));
|
||||
_push(`</div><h3 class="text-lg font-semibold text-gray-900">Interne News</h3></div><p class="text-gray-600 text-sm mb-4"> News f\xFCr Mitglieder erstellen und verwalten </p><button class="text-sm text-primary-600 hover:text-primary-700 font-medium"> \xD6ffnen \u2192 </button></div><div class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"><div class="flex items-center mb-4"><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4">`);
|
||||
_push(ssrRenderComponent(unref(FileText), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
}, null, _parent));
|
||||
_push(`</div><h3 class="text-lg font-semibold text-gray-900">Spielpl\xE4ne</h3></div><p class="text-gray-600 text-sm mb-4"> Spielpl\xE4ne hochladen und verwalten </p><button class="text-sm text-primary-600 hover:text-primary-700 font-medium"> \xD6ffnen \u2192 </button></div><div class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"><div class="flex items-center mb-4"><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4">`);
|
||||
_push(ssrRenderComponent(unref(Users), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
}, null, _parent));
|
||||
_push(`</div><h3 class="text-lg font-semibold text-gray-900">Mitglieder</h3></div><p class="text-gray-600 text-sm mb-4"> Mitgliederdaten verwalten </p><button class="text-sm text-primary-600 hover:text-primary-700 font-medium"> \xD6ffnen \u2192 </button></div><div class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"><div class="flex items-center mb-4"><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4">`);
|
||||
_push(ssrRenderComponent(unref(Image), {
|
||||
size: 24,
|
||||
class: "text-primary-600"
|
||||
}, null, _parent));
|
||||
_push(`</div><h3 class="text-lg font-semibold text-gray-900">Galerie</h3></div><p class="text-gray-600 text-sm mb-4"> Bilder hochladen und verwalten </p><button class="text-sm text-primary-600 hover:text-primary-700 font-medium"> \xD6ffnen \u2192 </button></div></div></div></div>`);
|
||||
};
|
||||
}
|
||||
};
|
||||
const _sfc_setup = _sfc_main.setup;
|
||||
_sfc_main.setup = (props, ctx) => {
|
||||
const ssrContext = useSSRContext();
|
||||
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/cms/index.vue");
|
||||
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
||||
};
|
||||
|
||||
export { _sfc_main as default };
|
||||
//# sourceMappingURL=index-Deu10thO.mjs.map
|
||||
1
.output/server/chunks/build/index-Deu10thO.mjs.map
Normal file
1
.output/server/chunks/build/index-Deu10thO.mjs.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index-Deu10thO.mjs","sources":["../../../../pages/cms/index.vue"],"sourcesContent":null,"names":["_ssrRenderAttrs","_mergeProps","_ssrInterpolate"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAsGA,IAAA,MAAM,IAAA,GAAO,IAAI,IAAI,CAAA;AAiBrB,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO;AAAA,KACR,CAAA;;;mBAxHMA,cAAAA,CAAAC,UAAAA,CAAA,EAAA,KAAA,EAAM,+BAA6B,EAAA,MAAA,CAAA,CAAA,0VASVC,cAAAA,CAAAA,CAAA,EAAA,GAAA,IAAA,CAAA,UAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAM,IAAI,CAAA,CAAA,oVAAA,CAAA,CAAA;;QAYjB,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;QAef,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;QAejB,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;QAenB,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;QAehB,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;"}
|
||||
102
.output/server/chunks/build/login-CSQ2h4vV.mjs
Normal file
102
.output/server/chunks/build/login-CSQ2h4vV.mjs
Normal file
@@ -0,0 +1,102 @@
|
||||
import { _ as __nuxt_component_0 } from './server.mjs';
|
||||
import { ref, mergeProps, unref, withCtx, createTextVNode, useSSRContext } from 'vue';
|
||||
import { ssrRenderAttrs, ssrRenderAttr, ssrRenderClass, ssrRenderComponent, ssrInterpolate, ssrIncludeBooleanAttr } from 'vue/server-renderer';
|
||||
import { AlertCircle, Check, Loader2, Lock } from 'lucide-vue-next';
|
||||
import { u as useHead } from './v3-BQ4jllfP.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 'unhead/plugins';
|
||||
import 'vue-router';
|
||||
|
||||
const _sfc_main = {
|
||||
__name: "login",
|
||||
__ssrInlineRender: true,
|
||||
setup(__props) {
|
||||
const formData = ref({
|
||||
email: "",
|
||||
password: ""
|
||||
});
|
||||
const isLoading = ref(false);
|
||||
const errorMessage = ref("");
|
||||
const successMessage = ref("");
|
||||
useHead({
|
||||
title: "Login - Harheimer TC"
|
||||
});
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
const _component_NuxtLink = __nuxt_component_0;
|
||||
_push(`<div${ssrRenderAttrs(mergeProps({ class: "min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50" }, _attrs))}><div class="max-w-md w-full space-y-8"><div class="text-center"><h2 class="text-3xl font-display font-bold text-gray-900"> Mitglieder-Login </h2><p class="mt-2 text-sm text-gray-600"> Melden Sie sich an, um auf den Mitgliederbereich zuzugreifen </p></div><div class="bg-white rounded-xl shadow-lg p-8"><form class="space-y-6"><div><label for="email" class="block text-sm font-medium text-gray-700 mb-2"> E-Mail-Adresse </label><input id="email"${ssrRenderAttr("value", formData.value.email)} type="email" required autocomplete="email" class="${ssrRenderClass([{ "border-red-500": errorMessage.value }, "w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all"])}" placeholder="ihre-email@example.com"></div><div><label for="password" class="block text-sm font-medium text-gray-700 mb-2"> Passwort </label><input id="password"${ssrRenderAttr("value", formData.value.password)} type="password" required autocomplete="current-password" class="${ssrRenderClass([{ "border-red-500": errorMessage.value }, "w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all"])}" placeholder="\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"></div>`);
|
||||
if (errorMessage.value) {
|
||||
_push(`<div class="bg-red-50 border border-red-200 rounded-lg p-4"><p class="text-sm text-red-800 flex items-center">`);
|
||||
_push(ssrRenderComponent(unref(AlertCircle), {
|
||||
size: 18,
|
||||
class: "mr-2"
|
||||
}, null, _parent));
|
||||
_push(` ${ssrInterpolate(errorMessage.value)}</p></div>`);
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
if (successMessage.value) {
|
||||
_push(`<div class="bg-green-50 border border-green-200 rounded-lg p-4"><p class="text-sm text-green-800 flex items-center">`);
|
||||
_push(ssrRenderComponent(unref(Check), {
|
||||
size: 18,
|
||||
class: "mr-2"
|
||||
}, null, _parent));
|
||||
_push(` ${ssrInterpolate(successMessage.value)}</p></div>`);
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
_push(`<button type="submit"${ssrIncludeBooleanAttr(isLoading.value) ? " disabled" : ""} class="w-full px-6 py-3 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 text-white font-semibold rounded-lg transition-colors flex items-center justify-center">`);
|
||||
if (isLoading.value) {
|
||||
_push(ssrRenderComponent(unref(Loader2), {
|
||||
size: 20,
|
||||
class: "mr-2 animate-spin"
|
||||
}, null, _parent));
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
_push(`<span>${ssrInterpolate(isLoading.value ? "Anmeldung l\xE4uft..." : "Anmelden")}</span></button><div class="text-center">`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/passwort-vergessen",
|
||||
class: "text-sm text-primary-600 hover:text-primary-700 font-medium"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Passwort vergessen? `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Passwort vergessen? ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(`</div></form></div><div class="bg-primary-50 border border-primary-100 rounded-lg p-4"><p class="text-sm text-primary-800 text-center">`);
|
||||
_push(ssrRenderComponent(unref(Lock), {
|
||||
size: 16,
|
||||
class: "inline mr-1"
|
||||
}, null, _parent));
|
||||
_push(` Nur f\xFCr Vereinsmitglieder. Kein Zugang? Kontaktieren Sie den Vorstand. </p></div></div></div>`);
|
||||
};
|
||||
}
|
||||
};
|
||||
const _sfc_setup = _sfc_main.setup;
|
||||
_sfc_main.setup = (props, ctx) => {
|
||||
const ssrContext = useSSRContext();
|
||||
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/login.vue");
|
||||
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
||||
};
|
||||
|
||||
export { _sfc_main as default };
|
||||
//# sourceMappingURL=login-CSQ2h4vV.mjs.map
|
||||
1
.output/server/chunks/build/login-CSQ2h4vV.mjs.map
Normal file
1
.output/server/chunks/build/login-CSQ2h4vV.mjs.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"login-CSQ2h4vV.mjs","sources":["../../../../pages/login.vue"],"sourcesContent":null,"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderAttr","_push","_parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAqGA,IAAA,MAAM,WAAW,GAAA,CAAI;AAAA,MACnB,KAAA,EAAO,EAAA;AAAA,MACP,QAAA,EAAU;AAAA,KACX,CAAA;AAED,IAAA,MAAM,SAAA,GAAY,IAAI,KAAK,CAAA;AAC3B,IAAA,MAAM,YAAA,GAAe,IAAI,EAAE,CAAA;AAC3B,IAAA,MAAM,cAAA,GAAiB,IAAI,EAAE,CAAA;AAuC7B,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO;AAAA,KACR,CAAA;;;AApJMA,MAAAA,KAAAA,CAAAA,CAAAA,IAAAA,EAAAA,eAAAC,UAAAA,CAAA,EAAA,OAAM,mFAAA,EAAmF,EAAA,MAAA,CAAA,CAAA,gcAoBzEC,aAAAA,CAAA,OAAA,EAAA,SAAA,KAAA,CAAS,KAAK,CAAA,CAAA,mDAAA,EAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAKK,YAAA,CAAA,OAAY,EAAA,gIAAA,CAAA,CAAA,CAAA,mKAAA,EAY/BA,cAAA,OAAA,EAAA,QAAA,CAAA,MAAS,QAAQ,CAAA,oEAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAKE,YAAA,CAAA,OAAY,EAAA,gIAAA,CAAA,CAAA,CAAA,uEAAA,CAAA,CAAA;AAMjC,MAAA,IAAA,aAAA,KAAA,EAAY;;;UAEL,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;iCAC3B,YAAA,CAAA,KAAY,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,MAAA,CAAA,MAAA;;;AAKR,MAAA,IAAA,eAAA,KAAA,EAAc;;;UAEb,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;iCACrB,cAAA,CAAA,KAAc,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,MAAA,CAAA,MAAA;;;AAOR,MAAA,KAAA,CAAA,wBAAA,qBAAA,CAAA,SAAA,CAAA,KAAS,CAAA,GAAA,WAAA,GAAA,EAAA,CAAA,0KAAA,CAAA,CAAA;AAGL,MAAA,IAAA,UAAA,KAAA,EAAS;;UAAG,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAAA;;;AAClC,MAAA,KAAA,CAAA,SAAA,cAAA,CAAA,SAAA,CAAA,QAAS,uBAAA,GAAA,UAAA,CAAA,CAAA,yCAAA,CAAA,CAAA;;QAMhB,EAAA,EAAG,qBAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;AAAA,yBAFR,CAKW,CAAA,EAAAC,MAAAA,EAAAC,UAAA,QAAA,KAAA;;;;;8BAFV,uBAED;AAAA,aAAA;AAAA;;;;;;QAQK,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;"}
|
||||
94
.output/server/chunks/build/passwort-vergessen-CU7x98cF.mjs
Normal file
94
.output/server/chunks/build/passwort-vergessen-CU7x98cF.mjs
Normal file
@@ -0,0 +1,94 @@
|
||||
import { _ as __nuxt_component_0 } from './server.mjs';
|
||||
import { ref, mergeProps, unref, withCtx, createTextVNode, useSSRContext } from 'vue';
|
||||
import { ssrRenderAttrs, ssrRenderAttr, ssrRenderClass, ssrRenderComponent, ssrInterpolate, ssrIncludeBooleanAttr } from 'vue/server-renderer';
|
||||
import { AlertCircle, Check, Loader2 } from 'lucide-vue-next';
|
||||
import { u as useHead } from './v3-BQ4jllfP.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 'unhead/plugins';
|
||||
import 'vue-router';
|
||||
|
||||
const _sfc_main = {
|
||||
__name: "passwort-vergessen",
|
||||
__ssrInlineRender: true,
|
||||
setup(__props) {
|
||||
const email = ref("");
|
||||
const isLoading = ref(false);
|
||||
const errorMessage = ref("");
|
||||
const successMessage = ref("");
|
||||
useHead({
|
||||
title: "Passwort vergessen - Harheimer TC"
|
||||
});
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
const _component_NuxtLink = __nuxt_component_0;
|
||||
_push(`<div${ssrRenderAttrs(mergeProps({ class: "min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50" }, _attrs))}><div class="max-w-md w-full space-y-8"><div class="text-center"><h2 class="text-3xl font-display font-bold text-gray-900"> Passwort zur\xFCcksetzen </h2><p class="mt-2 text-sm text-gray-600"> Geben Sie Ihre E-Mail-Adresse ein, um Ihr Passwort zur\xFCckzusetzen </p></div><div class="bg-white rounded-xl shadow-lg p-8"><form class="space-y-6"><div><label for="email" class="block text-sm font-medium text-gray-700 mb-2"> E-Mail-Adresse </label><input id="email"${ssrRenderAttr("value", email.value)} type="email" required autocomplete="email" class="${ssrRenderClass([{ "border-red-500": errorMessage.value }, "w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all"])}" placeholder="ihre-email@example.com"></div>`);
|
||||
if (errorMessage.value) {
|
||||
_push(`<div class="bg-red-50 border border-red-200 rounded-lg p-4"><p class="text-sm text-red-800 flex items-center">`);
|
||||
_push(ssrRenderComponent(unref(AlertCircle), {
|
||||
size: 18,
|
||||
class: "mr-2"
|
||||
}, null, _parent));
|
||||
_push(` ${ssrInterpolate(errorMessage.value)}</p></div>`);
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
if (successMessage.value) {
|
||||
_push(`<div class="bg-green-50 border border-green-200 rounded-lg p-4"><p class="text-sm text-green-800 flex items-center">`);
|
||||
_push(ssrRenderComponent(unref(Check), {
|
||||
size: 18,
|
||||
class: "mr-2"
|
||||
}, null, _parent));
|
||||
_push(` ${ssrInterpolate(successMessage.value)}</p></div>`);
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
_push(`<button type="submit"${ssrIncludeBooleanAttr(isLoading.value) ? " disabled" : ""} class="w-full px-6 py-3 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 text-white font-semibold rounded-lg transition-colors flex items-center justify-center">`);
|
||||
if (isLoading.value) {
|
||||
_push(ssrRenderComponent(unref(Loader2), {
|
||||
size: 20,
|
||||
class: "mr-2 animate-spin"
|
||||
}, null, _parent));
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
_push(`<span>${ssrInterpolate(isLoading.value ? "Wird gesendet..." : "Passwort zur\xFCcksetzen")}</span></button><div class="text-center">`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/login",
|
||||
class: "text-sm text-primary-600 hover:text-primary-700 font-medium"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Zur\xFCck zum Login `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Zur\xFCck zum Login ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(`</div></form></div><div class="bg-primary-50 border border-primary-100 rounded-lg p-4"><p class="text-sm text-primary-800 text-center"> Sie erhalten eine E-Mail mit einem Link zum Zur\xFCcksetzen Ihres Passworts. </p></div></div></div>`);
|
||||
};
|
||||
}
|
||||
};
|
||||
const _sfc_setup = _sfc_main.setup;
|
||||
_sfc_main.setup = (props, ctx) => {
|
||||
const ssrContext = useSSRContext();
|
||||
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/passwort-vergessen.vue");
|
||||
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
||||
};
|
||||
|
||||
export { _sfc_main as default };
|
||||
//# sourceMappingURL=passwort-vergessen-CU7x98cF.mjs.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"passwort-vergessen-CU7x98cF.mjs","sources":["../../../../pages/passwort-vergessen.vue"],"sourcesContent":null,"names":["_ssrRenderAttrs","_mergeProps","_push","_parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmFA,IAAA,MAAM,KAAA,GAAQ,IAAI,EAAE,CAAA;AACpB,IAAA,MAAM,SAAA,GAAY,IAAI,KAAK,CAAA;AAC3B,IAAA,MAAM,YAAA,GAAe,IAAI,EAAE,CAAA;AAC3B,IAAA,MAAM,cAAA,GAAiB,IAAI,EAAE,CAAA;AAwB7B,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO;AAAA,KACR,CAAA;;;AA/GMA,MAAAA,KAAAA,CAAAA,CAAAA,IAAAA,EAAAA,cAAAA,CAAAC,UAAAA,CAAA,EAAA,KAAA,EAAM,mFAAA,EAAmF,EAAA,MAAA,CAAA,CAAA,CAAA,6cAAA,EAAA,aAAA,CAAA,OAAA,EAoBzE,KAAA,CAAA,KAAK,CAAA,CAAA,mDAAA,EAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAKc,YAAA,CAAA,KAAA,EAAY,EAAA,gIAAA,CAAA,CAAA,CAAA,6CAAA,CAAA,CAAA;AAMjC,MAAA,IAAA,aAAA,KAAA,EAAY;;;UAEL,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;iCAC3B,YAAA,CAAA,KAAY,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,MAAA,CAAA,MAAA;;;AAKR,MAAA,IAAA,eAAA,KAAA,EAAc;;;UAEb,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;iCACrB,cAAA,CAAA,KAAc,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,MAAA,CAAA,MAAA;;;AAOR,MAAA,KAAA,CAAA,wBAAA,qBAAA,CAAA,SAAA,CAAA,KAAS,CAAA,GAAA,WAAA,GAAA,EAAA,CAAA,0KAAA,CAAA,CAAA;AAGL,MAAA,IAAA,UAAA,KAAA,EAAS;;UAAG,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAAA;;;AAClC,MAAA,KAAA,CAAA,SAAA,cAAA,CAAA,SAAA,CAAA,QAAS,kBAAA,GAAA,0BAAA,CAAA,CAAA,yCAAA,CAAA,CAAA;;QAMhB,EAAA,EAAG,QAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;AAAA,yBAFR,CAKW,CAAA,EAAAC,MAAAA,EAAAC,UAAA,QAAA,KAAA;;;;;8BAFV,uBAED;AAAA,aAAA;AAAA;;;;;;;;;;;;;;;;;"}
|
||||
105
.output/server/chunks/build/registrieren-CelrCDCD.mjs
Normal file
105
.output/server/chunks/build/registrieren-CelrCDCD.mjs
Normal file
@@ -0,0 +1,105 @@
|
||||
import { _ as __nuxt_component_0 } from './server.mjs';
|
||||
import { ref, mergeProps, unref, withCtx, createTextVNode, useSSRContext } from 'vue';
|
||||
import { ssrRenderAttrs, ssrRenderAttr, ssrRenderComponent, ssrInterpolate, ssrIncludeBooleanAttr } from 'vue/server-renderer';
|
||||
import { AlertCircle, Check, Loader2, Info } from 'lucide-vue-next';
|
||||
import { u as useHead } from './v3-BQ4jllfP.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 'unhead/plugins';
|
||||
import 'vue-router';
|
||||
|
||||
const _sfc_main = {
|
||||
__name: "registrieren",
|
||||
__ssrInlineRender: true,
|
||||
setup(__props) {
|
||||
const formData = ref({
|
||||
name: "",
|
||||
email: "",
|
||||
phone: "",
|
||||
password: "",
|
||||
confirmPassword: ""
|
||||
});
|
||||
const isLoading = ref(false);
|
||||
const errorMessage = ref("");
|
||||
const successMessage = ref("");
|
||||
useHead({
|
||||
title: "Registrierung - Harheimer TC"
|
||||
});
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
const _component_NuxtLink = __nuxt_component_0;
|
||||
_push(`<div${ssrRenderAttrs(mergeProps({ class: "min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50" }, _attrs))}><div class="max-w-md w-full space-y-8"><div class="text-center"><h2 class="text-3xl font-display font-bold text-gray-900"> Registrierung </h2><p class="mt-2 text-sm text-gray-600"> Beantragen Sie Zugang zum Mitgliederbereich </p></div><div class="bg-white rounded-xl shadow-lg p-8"><form class="space-y-6"><div><label for="name" class="block text-sm font-medium text-gray-700 mb-2"> Vollst\xE4ndiger Name </label><input id="name"${ssrRenderAttr("value", formData.value.name)} type="text" required autocomplete="name" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all" placeholder="Max Mustermann"></div><div><label for="email" class="block text-sm font-medium text-gray-700 mb-2"> E-Mail-Adresse </label><input id="email"${ssrRenderAttr("value", formData.value.email)} type="email" required autocomplete="email" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all" placeholder="ihre-email@example.com"></div><div><label for="phone" class="block text-sm font-medium text-gray-700 mb-2"> Telefonnummer (optional) </label><input id="phone"${ssrRenderAttr("value", formData.value.phone)} type="tel" autocomplete="tel" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all" placeholder="069-12345678"></div><div><label for="password" class="block text-sm font-medium text-gray-700 mb-2"> Passwort </label><input id="password"${ssrRenderAttr("value", formData.value.password)} type="password" required autocomplete="new-password" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all" placeholder="\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"><p class="mt-1 text-xs text-gray-500"> Mindestens 8 Zeichen </p></div><div><label for="confirmPassword" class="block text-sm font-medium text-gray-700 mb-2"> Passwort best\xE4tigen </label><input id="confirmPassword"${ssrRenderAttr("value", formData.value.confirmPassword)} type="password" required autocomplete="new-password" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all" placeholder="\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"></div>`);
|
||||
if (errorMessage.value) {
|
||||
_push(`<div class="bg-red-50 border border-red-200 rounded-lg p-4"><p class="text-sm text-red-800 flex items-center">`);
|
||||
_push(ssrRenderComponent(unref(AlertCircle), {
|
||||
size: 18,
|
||||
class: "mr-2"
|
||||
}, null, _parent));
|
||||
_push(` ${ssrInterpolate(errorMessage.value)}</p></div>`);
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
if (successMessage.value) {
|
||||
_push(`<div class="bg-green-50 border border-green-200 rounded-lg p-4"><p class="text-sm text-green-800 flex items-center">`);
|
||||
_push(ssrRenderComponent(unref(Check), {
|
||||
size: 18,
|
||||
class: "mr-2"
|
||||
}, null, _parent));
|
||||
_push(` ${ssrInterpolate(successMessage.value)}</p></div>`);
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
_push(`<button type="submit"${ssrIncludeBooleanAttr(isLoading.value) ? " disabled" : ""} class="w-full px-6 py-3 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 text-white font-semibold rounded-lg transition-colors flex items-center justify-center">`);
|
||||
if (isLoading.value) {
|
||||
_push(ssrRenderComponent(unref(Loader2), {
|
||||
size: 20,
|
||||
class: "mr-2 animate-spin"
|
||||
}, null, _parent));
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
_push(`<span>${ssrInterpolate(isLoading.value ? "Wird gesendet..." : "Registrierung beantragen")}</span></button><div class="text-center">`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/login",
|
||||
class: "text-sm text-primary-600 hover:text-primary-700 font-medium"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Bereits registriert? Zum Login `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Bereits registriert? Zum Login ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(`</div></form></div><div class="bg-yellow-50 border border-yellow-200 rounded-lg p-4"><p class="text-sm text-yellow-800">`);
|
||||
_push(ssrRenderComponent(unref(Info), {
|
||||
size: 16,
|
||||
class: "inline mr-1"
|
||||
}, null, _parent));
|
||||
_push(`<strong>Hinweis:</strong> Ihre Registrierung muss vom Vorstand freigegeben werden. Sie erhalten eine E-Mail, sobald Ihr Zugang aktiviert wurde. </p></div></div></div>`);
|
||||
};
|
||||
}
|
||||
};
|
||||
const _sfc_setup = _sfc_main.setup;
|
||||
_sfc_main.setup = (props, ctx) => {
|
||||
const ssrContext = useSSRContext();
|
||||
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/registrieren.vue");
|
||||
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
||||
};
|
||||
|
||||
export { _sfc_main as default };
|
||||
//# sourceMappingURL=registrieren-CelrCDCD.mjs.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"registrieren-CelrCDCD.mjs","sources":["../../../../pages/registrieren.vue"],"sourcesContent":null,"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderAttr","_push","_parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAsJA,IAAA,MAAM,WAAW,GAAA,CAAI;AAAA,MACnB,IAAA,EAAM,EAAA;AAAA,MACN,KAAA,EAAO,EAAA;AAAA,MACP,KAAA,EAAO,EAAA;AAAA,MACP,QAAA,EAAU,EAAA;AAAA,MACV,eAAA,EAAiB;AAAA,KAClB,CAAA;AAED,IAAA,MAAM,SAAA,GAAY,IAAI,KAAK,CAAA;AAC3B,IAAA,MAAM,YAAA,GAAe,IAAI,EAAE,CAAA;AAC3B,IAAA,MAAM,cAAA,GAAiB,IAAI,EAAE,CAAA;AAsD7B,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO;AAAA,KACR,CAAA;;;AAvNMA,MAAAA,KAAAA,CAAAA,CAAAA,IAAAA,EAAAA,eAAAC,UAAAA,CAAA,EAAA,OAAM,mFAAA,EAAmF,EAAA,MAAA,CAAA,CAAA,ibAoBzEC,aAAAA,CAAA,OAAA,EAAA,SAAA,KAAA,CAAS,IAAI,CAAA,CAAA,0UAAA,EAgBbA,aAAAA,CAAA,SAAA,QAAA,CAAA,KAAA,CAAS,KAAK,CAAA,CAAA,8VAAA,EAgBdA,cAAA,OAAA,EAAA,QAAA,CAAA,MAAS,KAAK,iUAedA,aAAAA,CAAA,OAAA,EAAA,SAAA,KAAA,CAAS,QAAQ,CAAA,CAAA,odAAA,EAmBjBA,aAAAA,CAAA,SAAA,QAAA,CAAA,KAAA,CAAS,eAAe,CAAA,CAAA,kQAAA,CAAA,CAAA;AAU1B,MAAA,IAAA,aAAA,KAAA,EAAY;;;UAEL,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;iCAC3B,YAAA,CAAA,KAAY,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,MAAA,CAAA,MAAA;;;AAKR,MAAA,IAAA,eAAA,KAAA,EAAc;;;UAEb,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;iCACrB,cAAA,CAAA,KAAc,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,MAAA,CAAA,MAAA;;;AAOR,MAAA,KAAA,CAAA,wBAAA,qBAAA,CAAA,SAAA,CAAA,KAAS,CAAA,GAAA,WAAA,GAAA,EAAA,CAAA,0KAAA,CAAA,CAAA;AAGL,MAAA,IAAA,UAAA,KAAA,EAAS;;UAAG,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAAA;;;AAClC,MAAA,KAAA,CAAA,SAAA,cAAA,CAAA,SAAA,CAAA,QAAS,kBAAA,GAAA,0BAAA,CAAA,CAAA,yCAAA,CAAA,CAAA;;QAMhB,EAAA,EAAG,QAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;AAAA,yBAFR,CAKW,CAAA,EAAAC,MAAAA,EAAAC,UAAA,QAAA,KAAA;;;;;8BAFV,kCAED;AAAA,aAAA;AAAA;;;;;;QAQK,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;"}
|
||||
@@ -1,9 +1,9 @@
|
||||
import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import { defineComponent, shallowRef, h, resolveComponent, hasInjectionContext, getCurrentInstance, inject, computed, ref, Suspense, Fragment, createApp, provide, shallowReactive, toRef, onErrorCaptured, onServerPrefetch, unref, createVNode, resolveDynamicComponent, reactive, effectScope, isReadonly, isRef, isShallow, isReactive, toRaw, defineAsyncComponent, mergeProps, getCurrentScope, withCtx, createTextVNode, toDisplayString, useSSRContext } from 'vue';
|
||||
import { p as parseQuery, l as hasProtocol, i as joinURL, m as getContext, w as withQuery, n as withTrailingSlash, o as withoutTrailingSlash, q as isScriptProtocol, s as sanitizeStatusCode, $ as $fetch, t as createHooks, v as executeAsync, c as createError$1, x as toRouteMatcher, y as createRouter$1, z as defu } from '../nitro/nitro.mjs';
|
||||
import { p as parseQuery, c as createError$1, n as hasProtocol, o as isScriptProtocol, l as joinURL, w as withQuery, q as sanitizeStatusCode, t as getContext, v as withTrailingSlash, x as withoutTrailingSlash, $ as $fetch, y as createHooks, z as executeAsync, A as toRouteMatcher, B as createRouter$1, C as defu } from '../nitro/nitro.mjs';
|
||||
import { b as baseURL } from '../routes/renderer.mjs';
|
||||
import { RouterView, createMemoryHistory, createRouter, START_LOCATION, useRoute as useRoute$1 } from 'vue-router';
|
||||
import { ssrRenderSuspense, ssrRenderComponent, ssrRenderVNode, ssrRenderAttrs, ssrRenderAttr, ssrRenderStyle, ssrRenderClass, ssrRenderList, ssrInterpolate } from 'vue/server-renderer';
|
||||
import { X, Menu, ChevronDown } from 'lucide-vue-next';
|
||||
import { X, Menu, ChevronDown, User, ChevronUp } from 'lucide-vue-next';
|
||||
import 'node:http';
|
||||
import 'node:https';
|
||||
import 'node:events';
|
||||
@@ -27,6 +27,8 @@ if (!("global" in globalThis)) {
|
||||
globalThis.global = globalThis;
|
||||
}
|
||||
const nuxtLinkDefaults = { "componentName": "NuxtLink" };
|
||||
const asyncDataDefaults = { "value": null, "errorValue": null, "deep": true };
|
||||
const fetchDefaults = {};
|
||||
const appId = "nuxt-app";
|
||||
function getNuxtAppCtx(id = appId) {
|
||||
return getContext(id, {
|
||||
@@ -383,12 +385,21 @@ async function getRouteRules(arg) {
|
||||
return defu({}, ..._routeRulesMatcher.matchAll(path).reverse());
|
||||
}
|
||||
}
|
||||
const __nuxt_page_meta = {
|
||||
layout: "default"
|
||||
};
|
||||
const _routes = [
|
||||
{
|
||||
name: "index",
|
||||
path: "/",
|
||||
component: () => import('./index-DLu_rC7p.mjs')
|
||||
},
|
||||
{
|
||||
name: "login",
|
||||
path: "/login",
|
||||
meta: __nuxt_page_meta || {},
|
||||
component: () => import('./login-CSQ2h4vV.mjs')
|
||||
},
|
||||
{
|
||||
name: "anlagen",
|
||||
path: "/anlagen",
|
||||
@@ -419,6 +430,12 @@ const _routes = [
|
||||
path: "/vorstand",
|
||||
component: () => import('./vorstand-ul_2Xlsj.mjs')
|
||||
},
|
||||
{
|
||||
name: "cms",
|
||||
path: "/cms",
|
||||
meta: { "middleware": "auth" },
|
||||
component: () => import('./index-Deu10thO.mjs')
|
||||
},
|
||||
{
|
||||
name: "impressum",
|
||||
path: "/impressum",
|
||||
@@ -439,6 +456,11 @@ const _routes = [
|
||||
path: "/geschichte",
|
||||
component: () => import('./geschichte-Buv1aL5j.mjs')
|
||||
},
|
||||
{
|
||||
name: "registrieren",
|
||||
path: "/registrieren",
|
||||
component: () => import('./registrieren-CelrCDCD.mjs')
|
||||
},
|
||||
{
|
||||
name: "spielsysteme",
|
||||
path: "/spielsysteme",
|
||||
@@ -469,6 +491,11 @@ const _routes = [
|
||||
path: "/mannschaften",
|
||||
component: () => import('./index-BLCJ44Pz.mjs')
|
||||
},
|
||||
{
|
||||
name: "passwort-vergessen",
|
||||
path: "/passwort-vergessen",
|
||||
component: () => import('./passwort-vergessen-CU7x98cF.mjs')
|
||||
},
|
||||
{
|
||||
name: "training-anfaenger",
|
||||
path: "/training/anfaenger",
|
||||
@@ -494,6 +521,12 @@ const _routes = [
|
||||
path: "/vereinsmeisterschaften",
|
||||
component: () => import('./vereinsmeisterschaften-COrSkCMk.mjs')
|
||||
},
|
||||
{
|
||||
name: "mitgliederbereich",
|
||||
path: "/mitgliederbereich",
|
||||
meta: { "middleware": "auth" },
|
||||
component: () => import('./index-CtmAVvb3.mjs')
|
||||
},
|
||||
{
|
||||
name: "mannschaften-spielplaene",
|
||||
path: "/mannschaften/spielplaene",
|
||||
@@ -614,7 +647,9 @@ const globalMiddleware = [
|
||||
validate,
|
||||
manifest_45route_45rule
|
||||
];
|
||||
const namedMiddleware = {};
|
||||
const namedMiddleware = {
|
||||
auth: () => import('./auth-D7NaNMED.mjs')
|
||||
};
|
||||
const plugin = /* @__PURE__ */ defineNuxtPlugin({
|
||||
name: "nuxt:router",
|
||||
enforce: "pre",
|
||||
@@ -1949,9 +1984,15 @@ const _sfc_main$3 = {
|
||||
__ssrInlineRender: true,
|
||||
setup(__props) {
|
||||
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
||||
const isMemberMenuOpen = ref(false);
|
||||
const isLoggedIn = ref(false);
|
||||
const userRole = ref(null);
|
||||
const isAdmin = computed(() => {
|
||||
return userRole.value === "admin" || userRole.value === "vorstand";
|
||||
});
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
const _component_NuxtLink = __nuxt_component_0;
|
||||
_push(`<footer${ssrRenderAttrs(mergeProps({ class: "fixed bottom-0 left-0 right-0 z-40 bg-gray-900 border-t border-gray-800 shadow-2xl" }, _attrs))}><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"><div class="flex flex-col sm:flex-row justify-between items-center space-y-2 sm:space-y-0"><p class="text-sm text-gray-400"> © ${ssrInterpolate(unref(currentYear))} Harheimer TC </p><div class="flex items-center space-x-6 text-sm">`);
|
||||
_push(`<footer${ssrRenderAttrs(mergeProps({ class: "fixed bottom-0 left-0 right-0 z-40 bg-gray-900 border-t border-gray-800 shadow-2xl" }, _attrs))}><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"><div class="flex flex-col sm:flex-row justify-between items-center space-y-2 sm:space-y-0"><p class="text-sm text-gray-400"> © ${ssrInterpolate(unref(currentYear))} Harheimer TC </p><div class="flex items-center space-x-6 text-sm relative">`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/impressum",
|
||||
class: "text-gray-400 hover:text-primary-400 transition-colors"
|
||||
@@ -1982,7 +2023,112 @@ const _sfc_main$3 = {
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(`</div></div></div></footer>`);
|
||||
_push(`<div class="relative"><button class="flex items-center space-x-1 text-gray-400 hover:text-primary-400 transition-colors">`);
|
||||
_push(ssrRenderComponent(unref(User), { size: 16 }, null, _parent));
|
||||
_push(`<span>Mitglieder</span>`);
|
||||
_push(ssrRenderComponent(unref(ChevronUp), {
|
||||
size: 14,
|
||||
class: ["transition-transform", isMemberMenuOpen.value ? "rotate-0" : "rotate-180"]
|
||||
}, null, _parent));
|
||||
_push(`</button>`);
|
||||
if (isMemberMenuOpen.value) {
|
||||
_push(`<div class="absolute bottom-full right-0 mb-2 w-48 bg-gray-800 border border-gray-700 rounded-lg shadow-xl overflow-hidden">`);
|
||||
if (isLoggedIn.value) {
|
||||
_push(`<!--[-->`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/mitgliederbereich",
|
||||
onClick: ($event) => isMemberMenuOpen.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Mitgliederbereich `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Mitgliederbereich ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
if (isAdmin.value) {
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/cms",
|
||||
onClick: ($event) => isMemberMenuOpen.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` CMS `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" CMS ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
_push(`<button class="w-full text-left px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"> Abmelden </button><!--]-->`);
|
||||
} else {
|
||||
_push(`<!--[-->`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/login",
|
||||
onClick: ($event) => isMemberMenuOpen.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Anmelden `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Anmelden ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/registrieren",
|
||||
onClick: ($event) => isMemberMenuOpen.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Registrieren `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Registrieren ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/passwort-vergessen",
|
||||
onClick: ($event) => isMemberMenuOpen.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Passwort vergessen `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Passwort vergessen ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(`<!--]-->`);
|
||||
}
|
||||
_push(`</div>`);
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
_push(`</div></div></div></div></footer>`);
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -2117,5 +2263,5 @@ let entry;
|
||||
}
|
||||
const entry$1 = (ssrContext) => entry(ssrContext);
|
||||
|
||||
export { __nuxt_component_0 as _, entry$1 as default, tryUseNuxtApp as t, useRoute as u };
|
||||
export { __nuxt_component_0 as _, useNuxtApp as a, asyncDataDefaults as b, createError as c, defineNuxtRouteMiddleware as d, entry$1 as default, fetchDefaults as f, navigateTo as n, tryUseNuxtApp as t, useRoute as u };
|
||||
//# sourceMappingURL=server.mjs.map
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"server.mjs","sources":["../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Ffetch.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fglobal-polyfills.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fnuxt.config.mjs","../../../../node_modules/nuxt/dist/app/nuxt.js","../../../../node_modules/nuxt/dist/app/components/injections.js","../../../../node_modules/nuxt/dist/app/utils.js","../../../../node_modules/nuxt/dist/app/composables/router.js","../../../../node_modules/nuxt/dist/app/composables/error.js","../../../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js","../../../../node_modules/nuxt/dist/pages/runtime/utils.js","../../../../node_modules/nuxt/dist/app/composables/manifest.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Froutes.mjs","../../../../node_modules/nuxt/dist/app/components/utils.js","../../../../node_modules/nuxt/dist/pages/runtime/router.options.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Frouter.options.mjs","../../../../node_modules/nuxt/dist/pages/runtime/validate.js","../../../../node_modules/nuxt/dist/app/middleware/manifest-route-rule.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fmiddleware.mjs","../../../../node_modules/nuxt/dist/pages/runtime/plugins/router.js","../../../../node_modules/nuxt/dist/app/composables/payload.js","../../../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fcomponents.plugin.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fplugins.server.mjs","../../../../node_modules/nuxt/dist/app/components/route-provider.js","../../../../node_modules/nuxt/dist/pages/runtime/page.js","../../../../node_modules/nuxt/dist/app/components/nuxt-link.js","../../../../assets/images/logos/Harheimer TC.svg","../../../../components/Navigation.vue","../../../../components/Footer.vue","../../../../app.vue","../../../../node_modules/nuxt/dist/app/components/nuxt-error-page.vue","../../../../node_modules/nuxt/dist/app/components/nuxt-root.vue","../../../../node_modules/nuxt/dist/app/entry.js"],"sourcesContent":null,"names":["plugin","provide","plugins","createH3Error","createRadixRouter","__executeAsync","createRouter","entry","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","useRoute","_ssrRenderAttrs","_mergeProps","_push","_parent","_ssrRenderAttr","_imports_0","_createVNode","_ssrRenderClass","_unref","_ssrRenderList","_ssrInterpolate","_createTextVNode","_toDisplayString","_ssrRenderComponent","ErrorComponent","RootComponent"],"mappings":"","x_google_ignoreList":[3,4,5,6,7,8,9,10,12,13,15,16,18,19,20,23,24,25,30,31,32]}
|
||||
{"version":3,"file":"server.mjs","sources":["../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Ffetch.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fglobal-polyfills.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fnuxt.config.mjs","../../../../node_modules/nuxt/dist/app/nuxt.js","../../../../node_modules/nuxt/dist/app/components/injections.js","../../../../node_modules/nuxt/dist/app/utils.js","../../../../node_modules/nuxt/dist/app/composables/router.js","../../../../node_modules/nuxt/dist/app/composables/error.js","../../../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js","../../../../node_modules/nuxt/dist/pages/runtime/utils.js","../../../../node_modules/nuxt/dist/app/composables/manifest.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Froutes.mjs","../../../../node_modules/nuxt/dist/app/components/utils.js","../../../../node_modules/nuxt/dist/pages/runtime/router.options.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Frouter.options.mjs","../../../../node_modules/nuxt/dist/pages/runtime/validate.js","../../../../node_modules/nuxt/dist/app/middleware/manifest-route-rule.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fmiddleware.mjs","../../../../node_modules/nuxt/dist/pages/runtime/plugins/router.js","../../../../node_modules/nuxt/dist/app/composables/payload.js","../../../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fcomponents.plugin.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2F.nuxt%2Fplugins.server.mjs","../../../../node_modules/nuxt/dist/app/components/route-provider.js","../../../../node_modules/nuxt/dist/pages/runtime/page.js","../../../../node_modules/nuxt/dist/app/components/nuxt-link.js","../../../../assets/images/logos/Harheimer TC.svg","../../../../components/Navigation.vue","../../../../components/Footer.vue","../../../../app.vue","../../../../node_modules/nuxt/dist/app/components/nuxt-error-page.vue","../../../../node_modules/nuxt/dist/app/components/nuxt-root.vue","../../../../node_modules/nuxt/dist/app/entry.js"],"sourcesContent":null,"names":["plugin","provide","plugins","createH3Error","createRadixRouter","login1RYyYL8mxx17qR_nmdKvywxx7lKOLXMFu8pTLfvTLYwMeta","__executeAsync","createRouter","entry","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","useRoute","_ssrRenderAttrs","_mergeProps","_push","_parent","_ssrRenderAttr","_imports_0","_createVNode","_ssrRenderClass","_unref","_ssrRenderList","_ssrInterpolate","_createTextVNode","_toDisplayString","_ssrRenderComponent","ErrorComponent","RootComponent"],"mappings":"","x_google_ignoreList":[3,4,5,6,7,8,9,10,12,13,15,16,18,19,20,23,24,25,30,31,32]}
|
||||
@@ -1,12 +1,12 @@
|
||||
const interopDefault = r => r.default || r || [];
|
||||
const styles = {
|
||||
"node_modules/nuxt/dist/app/entry.js": () => import('./entry-styles.CTgtYOBO.mjs').then(interopDefault),
|
||||
"node_modules/nuxt/dist/app/entry.js": () => import('./entry-styles.C14gkgmD.mjs').then(interopDefault),
|
||||
"node_modules/nuxt/dist/app/components/error-404.vue": () => import('./error-404-styles.B6OdZZsV.mjs').then(interopDefault),
|
||||
"node_modules/nuxt/dist/app/components/error-500.vue": () => import('./error-500-styles.CKJvUd8J.mjs').then(interopDefault),
|
||||
"components/Hero.vue": () => import('./Hero-styles.DnxJI8Rq.mjs').then(interopDefault),
|
||||
"components/Hero.vue?vue&type=style&index=0&scoped=33d25311&lang.css": () => import('./Hero-styles.DnxJI8Rq.mjs').then(interopDefault),
|
||||
"node_modules/nuxt/dist/app/components/error-404.vue?vue&type=style&index=0&scoped=06403dcb&lang.css": () => import('./error-404-styles.B6OdZZsV.mjs').then(interopDefault),
|
||||
"node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=4b6f0a29&lang.css": () => import('./error-500-styles.CKJvUd8J.mjs').then(interopDefault)
|
||||
"node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=4b6f0a29&lang.css": () => import('./error-500-styles.CKJvUd8J.mjs').then(interopDefault),
|
||||
"components/Hero.vue": () => import('./Hero-styles.DnxJI8Rq.mjs').then(interopDefault),
|
||||
"components/Hero.vue?vue&type=style&index=0&scoped=33d25311&lang.css": () => import('./Hero-styles.DnxJI8Rq.mjs').then(interopDefault)
|
||||
};
|
||||
|
||||
export { styles as default };
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"styles.mjs","sources":["../../../../.nuxt/dist/server/styles.mjs"],"sourcesContent":null,"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI;AAC9C,eAAe;AACf,EAAE,qCAAqC,EAAE,MAAM,OAAO,6BAAmC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC/G,EAAE,qDAAqD,EAAE,MAAM,OAAO,iCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACnI,EAAE,qDAAqD,EAAE,MAAM,OAAO,iCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACnI,EAAE,qBAAqB,EAAE,MAAM,OAAO,4BAAkC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC9F,EAAE,qEAAqE,EAAE,MAAM,OAAO,4BAAkC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC9I,EAAE,qGAAqG,EAAE,MAAM,OAAO,iCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACnL,EAAE,qGAAqG,EAAE,MAAM,OAAO,iCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc;AAClL;;;;"}
|
||||
{"version":3,"file":"styles.mjs","sources":["../../../../.nuxt/dist/server/styles.mjs"],"sourcesContent":null,"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI;AAC9C,eAAe;AACf,EAAE,qCAAqC,EAAE,MAAM,OAAO,6BAAmC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC/G,EAAE,qDAAqD,EAAE,MAAM,OAAO,iCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACnI,EAAE,qDAAqD,EAAE,MAAM,OAAO,iCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACnI,EAAE,qGAAqG,EAAE,MAAM,OAAO,iCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACnL,EAAE,qGAAqG,EAAE,MAAM,OAAO,iCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACnL,EAAE,qBAAqB,EAAE,MAAM,OAAO,4BAAkC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC9F,EAAE,qEAAqE,EAAE,MAAM,OAAO,4BAAkC,CAAC,CAAC,IAAI,CAAC,cAAc;AAC7I;;;;"}
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
{"version":3,"file":"nitro.mjs","sources":["../../../../node_modules/destr/dist/index.mjs","../../../../node_modules/ufo/dist/index.mjs","../../../../node_modules/radix3/dist/index.mjs","../../../../node_modules/defu/dist/defu.mjs","../../../../node_modules/node-mock-http/dist/index.mjs","../../../../node_modules/h3/dist/index.mjs","../../../../node_modules/hookable/dist/index.mjs","../../../../node_modules/node-fetch-native/dist/native.mjs","../../../../node_modules/ofetch/dist/shared/ofetch.03887fc3.mjs","../../../../node_modules/ofetch/dist/node.mjs","../../../../node_modules/nitropack/node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../node_modules/nuxt/node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../node_modules/nuxt/node_modules/unstorage/dist/index.mjs","../../../../node_modules/nuxt/node_modules/unstorage/drivers/utils/index.mjs","../../../../node_modules/nuxt/node_modules/unstorage/drivers/utils/node-fs.mjs","../../../../node_modules/nuxt/node_modules/unstorage/drivers/fs-lite.mjs","../../../../node_modules/nitropack/dist/runtime/internal/storage.mjs","../../../../node_modules/ohash/dist/crypto/node/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/hash.mjs","../../../../node_modules/nitropack/dist/runtime/internal/cache.mjs","../../../../node_modules/klona/dist/index.mjs","../../../../node_modules/scule/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../../../node_modules/nitropack/dist/runtime/internal/config.mjs","../../../../node_modules/unctx/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/context.mjs","../../../../node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../../../node_modules/nitropack/dist/runtime/internal/utils.mjs","../../../../node_modules/nuxt/dist/core/runtime/nitro/utils/error.js","../../../../node_modules/nuxt/dist/core/runtime/nitro/handlers/error.js","../../../../node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../../../node_modules/nitropack/dist/runtime/internal/error/prod.mjs","../../../../node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../../node_modules/nitropack/dist/runtime/internal/static.mjs","../../../../node_modules/nitropack/dist/runtime/internal/app.mjs","../../../../node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../../../node_modules/nitropack/dist/runtime/internal/lib/http-graceful-shutdown.mjs","../../../../node_modules/nitropack/dist/runtime/internal/shutdown.mjs","../../../../node_modules/nitropack/dist/presets/node/runtime/node-server.mjs"],"sourcesContent":null,"names":["getQuery","createRouter","f","h","i","l","createError","mergeHeaders","s","nodeFetch","Headers","Headers$1","AbortController$1","normalizeBaseKey","normalizeKey","defineDriver","DRIVER_NAME","dirname","fsPromises","resolve","fsp","_inlineAppConfig","createRadixRouter","nitroApp","callNodeRequestHandler","fetchNodeRequestHandler","gracefulShutdown","HttpsServer","HttpServer"],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]}
|
||||
{"version":3,"file":"nitro.mjs","sources":["../../../../node_modules/destr/dist/index.mjs","../../../../node_modules/ufo/dist/index.mjs","../../../../node_modules/cookie-es/dist/index.mjs","../../../../node_modules/radix3/dist/index.mjs","../../../../node_modules/defu/dist/defu.mjs","../../../../node_modules/node-mock-http/dist/index.mjs","../../../../node_modules/h3/dist/index.mjs","../../../../node_modules/hookable/dist/index.mjs","../../../../node_modules/node-fetch-native/dist/native.mjs","../../../../node_modules/ofetch/dist/shared/ofetch.03887fc3.mjs","../../../../node_modules/ofetch/dist/node.mjs","../../../../node_modules/nitropack/node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../node_modules/nuxt/node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../node_modules/nuxt/node_modules/unstorage/dist/index.mjs","../../../../node_modules/nuxt/node_modules/unstorage/drivers/utils/index.mjs","../../../../node_modules/nuxt/node_modules/unstorage/drivers/utils/node-fs.mjs","../../../../node_modules/nuxt/node_modules/unstorage/drivers/fs-lite.mjs","../../../../node_modules/nitropack/dist/runtime/internal/storage.mjs","../../../../node_modules/ohash/dist/shared/ohash.D__AXeF1.mjs","../../../../node_modules/ohash/dist/crypto/node/index.mjs","../../../../node_modules/ohash/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/hash.mjs","../../../../node_modules/nitropack/dist/runtime/internal/cache.mjs","../../../../node_modules/klona/dist/index.mjs","../../../../node_modules/scule/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../../../node_modules/nitropack/dist/runtime/internal/config.mjs","../../../../node_modules/unctx/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/context.mjs","../../../../node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../../../node_modules/nitropack/dist/runtime/internal/utils.mjs","../../../../node_modules/nuxt/dist/core/runtime/nitro/utils/error.js","../../../../node_modules/nuxt/dist/core/runtime/nitro/handlers/error.js","../../../../node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../../../node_modules/nitropack/dist/runtime/internal/error/prod.mjs","../../../../node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../../node_modules/nitropack/dist/runtime/internal/static.mjs","../../../../node_modules/nitropack/dist/runtime/internal/app.mjs","../../../../node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../../../node_modules/nitropack/dist/runtime/internal/lib/http-graceful-shutdown.mjs","../../../../node_modules/nitropack/dist/runtime/internal/shutdown.mjs","../../../../node_modules/nitropack/dist/presets/node/runtime/node-server.mjs"],"sourcesContent":null,"names":["decode","getQuery","serialize","createRouter","f","h","c","i","l","createError","parse$1","mergeHeaders","s","nodeFetch","Headers","Headers$1","AbortController$1","normalizeBaseKey","normalizeKey","defineDriver","DRIVER_NAME","dirname","fsPromises","resolve","fsp","hash","_inlineAppConfig","createRadixRouter","nitroApp","callNodeRequestHandler","fetchNodeRequestHandler","gracefulShutdown","HttpsServer","HttpServer"],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]}
|
||||
69
.output/server/chunks/routes/api/auth/login.post.mjs
Normal file
69
.output/server/chunks/routes/api/auth/login.post.mjs
Normal file
@@ -0,0 +1,69 @@
|
||||
import { d as defineEventHandler, r as readBody, c as createError, s as setCookie } from '../../../nitro/nitro.mjs';
|
||||
import { r as readUsers, v as verifyPassword, g as generateToken, c as createSession, w as writeUsers } from '../../../_/auth.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 'bcryptjs';
|
||||
import 'jsonwebtoken';
|
||||
import 'fs';
|
||||
import 'path';
|
||||
|
||||
const login_post = defineEventHandler(async (event) => {
|
||||
try {
|
||||
const body = await readBody(event);
|
||||
const { email, password } = body;
|
||||
if (!email || !password) {
|
||||
throw createError({
|
||||
statusCode: 400,
|
||||
message: "E-Mail und Passwort sind erforderlich"
|
||||
});
|
||||
}
|
||||
const users = await readUsers();
|
||||
const user = users.find((u) => u.email.toLowerCase() === email.toLowerCase());
|
||||
if (!user) {
|
||||
throw createError({
|
||||
statusCode: 401,
|
||||
message: "Ung\xFCltige Anmeldedaten"
|
||||
});
|
||||
}
|
||||
const isValid = await verifyPassword(password, user.password);
|
||||
if (!isValid) {
|
||||
throw createError({
|
||||
statusCode: 401,
|
||||
message: "Ung\xFCltige Anmeldedaten"
|
||||
});
|
||||
}
|
||||
const token = generateToken(user);
|
||||
await createSession(user.id, token);
|
||||
user.lastLogin = (/* @__PURE__ */ new Date()).toISOString();
|
||||
const updatedUsers = users.map((u) => u.id === user.id ? user : u);
|
||||
await writeUsers(updatedUsers);
|
||||
setCookie(event, "auth_token", token, {
|
||||
httpOnly: true,
|
||||
secure: true,
|
||||
sameSite: "lax",
|
||||
maxAge: 60 * 60 * 24 * 7
|
||||
// 7 days
|
||||
});
|
||||
return {
|
||||
success: true,
|
||||
user: {
|
||||
id: user.id,
|
||||
email: user.email,
|
||||
name: user.name,
|
||||
role: user.role
|
||||
}
|
||||
};
|
||||
} catch (error) {
|
||||
console.error("Login-Fehler:", error);
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
|
||||
export { login_post as default };
|
||||
//# sourceMappingURL=login.post.mjs.map
|
||||
1
.output/server/chunks/routes/api/auth/login.post.mjs.map
Normal file
1
.output/server/chunks/routes/api/auth/login.post.mjs.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"login.post.mjs","sources":["../../../../../../server/api/auth/login.post.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,IAAA,GAAA,MAAA,QAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAA,EAAA,KAAA,EAAA,QAAA,EAAA,GAAA,IAAA;AAEA,IAAA,IAAA,CAAA,KAAA,IAAA,CAAA,QAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,KAAA,GAAA,MAAA,SAAA,EAAA;AACA,IAAA,MAAA,IAAA,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,MAAA,WAAA,EAAA,KAAA,KAAA,CAAA,WAAA,EAAA,CAAA;AAEA,IAAA,IAAA,CAAA,IAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,OAAA,GAAA,MAAA,cAAA,CAAA,QAAA,EAAA,KAAA,QAAA,CAAA;AACA,IAAA,IAAA,CAAA,OAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,KAAA,GAAA,cAAA,IAAA,CAAA;AAGA,IAAA,MAAA,aAAA,CAAA,IAAA,CAAA,EAAA,EAAA,KAAA,CAAA;AAGA,IAAA,IAAA,CAAA,SAAA,GAAA,iBAAA,IAAA,IAAA,EAAA,EAAA,WAAA,EAAA;AACA,IAAA,MAAA,YAAA,GAAA,MAAA,GAAA,CAAA,CAAA,CAAA,KAAA,EAAA,EAAA,KAAA,IAAA,CAAA,EAAA,GAAA,IAAA,GAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,YAAA,CAAA;AAGA,IAAA,SAAA,CAAA,KAAA,EAAA,cAAA,KAAA,EAAA;AAAA,MACA,QAAA,EAAA,IAAA;AAAA,MACA,MAAA,EAAA,IAAA;AAAA,MACA,QAAA,EAAA,KAAA;AAAA,MACA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA;AAAA;AAAA,KACA,CAAA;AAGA,IAAA,OAAA;AAAA,MACA,OAAA,EAAA,IAAA;AAAA,MACA,IAAA,EAAA;AAAA,QACA,IAAA,IAAA,CAAA,EAAA;AAAA,QACA,OAAA,IAAA,CAAA,KAAA;AAAA,QACA,MAAA,IAAA,CAAA,IAAA;AAAA,QACA,MAAA,IAAA,CAAA;AAAA;AACA,KACA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,iBAAA,KAAA,CAAA;AACA,IAAA,MAAA,KAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
||||
37
.output/server/chunks/routes/api/auth/logout.post.mjs
Normal file
37
.output/server/chunks/routes/api/auth/logout.post.mjs
Normal file
@@ -0,0 +1,37 @@
|
||||
import { d as defineEventHandler, g as getCookie, a as deleteCookie, c as createError } from '../../../nitro/nitro.mjs';
|
||||
import { d as deleteSession } from '../../../_/auth.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 'bcryptjs';
|
||||
import 'jsonwebtoken';
|
||||
import 'fs';
|
||||
import 'path';
|
||||
|
||||
const logout_post = defineEventHandler(async (event) => {
|
||||
try {
|
||||
const token = getCookie(event, "auth_token");
|
||||
if (token) {
|
||||
await deleteSession(token);
|
||||
}
|
||||
deleteCookie(event, "auth_token");
|
||||
return {
|
||||
success: true,
|
||||
message: "Erfolgreich abgemeldet"
|
||||
};
|
||||
} catch (error) {
|
||||
console.error("Logout-Fehler:", error);
|
||||
throw createError({
|
||||
statusCode: 500,
|
||||
message: "Abmeldung fehlgeschlagen"
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export { logout_post as default };
|
||||
//# sourceMappingURL=logout.post.mjs.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"logout.post.mjs","sources":["../../../../../../server/api/auth/logout.post.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,oBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,KAAA,GAAA,SAAA,CAAA,KAAA,EAAA,YAAA,CAAA;AAEA,IAAA,IAAA,KAAA,EAAA;AACA,MAAA,MAAA,cAAA,KAAA,CAAA;AAAA,IACA;AAGA,IAAA,YAAA,CAAA,OAAA,YAAA,CAAA;AAEA,IAAA,OAAA;AAAA,MACA,OAAA,EAAA,IAAA;AAAA,MACA,OAAA,EAAA;AAAA,KACA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,kBAAA,KAAA,CAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,OAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
||||
@@ -0,0 +1,82 @@
|
||||
import { d as defineEventHandler, r as readBody, c as createError } from '../../../nitro/nitro.mjs';
|
||||
import { r as readUsers, h as hashPassword, w as writeUsers } from '../../../_/auth.mjs';
|
||||
import nodemailer from 'nodemailer';
|
||||
import require$$1 from 'crypto';
|
||||
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 'bcryptjs';
|
||||
import 'jsonwebtoken';
|
||||
import 'fs';
|
||||
import 'path';
|
||||
|
||||
const resetPassword_post = defineEventHandler(async (event) => {
|
||||
try {
|
||||
const body = await readBody(event);
|
||||
const { email } = body;
|
||||
if (!email) {
|
||||
throw createError({
|
||||
statusCode: 400,
|
||||
message: "E-Mail-Adresse ist erforderlich"
|
||||
});
|
||||
}
|
||||
const users = await readUsers();
|
||||
const user = users.find((u) => u.email.toLowerCase() === email.toLowerCase());
|
||||
if (!user) {
|
||||
return {
|
||||
success: true,
|
||||
message: "Falls ein Konto mit dieser E-Mail existiert, wurde eine E-Mail gesendet."
|
||||
};
|
||||
}
|
||||
const tempPassword = require$$1.randomBytes(8).toString("hex");
|
||||
const hashedPassword = await hashPassword(tempPassword);
|
||||
user.password = hashedPassword;
|
||||
user.passwordResetRequired = true;
|
||||
const updatedUsers = users.map((u) => u.id === user.id ? user : u);
|
||||
await writeUsers(updatedUsers);
|
||||
const transporter = nodemailer.createTransport({
|
||||
host: process.env.SMTP_HOST || "smtp.gmail.com",
|
||||
port: process.env.SMTP_PORT || 587,
|
||||
secure: false,
|
||||
auth: {
|
||||
user: process.env.SMTP_USER,
|
||||
pass: process.env.SMTP_PASS
|
||||
}
|
||||
});
|
||||
const mailOptions = {
|
||||
from: process.env.SMTP_FROM || "noreply@harheimertc.de",
|
||||
to: user.email,
|
||||
subject: "Passwort zur\xFCcksetzen - Harheimer TC",
|
||||
html: `
|
||||
<h2>Passwort zur\xFCcksetzen</h2>
|
||||
<p>Hallo ${user.name},</p>
|
||||
<p>Sie haben eine Anfrage zum Zur\xFCcksetzen Ihres Passworts gestellt.</p>
|
||||
<p>Ihr tempor\xE4res Passwort lautet: <strong>${tempPassword}</strong></p>
|
||||
<p>Bitte melden Sie sich damit an und \xE4ndern Sie Ihr Passwort im Mitgliederbereich.</p>
|
||||
<br>
|
||||
<p>Falls Sie diese Anfrage nicht gestellt haben, ignorieren Sie diese E-Mail.</p>
|
||||
<br>
|
||||
<p>Mit sportlichen Gr\xFC\xDFen,<br>Ihr Harheimer TC</p>
|
||||
`
|
||||
};
|
||||
await transporter.sendMail(mailOptions);
|
||||
return {
|
||||
success: true,
|
||||
message: "Falls ein Konto mit dieser E-Mail existiert, wurde eine E-Mail gesendet."
|
||||
};
|
||||
} catch (error) {
|
||||
console.error("Password-Reset-Fehler:", error);
|
||||
return {
|
||||
success: true,
|
||||
message: "Falls ein Konto mit dieser E-Mail existiert, wurde eine E-Mail gesendet."
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
export { resetPassword_post as default };
|
||||
//# sourceMappingURL=reset-password.post.mjs.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"reset-password.post.mjs","sources":["../../../../../../server/api/auth/reset-password.post.js"],"sourcesContent":null,"names":["crypto"],"mappings":";;;;;;;;;;;;;;;;;AAIA,2BAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,IAAA,GAAA,MAAA,QAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAA,EAAA,OAAA,GAAA,IAAA;AAEA,IAAA,IAAA,CAAA,KAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,KAAA,GAAA,MAAA,SAAA,EAAA;AACA,IAAA,MAAA,IAAA,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,MAAA,WAAA,EAAA,KAAA,KAAA,CAAA,WAAA,EAAA,CAAA;AAGA,IAAA,IAAA,CAAA,IAAA,EAAA;AACA,MAAA,OAAA;AAAA,QACA,OAAA,EAAA,IAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA;AAAA,IACA;AAGA,IAAA,MAAA,eAAAA,UAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,SAAA,KAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,MAAA,YAAA,CAAA,YAAA,CAAA;AAGA,IAAA,IAAA,CAAA,QAAA,GAAA,cAAA;AACA,IAAA,IAAA,CAAA,qBAAA,GAAA,IAAA;AACA,IAAA,MAAA,YAAA,GAAA,MAAA,GAAA,CAAA,CAAA,CAAA,KAAA,EAAA,EAAA,KAAA,IAAA,CAAA,EAAA,GAAA,IAAA,GAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,YAAA,CAAA;AAGA,IAAA,MAAA,WAAA,GAAA,WAAA,eAAA,CAAA;AAAA,MACA,IAAA,EAAA,OAAA,CAAA,GAAA,CAAA,SAAA,IAAA,gBAAA;AAAA,MACA,IAAA,EAAA,OAAA,CAAA,GAAA,CAAA,SAAA,IAAA,GAAA;AAAA,MACA,MAAA,EAAA,KAAA;AAAA,MACA,IAAA,EAAA;AAAA,QACA,IAAA,EAAA,QAAA,GAAA,CAAA,SAAA;AAAA,QACA,IAAA,EAAA,QAAA,GAAA,CAAA;AAAA;AACA,KACA,CAAA;AAEA,IAAA,MAAA,WAAA,GAAA;AAAA,MACA,IAAA,EAAA,OAAA,CAAA,GAAA,CAAA,SAAA,IAAA,wBAAA;AAAA,MACA,IAAA,IAAA,CAAA,KAAA;AAAA,MACA,OAAA,EAAA,yCAAA;AAAA,MACA,IAAA,EAAA;AAAA;AAAA,iBAAA,EAEA,KAAA,IAAA,CAAA;AAAA;AAAA,sDAAA,EAEA,YAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA;AAAA,KAOA;AAEA,IAAA,MAAA,WAAA,CAAA,SAAA,WAAA,CAAA;AAEA,IAAA,OAAA;AAAA,MACA,OAAA,EAAA,IAAA;AAAA,MACA,OAAA,EAAA;AAAA,KACA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,0BAAA,KAAA,CAAA;AAEA,IAAA,OAAA;AAAA,MACA,OAAA,EAAA,IAAA;AAAA,MACA,OAAA,EAAA;AAAA,KACA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
||||
56
.output/server/chunks/routes/api/auth/status.get.mjs
Normal file
56
.output/server/chunks/routes/api/auth/status.get.mjs
Normal file
@@ -0,0 +1,56 @@
|
||||
import { d as defineEventHandler, g as getCookie, a as deleteCookie } from '../../../nitro/nitro.mjs';
|
||||
import { a as getUserFromToken } from '../../../_/auth.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 'bcryptjs';
|
||||
import 'jsonwebtoken';
|
||||
import 'fs';
|
||||
import 'path';
|
||||
|
||||
const status_get = defineEventHandler(async (event) => {
|
||||
try {
|
||||
const token = getCookie(event, "auth_token");
|
||||
if (!token) {
|
||||
return {
|
||||
isLoggedIn: false,
|
||||
user: null,
|
||||
role: null
|
||||
};
|
||||
}
|
||||
const user = await getUserFromToken(token);
|
||||
if (!user) {
|
||||
deleteCookie(event, "auth_token");
|
||||
return {
|
||||
isLoggedIn: false,
|
||||
user: null,
|
||||
role: null
|
||||
};
|
||||
}
|
||||
return {
|
||||
isLoggedIn: true,
|
||||
user: {
|
||||
id: user.id,
|
||||
email: user.email,
|
||||
name: user.name,
|
||||
role: user.role
|
||||
},
|
||||
role: user.role
|
||||
};
|
||||
} catch (error) {
|
||||
console.error("Auth-Status-Fehler:", error);
|
||||
return {
|
||||
isLoggedIn: false,
|
||||
user: null,
|
||||
role: null
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
export { status_get as default };
|
||||
//# sourceMappingURL=status.get.mjs.map
|
||||
1
.output/server/chunks/routes/api/auth/status.get.mjs.map
Normal file
1
.output/server/chunks/routes/api/auth/status.get.mjs.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"status.get.mjs","sources":["../../../../../../server/api/auth/status.get.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,KAAA,GAAA,SAAA,CAAA,KAAA,EAAA,YAAA,CAAA;AAEA,IAAA,IAAA,CAAA,KAAA,EAAA;AACA,MAAA,OAAA;AAAA,QACA,UAAA,EAAA,KAAA;AAAA,QACA,IAAA,EAAA,IAAA;AAAA,QACA,IAAA,EAAA;AAAA,OACA;AAAA,IACA;AAEA,IAAA,MAAA,IAAA,GAAA,MAAA,gBAAA,CAAA,KAAA,CAAA;AAEA,IAAA,IAAA,CAAA,IAAA,EAAA;AACA,MAAA,YAAA,CAAA,OAAA,YAAA,CAAA;AACA,MAAA,OAAA;AAAA,QACA,UAAA,EAAA,KAAA;AAAA,QACA,IAAA,EAAA,IAAA;AAAA,QACA,IAAA,EAAA;AAAA,OACA;AAAA,IACA;AAEA,IAAA,OAAA;AAAA,MACA,UAAA,EAAA,IAAA;AAAA,MACA,IAAA,EAAA;AAAA,QACA,IAAA,IAAA,CAAA,EAAA;AAAA,QACA,OAAA,IAAA,CAAA,KAAA;AAAA,QACA,MAAA,IAAA,CAAA,IAAA;AAAA,QACA,MAAA,IAAA,CAAA;AAAA,OACA;AAAA,MACA,MAAA,IAAA,CAAA;AAAA,KACA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,uBAAA,KAAA,CAAA;AACA,IAAA,OAAA;AAAA,MACA,UAAA,EAAA,KAAA;AAAA,MACA,IAAA,EAAA,IAAA;AAAA,MACA,IAAA,EAAA;AAAA,KACA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { createRenderer, getRequestDependencies, getPreloadLinks, getPrefetchLinks } from 'vue-bundle-renderer/runtime';
|
||||
import { j as joinRelativeURL, u as useRuntimeConfig, g as getResponseStatusText, a as getResponseStatus, b as defineRenderHandler, e as getQuery, c as createError, f as getRouteRules, h as relative, i as joinURL, k as useNitroApp } from '../nitro/nitro.mjs';
|
||||
import { j as joinRelativeURL, u as useRuntimeConfig, b as getResponseStatusText, e as getResponseStatus, f as defineRenderHandler, h as getQuery, c as createError, i as getRouteRules, k as relative, l as joinURL, m as useNitroApp } from '../nitro/nitro.mjs';
|
||||
import { renderToString } from 'vue/server-renderer';
|
||||
import { createHead as createHead$1, propsToString, renderSSRHead } from 'unhead/server';
|
||||
import { stringify, uneval } from 'devalue';
|
||||
@@ -267,7 +267,7 @@ async function renderInlineStyles(usedModules) {
|
||||
|
||||
const renderSSRHeadOptions = {"omitLineBreaks":false};
|
||||
|
||||
const entryFileName = "Dzvh14Kz.js";
|
||||
const entryFileName = "CYBxhx9-.js";
|
||||
|
||||
globalThis.__buildAssetsURL = buildAssetsURL;
|
||||
globalThis.__publicAssetsURL = publicAssetsURL;
|
||||
|
||||
Reference in New Issue
Block a user