Compare commits
38 Commits
backend-ov
...
7d54156112
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d54156112 | ||
|
|
cd60f37e93 | ||
| 5f5fb83e9a | |||
| f15598b2c1 | |||
| 979732d545 | |||
| d9e0b07f0c | |||
| b5ac5df38d | |||
| c982f34823 | |||
|
|
c390228ed9 | ||
|
|
9c924071f4 | ||
|
|
2d1ed43312 | ||
|
|
11cf961ed8 | ||
|
|
cd9e645941 | ||
|
|
7bd236aa82 | ||
|
|
f96e0a1f22 | ||
|
|
45190ed7a5 | ||
|
|
79f2ca8382 | ||
|
|
550ed97a11 | ||
|
|
718bcabea3 | ||
|
|
44c978f21e | ||
|
|
6c54bc9d49 | ||
|
|
d4fab1ceb3 | ||
|
|
ead4dbdd3f | ||
|
|
b18c911500 | ||
|
|
5e4471a936 | ||
|
|
459dd3168a | ||
|
|
3af7089e06 | ||
|
|
156d89a45d | ||
|
|
bf0b7f1dad | ||
|
|
6de8cac0bc | ||
|
|
ecd03d29f4 | ||
|
|
0238fffd3d | ||
|
|
fd84112cef | ||
|
|
3303c749e2 | ||
|
|
9cadaf3f51 | ||
|
|
5d32c46e38 | ||
|
|
7e6128dec4 | ||
|
|
cff48550ae |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -27,3 +27,5 @@ server.key
|
||||
server.cert
|
||||
|
||||
public/images/uploads/1ba24ea7-f52c-4179-896f-1909269cab58.jpg
|
||||
actualize.sh
|
||||
files/uploads/GD 24.08.2025-04.01.2026 Stand 12.08.2025.docx
|
||||
|
||||
@@ -2,4 +2,4 @@ module.exports = {
|
||||
presets: [
|
||||
'@vue/cli-plugin-babel/preset'
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{
|
||||
"development": {
|
||||
"username": "miriam_user",
|
||||
"password": "qTCTTWwpEwy3vPDU",
|
||||
"username": "miriamgemeinde",
|
||||
"password": "hitomisan",
|
||||
"database": "miriamgemeinde",
|
||||
"host": "tsschulz.de",
|
||||
"host": "localhost",
|
||||
"dialect": "mysql"
|
||||
},
|
||||
"test": {
|
||||
"username": "miriam_user",
|
||||
"password": "qTCTTWwpEwy3vPDU",
|
||||
"password": "hitomisan",
|
||||
"database": "miriamgemeinde",
|
||||
"host": "tsschulz.de",
|
||||
"dialect": "mysql"
|
||||
},
|
||||
"production": {
|
||||
"username": "miriam_user",
|
||||
"password": "qTCTTWwpEwy3vPDU",
|
||||
"password": "hitomisan",
|
||||
"database": "miriamgemeinde",
|
||||
"host": "tsschulz.de",
|
||||
"dialect": "mysql"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const { Sequelize } = require('sequelize');
|
||||
|
||||
const sequelize = new Sequelize('miriamgemeinde', 'miriam_user', 'qTCTTWwpEwy3vPDU', {
|
||||
host: 'tsschulz.de',
|
||||
const sequelize = new Sequelize('miriamgemeinde', 'miriamgemeinde', 'hitomisan', {
|
||||
host: 'localhost',
|
||||
dialect: 'mysql',
|
||||
retry: {
|
||||
match: [
|
||||
@@ -26,7 +26,7 @@ const sequelize = new Sequelize('miriamgemeinde', 'miriam_user', 'qTCTTWwpEwy3vP
|
||||
async function connectWithRetry() {
|
||||
try {
|
||||
await sequelize.authenticate();
|
||||
console.log('Connection has been established successfully.');
|
||||
console.log(`Connection has been established successfully. Database server: ${sequelize.config.host}`);
|
||||
} catch (error) {
|
||||
console.error('Unable to connect to the database:', error);
|
||||
setTimeout(connectWithRetry, 5000);
|
||||
|
||||
@@ -3,7 +3,16 @@ const { Op } = require('sequelize');
|
||||
|
||||
const getAllContactPersons = async (req, res) => {
|
||||
try {
|
||||
const today = new Date();
|
||||
today.setHours(0, 0, 0, 0);
|
||||
|
||||
const contactPersons = await ContactPerson.findAll({
|
||||
where: {
|
||||
[Op.or]: [
|
||||
{ expiryDate: null },
|
||||
{ expiryDate: { [Op.gte]: today } }
|
||||
]
|
||||
},
|
||||
include: [
|
||||
{
|
||||
model: Position,
|
||||
@@ -79,6 +88,14 @@ const filterContactPersons = async (req, res) => {
|
||||
const where = {};
|
||||
const having = [];
|
||||
|
||||
// Filter für nicht abgelaufene Kontaktpersonen
|
||||
const today = new Date();
|
||||
today.setHours(0, 0, 0, 0);
|
||||
where[Op.or] = [
|
||||
{ expiryDate: null },
|
||||
{ expiryDate: { [Op.gte]: today } }
|
||||
];
|
||||
|
||||
if (config.selection.id && config.selection.id === 'all') {
|
||||
// No additional filter needed for "all"
|
||||
} else if (config.selection.id) {
|
||||
|
||||
154
controllers/liturgicalDayController.js
Normal file
154
controllers/liturgicalDayController.js
Normal file
@@ -0,0 +1,154 @@
|
||||
const { LiturgicalDay } = require('../models');
|
||||
const { Op } = require('sequelize');
|
||||
const axios = require('axios');
|
||||
|
||||
// Alle liturgischen Tage abrufen
|
||||
const getAllLiturgicalDays = async (req, res) => {
|
||||
try {
|
||||
const days = await LiturgicalDay.findAll({
|
||||
order: [['date', 'ASC']]
|
||||
});
|
||||
res.status(200).json(days);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).json({ message: 'Fehler beim Abrufen der liturgischen Tage' });
|
||||
}
|
||||
};
|
||||
|
||||
// Eindeutige Namen für Multiselect abrufen
|
||||
const getLiturgicalDayNames = async (req, res) => {
|
||||
try {
|
||||
const days = await LiturgicalDay.findAll({
|
||||
attributes: ['dayName'],
|
||||
group: ['dayName'],
|
||||
order: [['dayName', 'ASC']]
|
||||
});
|
||||
const names = days.map(day => day.dayName);
|
||||
res.status(200).json(names);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).json({ message: 'Fehler beim Abrufen der Tag-Namen' });
|
||||
}
|
||||
};
|
||||
|
||||
// HTML von liturgischem Kalender parsen und in DB speichern
|
||||
const loadLiturgicalYear = async (req, res) => {
|
||||
const { year } = req.body;
|
||||
|
||||
if (!year) {
|
||||
return res.status(400).json({ message: 'Jahr ist erforderlich' });
|
||||
}
|
||||
|
||||
const currentYear = new Date().getFullYear();
|
||||
if (year < currentYear || year > currentYear + 2) {
|
||||
return res.status(400).json({ message: 'Jahr muss zwischen aktuellem Jahr und 2 Jahren in der Zukunft liegen' });
|
||||
}
|
||||
|
||||
try {
|
||||
const url = `https://www.eike-fleer.de/liturgischer-kalender/${year}.htm`;
|
||||
const response = await axios.get(url, {
|
||||
headers: {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
|
||||
}
|
||||
});
|
||||
|
||||
const html = response.data;
|
||||
|
||||
// Parse HTML - suche nach Tabellenzeilen mit Datum und Name
|
||||
// Format: "DD.MM.YYYY DayName"
|
||||
const regex = /(\d{2}\.\d{2}\.\d{4})\s*(?: |\s)+(.+?)(?:<\/|$)/gi;
|
||||
const matches = [...html.matchAll(regex)];
|
||||
|
||||
const liturgicalDays = [];
|
||||
|
||||
for (const match of matches) {
|
||||
const dateStr = match[1]; // DD.MM.YYYY
|
||||
let dayName = match[2];
|
||||
|
||||
// Bereinige den Tag-Namen von HTML-Tags und Entities
|
||||
dayName = dayName
|
||||
.replace(/<[^>]*>/g, '') // Entferne HTML-Tags
|
||||
.replace(/ /g, ' ') // Ersetze
|
||||
.replace(/ä/g, 'ä')
|
||||
.replace(/ö/g, 'ö')
|
||||
.replace(/ü/g, 'ü')
|
||||
.replace(/Ä/g, 'Ä')
|
||||
.replace(/Ö/g, 'Ö')
|
||||
.replace(/Ü/g, 'Ü')
|
||||
.replace(/ß/g, 'ß')
|
||||
.trim();
|
||||
|
||||
// Konvertiere Datum von DD.MM.YYYY zu YYYY-MM-DD
|
||||
const [day, month, yearPart] = dateStr.split('.');
|
||||
const isoDate = `${yearPart}-${month}-${day}`;
|
||||
|
||||
if (dayName && dayName.length > 0) {
|
||||
liturgicalDays.push({
|
||||
date: isoDate,
|
||||
dayName: dayName
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (liturgicalDays.length === 0) {
|
||||
return res.status(500).json({ message: 'Keine liturgischen Tage gefunden. Möglicherweise hat sich das HTML-Format geändert.' });
|
||||
}
|
||||
|
||||
// Speichere oder aktualisiere die Einträge
|
||||
for (const day of liturgicalDays) {
|
||||
await LiturgicalDay.upsert({
|
||||
date: day.date,
|
||||
dayName: day.dayName
|
||||
});
|
||||
}
|
||||
|
||||
res.status(200).json({
|
||||
message: `${liturgicalDays.length} liturgische Tage für ${year} erfolgreich geladen`,
|
||||
count: liturgicalDays.length
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Laden der liturgischen Tage:', error);
|
||||
if (error.response && error.response.status === 404) {
|
||||
return res.status(404).json({ message: `Liturgischer Kalender für ${year} nicht gefunden` });
|
||||
}
|
||||
res.status(500).json({ message: 'Fehler beim Laden der liturgischen Tage', error: error.message });
|
||||
}
|
||||
};
|
||||
|
||||
// Einzelnen Tag erstellen
|
||||
const createLiturgicalDay = async (req, res) => {
|
||||
try {
|
||||
const day = await LiturgicalDay.create(req.body);
|
||||
res.status(201).json(day);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).json({ message: 'Fehler beim Erstellen des liturgischen Tags' });
|
||||
}
|
||||
};
|
||||
|
||||
// Tag löschen
|
||||
const deleteLiturgicalDay = async (req, res) => {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
const deleted = await LiturgicalDay.destroy({
|
||||
where: { id }
|
||||
});
|
||||
if (deleted) {
|
||||
res.status(200).json({ message: 'Liturgischer Tag erfolgreich gelöscht' });
|
||||
} else {
|
||||
res.status(404).json({ message: 'Liturgischer Tag nicht gefunden' });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).json({ message: 'Fehler beim Löschen des liturgischen Tags' });
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
getAllLiturgicalDays,
|
||||
getLiturgicalDayNames,
|
||||
loadLiturgicalYear,
|
||||
createLiturgicalDay,
|
||||
deleteLiturgicalDay
|
||||
};
|
||||
|
||||
@@ -6,7 +6,8 @@ exports.getMenuData = async (req, res) => {
|
||||
const menuData = await fetchMenuData();
|
||||
res.json(menuData);
|
||||
} catch (error) {
|
||||
res.status(500).send('Error fetching menu data');
|
||||
console.error('getMenuData:', error);
|
||||
res.status(500).json({ error: 'Menü konnte nicht geladen werden (Datenbank nicht erreichbar).' });
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
28
migrations/20251007150137-create-liturgical-days.js
Normal file
28
migrations/20251007150137-create-liturgical-days.js
Normal file
@@ -0,0 +1,28 @@
|
||||
'use strict';
|
||||
|
||||
/** @type {import('sequelize-cli').Migration} */
|
||||
module.exports = {
|
||||
async up (queryInterface, Sequelize) {
|
||||
await queryInterface.createTable('liturgical_days', {
|
||||
id: {
|
||||
type: Sequelize.INTEGER,
|
||||
primaryKey: true,
|
||||
autoIncrement: true,
|
||||
allowNull: false
|
||||
},
|
||||
date: {
|
||||
type: Sequelize.DATEONLY,
|
||||
allowNull: false,
|
||||
unique: true
|
||||
},
|
||||
dayName: {
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
async down (queryInterface, Sequelize) {
|
||||
await queryInterface.dropTable('liturgical_days');
|
||||
}
|
||||
};
|
||||
16
migrations/20251122134324-add-orgelspiel-to-worships.js
Normal file
16
migrations/20251122134324-add-orgelspiel-to-worships.js
Normal file
@@ -0,0 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
/** @type {import('sequelize-cli').Migration} */
|
||||
module.exports = {
|
||||
up: async (queryInterface, Sequelize) => {
|
||||
await queryInterface.addColumn('worships', 'organ_playing', {
|
||||
type: Sequelize.STRING,
|
||||
allowNull: true
|
||||
});
|
||||
},
|
||||
|
||||
down: async (queryInterface, Sequelize) => {
|
||||
await queryInterface.removeColumn('worships', 'organ_playing');
|
||||
}
|
||||
};
|
||||
|
||||
17
migrations/20251122140000-add-freigegeben-to-worships.js
Normal file
17
migrations/20251122140000-add-freigegeben-to-worships.js
Normal file
@@ -0,0 +1,17 @@
|
||||
'use strict';
|
||||
|
||||
/** @type {import('sequelize-cli').Migration} */
|
||||
module.exports = {
|
||||
up: async (queryInterface, Sequelize) => {
|
||||
await queryInterface.addColumn('worships', 'approved', {
|
||||
type: Sequelize.BOOLEAN,
|
||||
allowNull: false,
|
||||
defaultValue: false
|
||||
});
|
||||
},
|
||||
|
||||
down: async (queryInterface, Sequelize) => {
|
||||
await queryInterface.removeColumn('worships', 'approved');
|
||||
}
|
||||
};
|
||||
|
||||
@@ -25,6 +25,10 @@ module.exports = (sequelize) => {
|
||||
email: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: true
|
||||
},
|
||||
expiryDate: {
|
||||
type: DataTypes.DATEONLY,
|
||||
allowNull: true
|
||||
}
|
||||
}, {
|
||||
tableName: 'contact_persons',
|
||||
|
||||
24
models/LiturgicalDay.js
Normal file
24
models/LiturgicalDay.js
Normal file
@@ -0,0 +1,24 @@
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
const LiturgicalDay = sequelize.define('LiturgicalDay', {
|
||||
id: {
|
||||
type: DataTypes.INTEGER,
|
||||
primaryKey: true,
|
||||
autoIncrement: true
|
||||
},
|
||||
date: {
|
||||
type: DataTypes.DATEONLY,
|
||||
allowNull: false,
|
||||
unique: true
|
||||
},
|
||||
dayName: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
}
|
||||
}, {
|
||||
tableName: 'liturgical_days',
|
||||
timestamps: false
|
||||
});
|
||||
|
||||
return LiturgicalDay;
|
||||
};
|
||||
|
||||
@@ -61,6 +61,17 @@ module.exports = (sequelize) => {
|
||||
allowNull: true,
|
||||
field: 'sacristan_service'
|
||||
},
|
||||
organPlaying: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: true,
|
||||
field: 'organ_playing'
|
||||
},
|
||||
approved: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
defaultValue: false,
|
||||
allowNull: false,
|
||||
field: 'approved'
|
||||
},
|
||||
}, {
|
||||
tableName: 'worships',
|
||||
timestamps: true
|
||||
|
||||
26033
package-lock.json
generated
26033
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -26,7 +26,7 @@
|
||||
"@tiptap/extension-underline": "^2.4.0",
|
||||
"@tiptap/starter-kit": "^2.4.0",
|
||||
"@tiptap/vue-3": "^2.4.0",
|
||||
"@vue/cli": "^5.0.8",
|
||||
"@vue/cli": "^4.2.2",
|
||||
"axios": "^1.7.2",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"body-parser": "^1.20.2",
|
||||
@@ -34,10 +34,12 @@
|
||||
"cors": "^2.8.5",
|
||||
"crypto": "^1.0.1",
|
||||
"date-fns": "^3.6.0",
|
||||
"docx": "^9.5.1",
|
||||
"dotenv": "^16.4.5",
|
||||
"express": "^4.19.2",
|
||||
"file-saver": "^2.0.5",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"mammoth": "^1.11.0",
|
||||
"moment": "^2.30.1",
|
||||
"multer": "^1.4.5-lts.1",
|
||||
"mysql2": "^3.10.1",
|
||||
|
||||
1
public/css/119.9fd877d4.css
Normal file
1
public/css/119.9fd877d4.css
Normal file
File diff suppressed because one or more lines are too long
1
public/css/187.f4e467b4.css
Normal file
1
public/css/187.f4e467b4.css
Normal file
@@ -0,0 +1 @@
|
||||
.event-places-management[data-v-4e6631f7]{max-width:600px;margin:auto;padding:20px;border:1px solid #ccc;border-radius:5px}form[data-v-4e6631f7]{display:flex;flex-direction:column;margin-bottom:20px}label[data-v-4e6631f7]{margin-top:10px}input[data-v-4e6631f7]{margin-top:5px;margin-bottom:10px;padding:8px}button[data-v-4e6631f7]{margin-top:10px;padding:10px}table[data-v-4e6631f7]{width:100%;border-collapse:collapse;margin-top:20px}td[data-v-4e6631f7],th[data-v-4e6631f7]{border:1px solid #ccc;padding:10px;text-align:left}th[data-v-4e6631f7]{background-color:#f4f4f4}
|
||||
1
public/css/23.78894bf8.css
Normal file
1
public/css/23.78894bf8.css
Normal file
@@ -0,0 +1 @@
|
||||
div[data-v-68b32234]{padding:20px}ul[data-v-68b32234]{list-style:none;padding:0;margin:0}li[data-v-68b32234]{padding:0;margin:0}
|
||||
1
public/css/246.1e896a7d.css
Normal file
1
public/css/246.1e896a7d.css
Normal file
File diff suppressed because one or more lines are too long
1
public/css/324.2d192723.css
Normal file
1
public/css/324.2d192723.css
Normal file
@@ -0,0 +1 @@
|
||||
.forgot-password[data-v-c694cf4e]{max-width:400px;margin:auto}form[data-v-c694cf4e]{display:flex;flex-direction:column}label[data-v-c694cf4e]{margin-top:10px}button[data-v-c694cf4e]{margin-top:20px}.dialog[data-v-c694cf4e]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4)}.dialog-content[data-v-c694cf4e]{background:#fff;padding:16px;border-radius:4px;max-width:420px;width:90%}
|
||||
1
public/css/355.ad78254c.css
Normal file
1
public/css/355.ad78254c.css
Normal file
@@ -0,0 +1 @@
|
||||
.dialog-overlay[data-v-ce9d9498]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.dialog[data-v-ce9d9498]{background:#fff;padding:30px;border-radius:8px;max-width:400px;width:90%;text-align:center;box-shadow:0 4px 6px rgba(0,0,0,.1)}.dialog h2[data-v-ce9d9498]{margin-top:0;margin-bottom:15px;color:#333;font-size:20px}.dialog p[data-v-ce9d9498]{margin:15px 0;color:#666;line-height:1.5}.dialog button[data-v-ce9d9498]{margin-top:20px;padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px}.dialog button[data-v-ce9d9498]:hover{background-color:#0056b3}
|
||||
1
public/css/404.4bd58cd7.css
Normal file
1
public/css/404.4bd58cd7.css
Normal file
@@ -0,0 +1 @@
|
||||
.institution-management[data-v-ff992c44]{max-width:600px;margin:auto;padding:20px;border:1px solid #ccc;border-radius:5px}form[data-v-ff992c44]{display:flex;flex-direction:column;margin-bottom:20px}label[data-v-ff992c44]{margin-top:10px}input[data-v-ff992c44]{margin-top:5px;margin-bottom:10px;padding:8px}button[data-v-ff992c44]{margin-top:10px;padding:10px}table[data-v-ff992c44]{width:100%;border-collapse:collapse;margin-top:20px}td[data-v-ff992c44],th[data-v-ff992c44]{border:1px solid #ccc;padding:10px;text-align:left}th[data-v-ff992c44]{background-color:#f4f4f4}
|
||||
1
public/css/414.30c15939.css
Normal file
1
public/css/414.30c15939.css
Normal file
File diff suppressed because one or more lines are too long
1
public/css/423.63d77ea0.css
Normal file
1
public/css/423.63d77ea0.css
Normal file
@@ -0,0 +1 @@
|
||||
.reset-password[data-v-e49a033c]{max-width:400px;margin:auto}form[data-v-e49a033c]{display:flex;flex-direction:column}label[data-v-e49a033c]{margin-top:10px}input[data-v-e49a033c]{margin-top:5px;padding:8px;border:1px solid #ddd;border-radius:4px}button[data-v-e49a033c]{margin-top:20px;padding:10px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}button[data-v-e49a033c]:disabled{background-color:#ccc;cursor:not-allowed}.dialog[data-v-e49a033c]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4)}.dialog-content[data-v-e49a033c]{background:#fff;padding:16px;border-radius:4px;max-width:420px;width:90%}
|
||||
1
public/css/441.bdb3d500.css
Normal file
1
public/css/441.bdb3d500.css
Normal file
@@ -0,0 +1 @@
|
||||
.position-management[data-v-1684a375]{max-width:600px;margin:auto;padding:20px;border:1px solid #ccc;border-radius:5px}form[data-v-1684a375]{display:flex;flex-direction:column;margin-bottom:20px}label[data-v-1684a375]{margin-top:10px}input[data-v-1684a375]{margin-top:5px;margin-bottom:10px;padding:8px}button[data-v-1684a375]{margin-top:10px;padding:10px}table[data-v-1684a375]{width:100%;border-collapse:collapse;margin-top:20px}td[data-v-1684a375],th[data-v-1684a375]{border:1px solid #ccc;padding:10px;text-align:left}th[data-v-1684a375]{background-color:#f4f4f4}
|
||||
1
public/css/446.9504c97b.css
Normal file
1
public/css/446.9504c97b.css
Normal file
@@ -0,0 +1 @@
|
||||
.upload-files[data-v-f2694614]{width:100%;margin:auto}.upload-files div[data-v-f2694614]{margin-bottom:10px}.file-list[data-v-f2694614]{list-style-type:none;padding:0;margin-top:20px}.file-list li[data-v-f2694614]{border-bottom:1px solid #ddd;padding:10px 0}.file-info[data-v-f2694614]{display:flex;justify-content:space-between;cursor:pointer}.file-title[data-v-f2694614]{font-weight:700}.file-name[data-v-f2694614]{color:#555}.file-date[data-v-f2694614]{color:#888}
|
||||
1
public/css/448.be11324e.css
Normal file
1
public/css/448.be11324e.css
Normal file
@@ -0,0 +1 @@
|
||||
div[data-v-334e7b82]{padding:20px}
|
||||
1
public/css/468.43cc4f81.css
Normal file
1
public/css/468.43cc4f81.css
Normal file
@@ -0,0 +1 @@
|
||||
.user-administration[data-v-a495c756]{padding:20px}.user-administration h1[data-v-a495c756],.user-administration h2[data-v-a495c756]{margin-bottom:20px}.user-administration form[data-v-a495c756]{display:flex;flex-direction:column;margin-bottom:20px}.user-administration label[data-v-a495c756]{margin-top:10px}.user-administration input[type=email][data-v-a495c756],.user-administration input[type=password][data-v-a495c756],.user-administration input[type=text][data-v-a495c756]{padding:5px;font-size:16px}.user-administration ul[data-v-a495c756]{list-style-type:none;padding:0}.user-administration li[data-v-a495c756]{padding:10px;border-bottom:1px solid #ddd;cursor:pointer}.user-administration li[data-v-a495c756]:hover{background-color:#f0f0f0}
|
||||
1
public/css/493.65e45809.css
Normal file
1
public/css/493.65e45809.css
Normal file
@@ -0,0 +1 @@
|
||||
.register[data-v-63b3c0a3]{max-width:400px;margin:auto}form[data-v-63b3c0a3]{display:flex;flex-direction:column}label[data-v-63b3c0a3]{margin-top:10px}button[data-v-63b3c0a3]{margin-top:20px}.dialog[data-v-63b3c0a3]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4)}.dialog-content[data-v-63b3c0a3]{background:#fff;padding:16px;border-radius:4px;max-width:420px;width:90%}
|
||||
1
public/css/636.7f8b0e61.css
Normal file
1
public/css/636.7f8b0e61.css
Normal file
@@ -0,0 +1 @@
|
||||
form div[data-v-403a0e0b]{margin-bottom:10px}.uploaded-image[data-v-403a0e0b]{display:inline-block;margin:0 0 .5em .5em;border:1px solid #e0e0e0;padding:10px}.uploaded-image input[data-v-403a0e0b],.uploaded-image textarea[data-v-403a0e0b]{width:100%;margin:5px 0}
|
||||
1
public/css/698.dbbad9eb.css
Normal file
1
public/css/698.dbbad9eb.css
Normal file
@@ -0,0 +1 @@
|
||||
.impressum[data-v-8b4b087a]{max-width:800px;margin:auto;padding:20px}h1[data-v-8b4b087a],h2[data-v-8b4b087a],h3[data-v-8b4b087a],h4[data-v-8b4b087a]{margin-top:20px;color:#333}p[data-v-8b4b087a]{line-height:1.6}a[data-v-8b4b087a]{color:#007bff;text-decoration:none}a[data-v-8b4b087a]:hover{text-decoration:underline}
|
||||
1
public/css/701.e7f92719.css
Normal file
1
public/css/701.e7f92719.css
Normal file
File diff suppressed because one or more lines are too long
1
public/css/702.48bbd10b.css
Normal file
1
public/css/702.48bbd10b.css
Normal file
@@ -0,0 +1 @@
|
||||
.dialog-overlay[data-v-ce9d9498]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.dialog[data-v-ce9d9498]{background:#fff;padding:30px;border-radius:8px;max-width:400px;width:90%;text-align:center;box-shadow:0 4px 6px rgba(0,0,0,.1)}.dialog h2[data-v-ce9d9498]{margin-top:0;margin-bottom:15px;color:#333;font-size:20px}.dialog p[data-v-ce9d9498]{margin:15px 0;color:#666;line-height:1.5}.dialog button[data-v-ce9d9498]{margin-top:20px;padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px}.dialog button[data-v-ce9d9498]:hover{background-color:#0056b3}.login[data-v-40a158c0]{max-width:400px;margin:auto}form[data-v-40a158c0]{display:flex;flex-direction:column}label[data-v-40a158c0]{margin-top:10px}button[data-v-40a158c0]{margin-top:20px}
|
||||
1
public/css/703.5760daa0.css
Normal file
1
public/css/703.5760daa0.css
Normal file
@@ -0,0 +1 @@
|
||||
.menu-management[data-v-0e6a0522]{width:100%;margin:auto}.button-container[data-v-0e6a0522]{display:inline-flex;gap:10px;margin-bottom:20px}.tree-view[data-v-0e6a0522]{margin-top:20px}.tree-view ul[data-v-0e6a0522]{list-style-type:none;padding:0}.tree-view li[data-v-0e6a0522]{margin-bottom:5px;padding-left:20px}.tree-view .menu-item[data-v-0e6a0522]{display:inline-flex;width:100%;justify-content:space-between;align-items:center}.tree-view span[data-v-0e6a0522]{cursor:pointer;color:#000}.tree-view button[data-v-0e6a0522]{border:none;height:1.6em;padding:0 .5em;margin:1px;border-radius:5px}.tree-view span[data-v-0e6a0522]:hover{text-decoration:underline}.edit-form[data-v-0e6a0522]{margin-top:20px}.edit-form label[data-v-0e6a0522]{display:block;margin-bottom:5px;font-weight:700}.edit-form input[data-v-0e6a0522]:not([type=checkbox]){display:block;margin-bottom:10px}.edit-form .checkbox-container[data-v-0e6a0522]{display:flex;flex-direction:column;margin-right:10px}.edit-form .order-id[data-v-0e6a0522]{width:50px}.edit-form button[data-v-0e6a0522]{margin-top:5px}
|
||||
1
public/css/718.d23bc4ce.css
Normal file
1
public/css/718.d23bc4ce.css
Normal file
@@ -0,0 +1 @@
|
||||
.privacy-policy[data-v-6785ba18]{max-width:800px;margin:auto;padding:20px}h1[data-v-6785ba18],h2[data-v-6785ba18],h3[data-v-6785ba18],h4[data-v-6785ba18],h5[data-v-6785ba18]{margin-top:20px;color:#333}p[data-v-6785ba18]{line-height:1.6}ul[data-v-6785ba18]{margin:10px 0;padding-left:20px}ul li[data-v-6785ba18]{list-style-type:disc}a[data-v-6785ba18]{color:#007bff;text-decoration:none}a[data-v-6785ba18]:hover{text-decoration:underline}
|
||||
1
public/css/768.e2f8f0fa.css
Normal file
1
public/css/768.e2f8f0fa.css
Normal file
@@ -0,0 +1 @@
|
||||
.service-unavailable[data-v-fd9b1088]{padding:20px}.hint[data-v-fd9b1088]{color:#444;margin-top:1rem}
|
||||
1
public/css/785.a0abc21b.css
Normal file
1
public/css/785.a0abc21b.css
Normal file
@@ -0,0 +1 @@
|
||||
table.worships[data-v-dc6acbe6]{border-collapse:collapse;width:100%}table.worships td[data-v-dc6acbe6]{border:1px solid #000;text-align:center}h3[data-v-dc6acbe6]{margin:0}table.worships td div[data-v-dc6acbe6]{margin:5px}.highlight-time[data-v-dc6acbe6]{text-decoration:underline}.neighborhood-invitation[data-v-dc6acbe6]{font-weight:700;color:#0020e0}a[data-v-dc6acbe6]{color:#0020e0}.internal-information[data-v-dc6acbe6]{color:#e45;font-style:italic}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-a3df5f54]{font-weight:700}.event-table[data-v-a3df5f54]{border-collapse:collapse}.event-table td[data-v-a3df5f54]{border:1px solid #000}.homepage[data-v-a3df5f54]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-a3df5f54]{padding:.5em 0}.event-image>img[data-v-a3df5f54]{max-width:12em;max-height:12em}.contact-box p[data-v-1f5987da]{margin:0}.bottom-margin[data-v-1f5987da]{margin-bottom:1rem}.expiry-date[data-v-1f5987da]{font-size:.9em;color:#666;font-style:italic}span[data-v-2bbf7aa9]{cursor:pointer;color:blue;text-decoration:underline}
|
||||
1
public/css/812.aa420e38.css
Normal file
1
public/css/812.aa420e38.css
Normal file
File diff suppressed because one or more lines are too long
1
public/css/814.5d40e08d.css
Normal file
1
public/css/814.5d40e08d.css
Normal file
@@ -0,0 +1 @@
|
||||
table.worships[data-v-dc6acbe6]{border-collapse:collapse;width:100%}table.worships td[data-v-dc6acbe6]{border:1px solid #000;text-align:center}h3[data-v-dc6acbe6]{margin:0}table.worships td div[data-v-dc6acbe6]{margin:5px}.highlight-time[data-v-dc6acbe6]{text-decoration:underline}.neighborhood-invitation[data-v-dc6acbe6]{font-weight:700;color:#0020e0}a[data-v-dc6acbe6]{color:#0020e0}.internal-information[data-v-dc6acbe6]{color:#e45;font-style:italic}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-a3df5f54]{font-weight:700}.event-table[data-v-a3df5f54]{border-collapse:collapse}.event-table td[data-v-a3df5f54]{border:1px solid #000}.homepage[data-v-a3df5f54]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-a3df5f54]{padding:.5em 0}.event-image>img[data-v-a3df5f54]{max-width:12em;max-height:12em}.contact-box p[data-v-1f5987da]{margin:0}.bottom-margin[data-v-1f5987da]{margin-bottom:1rem}.expiry-date[data-v-1f5987da]{font-size:.9em;color:#666;font-style:italic}span[data-v-2bbf7aa9]{cursor:pointer;color:blue;text-decoration:underline}.previewinfo[data-v-9a71cbf6]{background-color:#000;color:#d00000;position:absolute;top:93px;left:0;padding:2px 10px;font-weight:700}
|
||||
1
public/css/957.56e284e6.css
Normal file
1
public/css/957.56e284e6.css
Normal file
@@ -0,0 +1 @@
|
||||
.right-column h2[data-v-d1b58e08]{text-align:center;color:#000}.right-column img[data-v-d1b58e08]{display:block;margin:0 auto;max-width:100%;height:auto}
|
||||
1
public/css/app.3e68accd.css
Normal file
1
public/css/app.3e68accd.css
Normal file
@@ -0,0 +1 @@
|
||||
.navbar[data-v-47f1407d]{background-color:#9400ff;overflow:visible;min-height:31px;display:inline-flex;flex-direction:column;width:auto;margin:.1em .75em 9px .75em;box-shadow:0 0 2px 5px #9400ff}.menu-toggle[data-v-47f1407d]{background-color:#9400ff;color:#fff;border:none;padding:14px 20px;text-align:center;text-decoration:none;display:none;font-weight:700}.navbar ul[data-v-47f1407d]{list-style-type:none;margin:0;padding:0;display:flex}.navbar li[data-v-47f1407d]{position:relative}.navbar a[data-v-47f1407d],.navbar li>span[data-v-47f1407d]{display:block;color:#fff;text-align:center;padding:6px 20px;text-decoration:none;font-weight:700}.navbar a[data-v-47f1407d]:hover{background-color:#7a00d1}.menu-icon[data-v-47f1407d]{width:20px;height:20px;margin-right:5px}.dropdown-content[data-v-47f1407d]{position:absolute;background-color:#9400ff;min-width:200px;z-index:1;top:100%;left:0;opacity:0;visibility:hidden;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;box-shadow:2px 2px 4px #666}.dropdown-content a[data-v-47f1407d]{color:#fff;padding:12px 16px;text-decoration:none;display:block;text-align:left}.dropdown-content a[data-v-47f1407d]:hover{background-color:#7a00d1}.navbar li:hover .dropdown-content[data-v-47f1407d]{opacity:1;visibility:visible}.fade-enter-active[data-v-47f1407d],.fade-leave-active[data-v-47f1407d]{transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.fade-enter[data-v-47f1407d],.fade-leave-to[data-v-47f1407d]{opacity:0;visibility:hidden}@media (max-width:768px){.navbar ul[data-v-47f1407d],.navbar[data-v-47f1407d]{flex-direction:column}.navbar li[data-v-47f1407d]{width:100%}.navbar a[data-v-47f1407d],.navbar li>span[data-v-47f1407d]{text-align:left;padding:14px 20px}.menu-toggle[data-v-47f1407d]{display:block}.dropdown-content[data-v-47f1407d]{position:static;box-shadow:none;opacity:1;visibility:visible;display:none;padding-left:1em}.navbar li:hover .dropdown-content[data-v-47f1407d]{display:block}}.pointer[data-v-47f1407d]{cursor:pointer}.facettenkreuz[data-v-47f1407d]{max-width:30px;max-height:30px;position:fixed}.ekhnlogo[data-v-47f1407d]{width:32px}header[data-v-4e068f05]{display:flex;flex-direction:column;width:100%;background-color:#fff}.header-title[data-v-4e068f05]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.3em .5em}header h1[data-v-4e068f05]{margin:0;flex:1;text-align:center;text-shadow:2px 2px 1px #e0bfff;padding-bottom:4px}.reload-icon[data-v-4e068f05]{font-size:16px;cursor:pointer;margin-left:10px;background-color:#e0bfff;color:#fff;padding:5px;border-radius:50%}.reload-icon[data-v-4e068f05]:hover{color:#7a00d1}.footer[data-v-57063e3c]{background-color:#0b1735;bottom:0;left:0;width:100%;padding:7px;justify-content:space-between}.footer[data-v-57063e3c],.left-links[data-v-57063e3c],.right-links[data-v-57063e3c]{display:flex;align-items:center}.footer a[data-v-57063e3c]{color:#fff;padding-right:20px;text-decoration:none}.footer a.login-link[data-v-57063e3c]{color:#444}.footer a.logout-link[data-v-57063e3c]{cursor:pointer}body,html{height:100%;margin:0;padding:0;background-color:#fff;font-family:Arial,sans-serif;width:100%;overflow-x:hidden}#app{display:flex;flex-direction:column;height:100%}.content-section{flex:1;display:flex;color:#000;overflow-y:hidden}.left-column{flex:1;min-width:1000px;margin:.5em 0 .5em .5em;padding-right:.5em;background-color:#fff;overflow-y:auto}.right-column{flex:1;background-color:#d9e2f3;overflow-y:auto;margin:0 7px 7px 0}.right-column h2{text-align:center;color:#000}.right-column img{display:block;margin:0 auto;max-width:100%;height:auto}.right-column-overlay{max-height:150px;overflow-y:hidden;margin-top:10px;background-color:#d9e2f3;display:flex;justify-content:center;align-items:center}.right-column-overlay img{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain}@media (max-width:1200px){.content-section{flex-direction:column}.left-column{padding:10px}.right-column{display:none}.right-column-overlay{display:flex;max-height:150px;background-color:#fff}.right-column-overlay img{max-height:150px;max-width:100%;-o-object-fit:contain;object-fit:contain}}@media (max-width:767px){.content-section{flex-direction:column}.left-column,.right-column{padding:10px}.right-column{display:none}.right-column-overlay{display:flex}}.htmleditor{background-color:#fff;width:calc(100% - 26px);height:31em;border:1px solid #000;margin:7px;padding:5px;overflow:auto}.htmleditor table{border:1px solid #e0e0e0;border-collapse:collapse}.htmleditor td,.htmleditor th{border:1px solid #e0e0e0}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 MiB |
@@ -1 +1 @@
|
||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>miriamgemeinde</title><script defer="defer" src="/js/chunk-vendors.a58901d9.js"></script><script defer="defer" src="/js/app.2b3ac443.js"></script><link href="/css/app.c2c4030a.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors.a58901d9.js"></script><script defer="defer" src="/js/app.62331f73.js"></script><link href="/css/app.c2c4030a.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors.a58901d9.js"></script><script defer="defer" src="/js/app.f7f58406.js"></script><link href="/css/app.c2c4030a.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but miriamgemeinde doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>miriamgemeinde</title><script defer="defer" src="/js/chunk-vendors.a58901d9.js"></script><script defer="defer" src="/js/app.2b3ac443.js"></script><link href="/css/app.c2c4030a.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors.a58901d9.js"></script><script defer="defer" src="/js/app.62331f73.js"></script><link href="/css/app.c2c4030a.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors.a58901d9.js"></script><script defer="defer" src="/js/app.f7f58406.js"></script><link href="/css/app.c2c4030a.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors.b7e76d39.js"></script><script defer="defer" src="/js/app.c50b5429.js"></script><link href="/css/app.3e68accd.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but miriamgemeinde doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
||||
2
public/js/119.04d5ce1d.js
Normal file
2
public/js/119.04d5ce1d.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/119.04d5ce1d.js.map
Normal file
1
public/js/119.04d5ce1d.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/187.80c77f03.js
Normal file
2
public/js/187.80c77f03.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[187],{8187:function(e,t,n){n.r(t),n.d(t,{default:function(){return k}});var l=n(641),a=n(3751),i=n(33);const c={class:"event-places-management"},d=["onClick"],o=["onClick"];function r(e,t,n,r,s,u){return(0,l.uX)(),(0,l.CE)("div",c,[t[16]||(t[16]=(0,l.Lk)("h2",null,"Veranstaltungsorte verwalten",-1)),(0,l.Lk)("form",{onSubmit:t[7]||(t[7]=(0,a.D$)((...e)=>u.addEventPlace&&u.addEventPlace(...e),["prevent"]))},[t[8]||(t[8]=(0,l.Lk)("label",{for:"name"},"Name:",-1)),(0,l.bo)((0,l.Lk)("input",{type:"text",id:"name","onUpdate:modelValue":t[0]||(t[0]=e=>s.newEventPlace.name=e),placeholder:"Name",required:""},null,512),[[a.Jo,s.newEventPlace.name]]),t[9]||(t[9]=(0,l.Lk)("label",{for:"street"},"Straße:",-1)),(0,l.bo)((0,l.Lk)("input",{type:"text",id:"street","onUpdate:modelValue":t[1]||(t[1]=e=>s.newEventPlace.street=e),placeholder:"Straße",required:""},null,512),[[a.Jo,s.newEventPlace.street]]),t[10]||(t[10]=(0,l.Lk)("label",{for:"zipcode"},"PLZ:",-1)),(0,l.bo)((0,l.Lk)("input",{type:"text",id:"zipcode","onUpdate:modelValue":t[2]||(t[2]=e=>s.newEventPlace.zipcode=e),placeholder:"PLZ",required:""},null,512),[[a.Jo,s.newEventPlace.zipcode]]),t[11]||(t[11]=(0,l.Lk)("label",{for:"city"},"Stadt:",-1)),(0,l.bo)((0,l.Lk)("input",{type:"text",id:"city","onUpdate:modelValue":t[3]||(t[3]=e=>s.newEventPlace.city=e),placeholder:"Stadt",required:""},null,512),[[a.Jo,s.newEventPlace.city]]),t[12]||(t[12]=(0,l.Lk)("label",{for:"city"},"Webseite:",-1)),(0,l.bo)((0,l.Lk)("input",{type:"text",id:"website","onUpdate:modelValue":t[4]||(t[4]=e=>s.newEventPlace.website=e),placeholder:"Webseite",required:""},null,512),[[a.Jo,s.newEventPlace.website]]),t[13]||(t[13]=(0,l.Lk)("label",{for:"backgroundColor"},"Hintergrundfarbe:",-1)),(0,l.bo)((0,l.Lk)("input",{type:"color",id:"backgroundColor","onUpdate:modelValue":t[5]||(t[5]=e=>s.newEventPlace.backgroundColor=e)},null,512),[[a.Jo,s.newEventPlace.backgroundColor]]),t[14]||(t[14]=(0,l.Lk)("button",{type:"submit"},"Speichern",-1)),s.editMode?((0,l.uX)(),(0,l.CE)("button",{key:0,type:"button",onClick:t[6]||(t[6]=(...e)=>u.resetForm&&u.resetForm(...e))},"Neuen Veranstaltungsort erstellen")):(0,l.Q3)("",!0)],32),(0,l.Lk)("table",null,[t[15]||(t[15]=(0,l.Lk)("thead",null,[(0,l.Lk)("tr",null,[(0,l.Lk)("th",null,"Name"),(0,l.Lk)("th",null,"Bearbeiten"),(0,l.Lk)("th",null,"Löschen")])],-1)),(0,l.Lk)("tbody",null,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(s.eventPlaces,e=>((0,l.uX)(),(0,l.CE)("tr",{key:e.id},[(0,l.Lk)("td",null,(0,i.v_)(e.name),1),(0,l.Lk)("td",null,[(0,l.Lk)("button",{onClick:t=>u.editEventPlace(e)},"Bearbeiten",8,d)]),(0,l.Lk)("td",null,[(0,l.Lk)("button",{onClick:t=>u.deleteEventPlace(e.id)},"Löschen",8,o)])]))),128))])])])}n(4114);var s=n(4335),u={data(){return{eventPlaces:[],newEventPlace:{name:"",street:"",zipcode:"",city:"",backgroundColor:"#ffffff",website:""},editMode:!1,editId:null}},methods:{async fetchEventPlaces(){const e=await s.A.get("/event-places");this.eventPlaces=e.data},async addEventPlace(){if(this.editMode)await s.A.put(`/event-places/${this.editId}`,this.newEventPlace);else{const e=await s.A.post("/event-places",this.newEventPlace);this.eventPlaces.push(e.data)}this.resetForm(),await this.fetchEventPlaces()},async updateEventPlace(e){await s.A.put(`/event-places/${e.id}`,e),this.fetchEventPlaces()},async deleteEventPlace(e){await s.A.delete(`/event-places/${e}`),this.fetchEventPlaces()},editEventPlace(e){this.newEventPlace={...e},this.editMode=!0,this.editId=e.id},resetForm(){this.newEventPlace={name:"",street:"",zipcode:"",city:"",backgroundColor:"#ffffff",website:""},this.editMode=!1,this.editId=null}},created(){this.fetchEventPlaces()}},p=n(6262);const v=(0,p.A)(u,[["render",r],["__scopeId","data-v-4e6631f7"]]);var k=v}}]);
|
||||
//# sourceMappingURL=187.80c77f03.js.map
|
||||
1
public/js/187.80c77f03.js.map
Normal file
1
public/js/187.80c77f03.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/23.33b1e241.js
Normal file
2
public/js/23.33b1e241.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[23],{116:function(e,n,t){var r=t(6518),u=t(9565),i=t(2652),a=t(9306),l=t(8551),o=t(1767),d=t(9539),c=t(4549),s=c("find",TypeError);r({target:"Iterator",proto:!0,real:!0,forced:s},{find:function(e){l(this);try{a(e)}catch(r){d(this,"throw",r)}if(s)return u(s,this,e);var n=o(this),t=0;return i(n,function(n,r){if(e(n,t++))return r(n)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},2023:function(e,n,t){t.r(n),t.d(n,{default:function(){return s}});var r=t(641),u=t(33);function i(e,n,t,i,a,l){const o=(0,r.g2)("router-link");return(0,r.uX)(),(0,r.CE)("div",null,[n[0]||(n[0]=(0,r.Lk)("h1",null,"Seitenpflege",-1)),n[1]||(n[1]=(0,r.Lk)("p",null,"Herzlich Willkommen. Auf diesen Seiten können Sie die Inhalte der Webseiten pflegen.",-1)),(0,r.Lk)("ul",null,[((0,r.uX)(!0),(0,r.CE)(r.FK,null,(0,r.pI)(i.adminSubmenu,e=>((0,r.uX)(),(0,r.CE)("li",{key:e.id},[(0,r.bF)(o,{to:e.link},{default:(0,r.k6)(()=>[(0,r.eW)((0,u.v_)(e.name),1)]),_:2},1032,["to"])]))),128))])])}t(8111),t(116);var a=t(6296),l=t(953),o={name:"DefaultComponent",setup(){const e=(0,l.KR)([]),n=async()=>{try{const n=await a.A.get("/menu-data"),t=n.data,r=t.find(e=>"Admin"===e.name);r&&(e.value=r.submenu)}catch(n){console.error("Fehler beim Abrufen der Menü-Daten:",n)}};return(0,r.sV)(()=>{n()}),{adminSubmenu:e}}},d=t(6262);const c=(0,d.A)(o,[["render",i],["__scopeId","data-v-68b32234"]]);var s=c}}]);
|
||||
//# sourceMappingURL=23.33b1e241.js.map
|
||||
1
public/js/23.33b1e241.js.map
Normal file
1
public/js/23.33b1e241.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/246.96a28aca.js
Normal file
2
public/js/246.96a28aca.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[246],{6246:function(e,t,n){n.r(t),n.d(t,{default:function(){return h}});var i=n(641),a=n(3751),s=n(33);const p={class:"event-types-management"},r={type:"submit"},d=["onClick"],o=["onClick"];function y(e,t,n,y,l,v){return(0,i.uX)(),(0,i.CE)("div",p,[t[4]||(t[4]=(0,i.Lk)("h2",null,"Event-Typen Verwaltung",-1)),(0,i.Lk)("form",{onSubmit:t[2]||(t[2]=(0,a.D$)((...e)=>v.saveEventType&&v.saveEventType(...e),["prevent"]))},[t[3]||(t[3]=(0,i.Lk)("label",{for:"newEventType"},"Event-Typ:",-1)),(0,i.bo)((0,i.Lk)("input",{type:"text",id:"newEventType","onUpdate:modelValue":t[0]||(t[0]=e=>l.eventTypeData.caption=e),placeholder:"Event-Typ",required:""},null,512),[[a.Jo,l.eventTypeData.caption]]),(0,i.Lk)("button",r,(0,s.v_)(l.editMode?"Aktualisieren":"Hinzufügen"),1),l.editMode?((0,i.uX)(),(0,i.CE)("button",{key:0,type:"button",onClick:t[1]||(t[1]=(...e)=>v.resetForm&&v.resetForm(...e))},"Abbrechen")):(0,i.Q3)("",!0)],32),(0,i.Lk)("table",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(l.eventTypes,e=>((0,i.uX)(),(0,i.CE)("tr",{key:e.id},[(0,i.Lk)("td",null,(0,s.v_)(e.caption),1),(0,i.Lk)("td",null,[(0,i.Lk)("button",{onClick:t=>v.editEventType(e)},"Bearbeiten",8,d)]),(0,i.Lk)("td",null,[(0,i.Lk)("button",{onClick:t=>v.deleteEventType(e.id)},"Löschen",8,o)])]))),128))])])}n(4114);var l=n(4335),v={data(){return{eventTypes:[],eventTypeData:{caption:""},editMode:!1,editId:null}},methods:{async fetchEventTypes(){try{const e=await l.A.get("/event-types");this.eventTypes=e.data}catch(e){console.error("Fehler beim Abrufen der Event-Typen:",e)}},async saveEventType(){try{if(this.editMode)await l.A.put(`/event-types/${this.editId}`,this.eventTypeData);else{const e=await l.A.post("/event-types",this.eventTypeData);this.eventTypes.push(e.data)}this.resetForm(),await this.fetchEventTypes()}catch(e){console.error("Fehler beim Speichern des Event-Typs:",e)}},editEventType(e){this.eventTypeData={...e},this.editMode=!0,this.editId=e.id},async deleteEventType(e){try{await l.A.delete(`/event-types/${e}`),await this.fetchEventTypes()}catch(t){console.error("Fehler beim Löschen des Event-Typs:",t)}},resetForm(){this.eventTypeData={caption:""},this.editMode=!1,this.editId=null}},async created(){await this.fetchEventTypes()}},c=n(6262);const u=(0,c.A)(v,[["render",y],["__scopeId","data-v-60fe58a4"]]);var h=u}}]);
|
||||
//# sourceMappingURL=246.96a28aca.js.map
|
||||
1
public/js/246.96a28aca.js.map
Normal file
1
public/js/246.96a28aca.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/324.2e62d15a.js
Normal file
2
public/js/324.2e62d15a.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[324],{1324:function(e,i,s){s.r(i),s.d(i,{default:function(){return k}});var a=s(641),t=s(3751),o=s(33);const l={class:"forgot-password"},n={key:0,class:"dialog"},r={class:"dialog-content"};function d(e,i,s,d,g,u){const m=(0,a.g2)("router-link");return(0,a.uX)(),(0,a.CE)("div",l,[i[7]||(i[7]=(0,a.Lk)("h2",null,"Passwort vergessen",-1)),(0,a.Lk)("form",{onSubmit:i[1]||(i[1]=(0,t.D$)((...e)=>u.submitForgotPassword&&u.submitForgotPassword(...e),["prevent"]))},[i[3]||(i[3]=(0,a.Lk)("label",{for:"email"},"Email-Adresse:",-1)),(0,a.bo)((0,a.Lk)("input",{type:"email",id:"email","onUpdate:modelValue":i[0]||(i[0]=e=>g.email=e),required:""},null,512),[[t.Jo,g.email]]),i[4]||(i[4]=(0,a.Lk)("button",{type:"submit"},"Link zum Zurücksetzen senden",-1))],32),(0,a.Lk)("p",null,[(0,a.bF)(m,{to:"/login"},{default:(0,a.k6)(()=>[...i[5]||(i[5]=[(0,a.eW)("Login",-1)])]),_:1})]),(0,a.Lk)("p",null,[(0,a.bF)(m,{to:"/register"},{default:(0,a.k6)(()=>[...i[6]||(i[6]=[(0,a.eW)("Registrieren",-1)])]),_:1})]),g.dialogVisible?((0,a.uX)(),(0,a.CE)("div",n,[(0,a.Lk)("div",r,[(0,a.Lk)("h3",null,(0,o.v_)(g.dialogTitle),1),(0,a.Lk)("p",null,(0,o.v_)(g.dialogMessage),1),(0,a.Lk)("button",{type:"button",onClick:i[2]||(i[2]=(...e)=>u.closeDialog&&u.closeDialog(...e))},"Schließen")])])):(0,a.Q3)("",!0)])}var g=s(6296),u={name:"ForgotPassword",data(){return{email:"",dialogTitle:"",dialogMessage:"",dialogVisible:!1}},methods:{async submitForgotPassword(){try{const e=await g.A.post("/auth/forgot-password",{email:this.email});this.showDialog("E-Mail gesendet",e.data?.message||"Ein Link zum Zurücksetzen wurde an Ihre E-Mail-Adresse gesendet."),this.email=""}catch(e){const i=e?.response?.data?.message||e?.message||"Ein unbekannter Fehler ist aufgetreten";this.showDialog("Fehler",i)}},showDialog(e,i){this.dialogTitle=e,this.dialogMessage=i,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},m=s(6262);const c=(0,m.A)(u,[["render",d],["__scopeId","data-v-c694cf4e"]]);var k=c}}]);
|
||||
//# sourceMappingURL=324.2e62d15a.js.map
|
||||
1
public/js/324.2e62d15a.js.map
Normal file
1
public/js/324.2e62d15a.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/355.48d81d5a.js
Normal file
2
public/js/355.48d81d5a.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[355],{5355:function(e,l,t){t.r(l),t.d(l,{default:function(){return c}});var i=t(641),a=t(33);const o={key:0,class:"dialog-overlay"},n={class:"dialog"};function s(e,l,t,s,r,u){return t.modelValue?((0,i.uX)(),(0,i.CE)("div",o,[(0,i.Lk)("div",n,[(0,i.Lk)("h2",null,(0,a.v_)(t.title),1),(0,i.Lk)("p",null,(0,a.v_)(t.message),1),(0,i.Lk)("button",{onClick:l[0]||(l[0]=(...e)=>u.closeDialog&&u.closeDialog(...e))},"OK")])])):(0,i.Q3)("",!0)}var r={name:"DialogComponent",props:{title:{type:String,required:!0},message:{type:String,required:!0},modelValue:{type:Boolean,default:!1}},methods:{closeDialog(){this.$emit("update:modelValue",!1),this.$emit("close")}}},u=t(6262);const d=(0,u.A)(r,[["render",s],["__scopeId","data-v-ce9d9498"]]);var c=d}}]);
|
||||
//# sourceMappingURL=355.48d81d5a.js.map
|
||||
1
public/js/355.48d81d5a.js.map
Normal file
1
public/js/355.48d81d5a.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"js/355.48d81d5a.js","mappings":"4MACyBA,MAAM,kB,GACtBA,MAAM,U,+BADFC,EAAAC,a,WAAXC,EAAAA,EAAAA,IAMM,MANNC,EAMM,EALJC,EAAAA,EAAAA,IAIM,MAJNC,EAIM,EAHJD,EAAAA,EAAAA,IAAoB,WAAAE,EAAAA,EAAAA,IAAbN,EAAAO,OAAK,IACZH,EAAAA,EAAAA,IAAoB,UAAAE,EAAAA,EAAAA,IAAdN,EAAAQ,SAAO,IACbJ,EAAAA,EAAAA,IAAwC,UAA/BK,QAAKC,EAAA,KAAAA,EAAA,OAAAC,IAAEC,EAAAC,aAAAD,EAAAC,eAAAF,KAAa,Y,eAMnC,OACEG,KAAM,kBACNC,MAAO,CACLR,MAAO,CACLS,KAAMC,OACNC,UAAU,GAEZV,QAAS,CACPQ,KAAMC,OACNC,UAAU,GAEZjB,WAAY,CACVe,KAAMG,QACNC,SAAS,IAGbC,QAAS,CACPR,WAAAA,GACES,KAAKC,MAAM,qBAAqB,GAChCD,KAAKC,MAAM,QACb,I,UCxBJ,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/common/components/DialogComponent.vue","webpack://miriamgemeinde/./src/common/components/DialogComponent.vue?92fc"],"sourcesContent":["<template>\n <div v-if=\"modelValue\" class=\"dialog-overlay\">\n <div class=\"dialog\">\n <h2>{{ title }}</h2>\n <p>{{ message }}</p>\n <button @click=\"closeDialog\">OK</button>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'DialogComponent',\n props: {\n title: {\n type: String,\n required: true\n },\n message: {\n type: String,\n required: true\n },\n modelValue: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n closeDialog() {\n this.$emit('update:modelValue', false);\n this.$emit('close');\n }\n }\n};\n</script>\n\n<style scoped>\n.dialog-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n}\n\n.dialog {\n background: white;\n padding: 30px;\n border-radius: 8px;\n max-width: 400px;\n width: 90%;\n text-align: center;\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n}\n\n.dialog h2 {\n margin-top: 0;\n margin-bottom: 15px;\n color: #333;\n font-size: 20px;\n}\n\n.dialog p {\n margin: 15px 0;\n color: #666;\n line-height: 1.5;\n}\n\n.dialog button {\n margin-top: 20px;\n padding: 10px 20px;\n background-color: #007BFF;\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 16px;\n}\n\n.dialog button:hover {\n background-color: #0056b3;\n}\n</style>","import { render } from \"./DialogComponent.vue?vue&type=template&id=ce9d9498&scoped=true\"\nimport script from \"./DialogComponent.vue?vue&type=script&lang=js\"\nexport * from \"./DialogComponent.vue?vue&type=script&lang=js\"\n\nimport \"./DialogComponent.vue?vue&type=style&index=0&id=ce9d9498&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ce9d9498\"]])\n\nexport default __exports__"],"names":["class","$props","modelValue","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","title","message","onClick","_cache","args","$options","closeDialog","name","props","type","String","required","Boolean","default","methods","this","$emit","__exports__","render"],"ignoreList":[],"sourceRoot":""}
|
||||
2
public/js/404.8b5b638f.js
Normal file
2
public/js/404.8b5b638f.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[404],{3023:function(t,e,i){i.r(e),i.d(e,{default:function(){return p}});var n=i(641),o=i(3751),a=i(33);const s={class:"institution-management"},u=["onClick"],l=["onClick"];function r(t,e,i,r,d,c){return(0,n.uX)(),(0,n.CE)("div",s,[e[18]||(e[18]=(0,n.Lk)("h2",null,"Institutionenverwaltung",-1)),(0,n.Lk)("form",{onSubmit:e[8]||(e[8]=(0,o.D$)((...t)=>c.saveInstitution&&c.saveInstitution(...t),["prevent"]))},[e[9]||(e[9]=(0,n.Lk)("label",{for:"name"},"Name:",-1)),(0,n.bo)((0,n.Lk)("input",{type:"text",id:"name","onUpdate:modelValue":e[0]||(e[0]=t=>d.institutionData.name=t),required:""},null,512),[[o.Jo,d.institutionData.name]]),e[10]||(e[10]=(0,n.Lk)("label",{for:"street"},"Straße:",-1)),(0,n.bo)((0,n.Lk)("input",{type:"text",id:"street","onUpdate:modelValue":e[1]||(e[1]=t=>d.institutionData.street=t)},null,512),[[o.Jo,d.institutionData.street]]),e[11]||(e[11]=(0,n.Lk)("label",{for:"zipcode"},"PLZ:",-1)),(0,n.bo)((0,n.Lk)("input",{type:"text",id:"zipcode","onUpdate:modelValue":e[2]||(e[2]=t=>d.institutionData.zipcode=t)},null,512),[[o.Jo,d.institutionData.zipcode]]),e[12]||(e[12]=(0,n.Lk)("label",{for:"city"},"Stadt:",-1)),(0,n.bo)((0,n.Lk)("input",{type:"text",id:"city","onUpdate:modelValue":e[3]||(e[3]=t=>d.institutionData.city=t)},null,512),[[o.Jo,d.institutionData.city]]),e[13]||(e[13]=(0,n.Lk)("label",{for:"phone"},"Telefon:",-1)),(0,n.bo)((0,n.Lk)("input",{type:"text",id:"phone","onUpdate:modelValue":e[4]||(e[4]=t=>d.institutionData.phone=t)},null,512),[[o.Jo,d.institutionData.phone]]),e[14]||(e[14]=(0,n.Lk)("label",{for:"fax"},"Fax:",-1)),(0,n.bo)((0,n.Lk)("input",{type:"text",id:"fax","onUpdate:modelValue":e[5]||(e[5]=t=>d.institutionData.fax=t)},null,512),[[o.Jo,d.institutionData.fax]]),e[15]||(e[15]=(0,n.Lk)("label",{for:"email"},"Email:",-1)),(0,n.bo)((0,n.Lk)("input",{type:"email",id:"email","onUpdate:modelValue":e[6]||(e[6]=t=>d.institutionData.email=t)},null,512),[[o.Jo,d.institutionData.email]]),e[16]||(e[16]=(0,n.Lk)("button",{type:"submit"},"Speichern",-1)),d.editMode?((0,n.uX)(),(0,n.CE)("button",{key:0,type:"button",onClick:e[7]||(e[7]=(...t)=>c.resetForm&&c.resetForm(...t))},"Neue Institution erstellen")):(0,n.Q3)("",!0)],32),(0,n.Lk)("table",null,[e[17]||(e[17]=(0,n.Lk)("thead",null,[(0,n.Lk)("tr",null,[(0,n.Lk)("th",null,"Name"),(0,n.Lk)("th",null,"Bearbeiten"),(0,n.Lk)("th",null,"Löschen")])],-1)),(0,n.Lk)("tbody",null,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(d.institutions,t=>((0,n.uX)(),(0,n.CE)("tr",{key:t.id},[(0,n.Lk)("td",null,(0,a.v_)(t.name),1),(0,n.Lk)("td",null,[(0,n.Lk)("button",{onClick:e=>c.editInstitution(t)},"Bearbeiten",8,u)]),(0,n.Lk)("td",null,[(0,n.Lk)("button",{onClick:e=>c.deleteInstitution(t.id)},"Löschen",8,l)])]))),128))])])])}i(4114);var d=i(4335),c={name:"InstitutionManagement",data(){return{institutions:[],contactPersons:[],institutionData:{name:"",street:"",zipcode:"",city:"",phone:"",fax:"",email:""},selectedInstitution:null,showForm:!1,editMode:!1,editId:null}},created(){this.fetchInstitutions(),this.fetchContactPersons()},methods:{async fetchInstitutions(){try{const t=await d.A.get("/institutions");this.institutions=t.data}catch(t){console.error("Fehler beim Abrufen der Institutionen:",t)}},async fetchContactPersons(){try{const t=await d.A.get("/contact-persons");this.contactPersons=t.data}catch(t){console.error("Fehler beim Abrufen der Kontaktpersonen:",t)}},async saveInstitution(){try{if(this.editMode)await d.A.put(`/institutions/${this.editId}`,this.institutionData);else{const t=await d.A.post("/institutions",this.institutionData);this.institutions.push(t.data)}this.resetForm(),await this.fetchInstitutions()}catch(t){console.error("Fehler beim Speichern der Institution:",t)}},editInstitution(t){this.institutionData={...t},this.editMode=!0,this.editId=t.id,this.showForm=!0},async deleteInstitution(t){try{await d.A.delete(`/institutions/${t}`),this.fetchInstitutions()}catch(e){console.error("Fehler beim Löschen der Institution:",e)}},resetForm(){this.institutionData={name:"",street:"",zipcode:"",city:"",phone:"",fax:"",email:""},this.editMode=!1,this.editId=null,this.showForm=!1},showCreateForm(){this.resetForm(),this.showForm=!0}}},h=i(6262);const m=(0,h.A)(c,[["render",r],["__scopeId","data-v-ff992c44"]]);var p=m}}]);
|
||||
//# sourceMappingURL=404.8b5b638f.js.map
|
||||
1
public/js/404.8b5b638f.js.map
Normal file
1
public/js/404.8b5b638f.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/414.d6becd70.js
Normal file
2
public/js/414.d6becd70.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/414.d6becd70.js.map
Normal file
1
public/js/414.d6becd70.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/423.1e86915f.js
Normal file
2
public/js/423.1e86915f.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[423],{1423:function(e,s,t){t.r(s),t.d(s,{default:function(){return m}});var o=t(641),i=t(3751),a=t(33);const n={class:"reset-password"},r=["disabled"],l={key:0,class:"dialog"},d={class:"dialog-content"};function u(e,s,t,u,h,c){const g=(0,o.g2)("router-link");return(0,o.uX)(),(0,o.CE)("div",n,[s[7]||(s[7]=(0,o.Lk)("h2",null,"Neues Passwort setzen",-1)),(0,o.Lk)("form",{onSubmit:s[2]||(s[2]=(0,i.D$)((...e)=>c.submitResetPassword&&c.submitResetPassword(...e),["prevent"]))},[s[4]||(s[4]=(0,o.Lk)("label",{for:"password"},"Neues Passwort:",-1)),(0,o.bo)((0,o.Lk)("input",{type:"password",id:"password","onUpdate:modelValue":s[0]||(s[0]=e=>h.password=e),required:"",minlength:"6"},null,512),[[i.Jo,h.password]]),s[5]||(s[5]=(0,o.Lk)("label",{for:"confirmPassword"},"Passwort bestätigen:",-1)),(0,o.bo)((0,o.Lk)("input",{type:"password",id:"confirmPassword","onUpdate:modelValue":s[1]||(s[1]=e=>h.confirmPassword=e),required:"",minlength:"6"},null,512),[[i.Jo,h.confirmPassword]]),(0,o.Lk)("button",{type:"submit",disabled:!c.isFormValid},"Passwort zurücksetzen",8,r)],32),(0,o.Lk)("p",null,[(0,o.bF)(g,{to:"/login"},{default:(0,o.k6)(()=>[...s[6]||(s[6]=[(0,o.eW)("Zurück zum Login",-1)])]),_:1})]),h.dialogVisible?((0,o.uX)(),(0,o.CE)("div",l,[(0,o.Lk)("div",d,[(0,o.Lk)("h3",null,(0,a.v_)(h.dialogTitle),1),(0,o.Lk)("p",null,(0,a.v_)(h.dialogMessage),1),(0,o.Lk)("button",{type:"button",onClick:s[3]||(s[3]=(...e)=>c.closeDialog&&c.closeDialog(...e))},"Schließen")])])):(0,o.Q3)("",!0)])}t(4114),t(4603),t(7566),t(8721);var h=t(6296),c={name:"ResetPasswordComponent",data(){return{password:"",confirmPassword:"",token:"",dialogTitle:"",dialogMessage:"",dialogVisible:!1}},computed:{isFormValid(){return this.password.length>=6&&this.password===this.confirmPassword&&this.token}},mounted(){const e=new URLSearchParams(window.location.search);this.token=e.get("token"),this.token||this.showDialog("Fehler","Ungültiger Reset-Link. Bitte fordern Sie einen neuen Link an.")},methods:{async submitResetPassword(){if(this.password===this.confirmPassword)try{const e=await h.A.post("/auth/reset-password",{token:this.token,password:this.password});this.showDialog("Erfolg",e.data?.message||"Passwort erfolgreich zurückgesetzt. Sie können sich jetzt anmelden."),this.password="",this.confirmPassword="",setTimeout(()=>{this.$router.push("/auth/login")},3e3)}catch(e){const s=e?.response?.data?.message||e?.message||"Ein unbekannter Fehler ist aufgetreten";this.showDialog("Fehler",s)}else this.showDialog("Fehler","Die Passwörter stimmen nicht überein.")},showDialog(e,s){this.dialogTitle=e,this.dialogMessage=s,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},g=t(6262);const w=(0,g.A)(c,[["render",u],["__scopeId","data-v-e49a033c"]]);var m=w},2812:function(e){var s=TypeError;e.exports=function(e,t){if(e<t)throw new s("Not enough arguments");return e}},4603:function(e,s,t){var o=t(6840),i=t(9504),a=t(655),n=t(2812),r=URLSearchParams,l=r.prototype,d=i(l.append),u=i(l["delete"]),h=i(l.forEach),c=i([].push),g=new r("a=1&a=2&b=3");g["delete"]("a",1),g["delete"]("b",void 0),g+""!=="a=2"&&o(l,"delete",function(e){var s=arguments.length,t=s<2?void 0:arguments[1];if(s&&void 0===t)return u(this,e);var o=[];h(this,function(e,s){c(o,{key:s,value:e})}),n(s,1);var i,r=a(e),l=a(t),g=0,w=0,m=!1,p=o.length;while(g<p)i=o[g++],m||i.key===r?(m=!0,u(this,i.key)):w++;while(w<p)i=o[w++],i.key===r&&i.value===l||d(this,i.key,i.value)},{enumerable:!0,unsafe:!0})},7566:function(e,s,t){var o=t(6840),i=t(9504),a=t(655),n=t(2812),r=URLSearchParams,l=r.prototype,d=i(l.getAll),u=i(l.has),h=new r("a=1");!h.has("a",2)&&h.has("a",void 0)||o(l,"has",function(e){var s=arguments.length,t=s<2?void 0:arguments[1];if(s&&void 0===t)return u(this,e);var o=d(this,e);n(s,1);var i=a(t),r=0;while(r<o.length)if(o[r++]===i)return!0;return!1},{enumerable:!0,unsafe:!0})},8721:function(e,s,t){var o=t(3724),i=t(9504),a=t(2106),n=URLSearchParams.prototype,r=i(n.forEach);o&&!("size"in n)&&a(n,"size",{get:function(){var e=0;return r(this,function(){e++}),e},configurable:!0,enumerable:!0})}}]);
|
||||
//# sourceMappingURL=423.1e86915f.js.map
|
||||
1
public/js/423.1e86915f.js.map
Normal file
1
public/js/423.1e86915f.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/441.4fa6a813.js
Normal file
2
public/js/441.4fa6a813.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[441],{3441:function(t,i,e){e.r(i),e.d(i,{default:function(){return k}});var n=e(641),o=e(3751),s=e(33);const l={class:"position-management"},d=["onClick"],a=["onClick"];function u(t,i,e,u,c,h){return(0,n.uX)(),(0,n.CE)("div",l,[i[6]||(i[6]=(0,n.Lk)("h2",null,"Verwalten der Rollen",-1)),(0,n.Lk)("form",{onSubmit:i[2]||(i[2]=(0,o.D$)((...t)=>h.addPosition&&h.addPosition(...t),["prevent"]))},[i[3]||(i[3]=(0,n.Lk)("label",{for:"caption"},"Rollenbezeichnung:",-1)),(0,n.bo)((0,n.Lk)("input",{type:"text",id:"caption","onUpdate:modelValue":i[0]||(i[0]=t=>c.newPosition.caption=t),placeholder:"Rollenbezeichnung",required:""},null,512),[[o.Jo,c.newPosition.caption]]),i[4]||(i[4]=(0,n.Lk)("button",{type:"submit"},"Speichern",-1)),c.editMode?((0,n.uX)(),(0,n.CE)("button",{key:0,type:"button",onClick:i[1]||(i[1]=(...t)=>h.resetForm&&h.resetForm(...t))},"Neue Rolle erstellen")):(0,n.Q3)("",!0)],32),(0,n.Lk)("table",null,[i[5]||(i[5]=(0,n.Lk)("thead",null,[(0,n.Lk)("tr",null,[(0,n.Lk)("th",null,"Rollenbezeichnung"),(0,n.Lk)("th",null,"Bearbeiten"),(0,n.Lk)("th",null,"Löschen")])],-1)),(0,n.Lk)("tbody",null,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(c.positions,t=>((0,n.uX)(),(0,n.CE)("tr",{key:t.id},[(0,n.Lk)("td",null,(0,s.v_)(t.caption),1),(0,n.Lk)("td",null,[(0,n.Lk)("button",{onClick:i=>h.editPosition(t)},"Bearbeiten",8,d)]),(0,n.Lk)("td",null,[(0,n.Lk)("button",{onClick:i=>h.deletePosition(t.id)},"Löschen",8,a)])]))),128))])])])}e(4114);var c=e(4335),h={data(){return{positions:[],newPosition:{caption:""},editMode:!1,editId:null}},methods:{async fetchPositions(){const t=await c.A.get("/positions");this.positions=t.data},async addPosition(){if(this.editMode)await c.A.put(`/positions/${this.editId}`,this.newPosition);else{const t=await c.A.post("/positions",this.newPosition);this.positions.push(t.data)}this.resetForm(),await this.fetchPositions()},async updatePosition(t){await c.A.put(`/positions/${t.id}`,t),this.fetchPositions()},async deletePosition(t){await c.A.delete(`/positions/${t}`),this.fetchPositions()},editPosition(t){this.newPosition={...t},this.editMode=!0,this.editId=t.id},resetForm(){this.newPosition={caption:""},this.editMode=!1,this.editId=null}},created(){this.fetchPositions()}},r=e(6262);const p=(0,r.A)(h,[["render",u],["__scopeId","data-v-1684a375"]]);var k=p}}]);
|
||||
//# sourceMappingURL=441.4fa6a813.js.map
|
||||
1
public/js/441.4fa6a813.js.map
Normal file
1
public/js/441.4fa6a813.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/446.730851ef.js
Normal file
2
public/js/446.730851ef.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[446],{446:function(e,a,l){l.r(a),l.d(a,{default:function(){return w}});var t=l(641),n=l(3751),i=l(33);const o={class:"upload-files"},r={class:"file-list"},u={class:"file-info"},d=["onClick"],s=["onClick"],c={class:"file-date"};function f(e,a,l,f,h,p){return(0,t.uX)(),(0,t.CE)("div",o,[a[5]||(a[5]=(0,t.Lk)("h2",null,"Dateien hochladen",-1)),(0,t.Lk)("div",null,[a[3]||(a[3]=(0,t.Lk)("label",{for:"file-upload"},"Datei auswählen:",-1)),(0,t.Lk)("input",{id:"file-upload",type:"file",onChange:a[0]||(a[0]=(...e)=>f.handleFileUpload&&f.handleFileUpload(...e))},null,32)]),(0,t.Lk)("div",null,[a[4]||(a[4]=(0,t.Lk)("label",{for:"file-title"},"Titel eingeben:",-1)),(0,t.bo)((0,t.Lk)("input",{id:"file-title",type:"text","onUpdate:modelValue":a[1]||(a[1]=e=>f.fileTitle=e)},null,512),[[n.Jo,f.fileTitle]])]),(0,t.Lk)("button",{onClick:a[2]||(a[2]=(...e)=>f.uploadFiles&&f.uploadFiles(...e))},"Hochladen"),(0,t.Lk)("ul",r,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(f.uploadedFiles,e=>((0,t.uX)(),(0,t.CE)("li",{key:e.id},[(0,t.Lk)("div",u,[(0,t.Lk)("span",{class:"file-title",onClick:a=>f.downloadFile(e)},(0,i.v_)(e.title),9,d),(0,t.Lk)("span",{class:"file-name",onClick:a=>f.downloadFile(e)},(0,i.v_)(e.originalName),9,s),(0,t.Lk)("span",c,(0,i.v_)(f.formatDate(e.createdAt)),1)])]))),128))])])}l(4114),l(4603),l(7566),l(8721);var h=l(953),p=l(6296),v={name:"UploadFilesComponent",setup(){const e=(0,h.KR)(null),a=(0,h.KR)(""),l=(0,h.KR)([]),n=a=>{e.value=a.target.files[0]},i=async()=>{if(!e.value||!a.value)return void alert("Bitte wählen Sie eine Datei aus und geben Sie einen Titel ein.");const t=new FormData;t.append("file",e.value),t.append("title",a.value);try{const n=await p.A.post("/files",t,{headers:{"Content-Type":"multipart/form-data"}}),i=n.data;l.value.push({id:i.id,title:i.title,originalName:i.originalName,createdAt:i.createdAt,hash:i.hash}),e.value=null,a.value=""}catch(n){console.error("Fehler beim Hochladen der Datei:",n)}},o=async e=>{const a=e.originalName.substring(e.originalName.lastIndexOf(".")),l=await p.A.get(`/files/download/${e.hash}`,{responseType:"blob"}),t=new Blob([l.data],{type:l.data.type}),n=document.createElement("a");n.href=window.URL.createObjectURL(t),n.download=`${e.title}${a}`,n.click(),window.URL.revokeObjectURL(n.href)},r=e=>{const a={year:"numeric",month:"long",day:"numeric"};return new Date(e).toLocaleDateString(void 0,a)},u=async()=>{try{const e=await p.A.get("/files");l.value=e.data}catch(e){console.error("Fehler beim Abrufen der Dateien:",e)}};return(0,t.sV)(u),{fileToUpload:e,fileTitle:a,uploadedFiles:l,handleFileUpload:n,uploadFiles:i,downloadFile:o,formatDate:r}}},m=l(6262);const k=(0,m.A)(v,[["render",f],["__scopeId","data-v-f2694614"]]);var w=k},2812:function(e){var a=TypeError;e.exports=function(e,l){if(e<l)throw new a("Not enough arguments");return e}},4603:function(e,a,l){var t=l(6840),n=l(9504),i=l(655),o=l(2812),r=URLSearchParams,u=r.prototype,d=n(u.append),s=n(u["delete"]),c=n(u.forEach),f=n([].push),h=new r("a=1&a=2&b=3");h["delete"]("a",1),h["delete"]("b",void 0),h+""!=="a=2"&&t(u,"delete",function(e){var a=arguments.length,l=a<2?void 0:arguments[1];if(a&&void 0===l)return s(this,e);var t=[];c(this,function(e,a){f(t,{key:a,value:e})}),o(a,1);var n,r=i(e),u=i(l),h=0,p=0,v=!1,m=t.length;while(h<m)n=t[h++],v||n.key===r?(v=!0,s(this,n.key)):p++;while(p<m)n=t[p++],n.key===r&&n.value===u||d(this,n.key,n.value)},{enumerable:!0,unsafe:!0})},7566:function(e,a,l){var t=l(6840),n=l(9504),i=l(655),o=l(2812),r=URLSearchParams,u=r.prototype,d=n(u.getAll),s=n(u.has),c=new r("a=1");!c.has("a",2)&&c.has("a",void 0)||t(u,"has",function(e){var a=arguments.length,l=a<2?void 0:arguments[1];if(a&&void 0===l)return s(this,e);var t=d(this,e);o(a,1);var n=i(l),r=0;while(r<t.length)if(t[r++]===n)return!0;return!1},{enumerable:!0,unsafe:!0})},8721:function(e,a,l){var t=l(3724),n=l(9504),i=l(2106),o=URLSearchParams.prototype,r=n(o.forEach);t&&!("size"in o)&&i(o,"size",{get:function(){var e=0;return r(this,function(){e++}),e},configurable:!0,enumerable:!0})}}]);
|
||||
//# sourceMappingURL=446.730851ef.js.map
|
||||
1
public/js/446.730851ef.js.map
Normal file
1
public/js/446.730851ef.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/448.10071411.js
Normal file
2
public/js/448.10071411.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[448],{7448:function(e,n,i){i.r(n),i.d(n,{default:function(){return d}});var t=i(641);function r(e,n,i,r,u,a){return(0,t.uX)(),(0,t.CE)("div",null,[...n[0]||(n[0]=[(0,t.Lk)("h1",null,"Seite existiert nicht",-1),(0,t.Lk)("p",null,"Leider existiert die aufgerufene Seite nicht.",-1)])])}var u={name:"DefaultComponent"},a=i(6262);const c=(0,a.A)(u,[["render",r],["__scopeId","data-v-334e7b82"]]);var d=c}}]);
|
||||
//# sourceMappingURL=448.10071411.js.map
|
||||
1
public/js/448.10071411.js.map
Normal file
1
public/js/448.10071411.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"js/448.10071411.js","mappings":"+NACIA,EAAAA,EAAAA,IAGM,eAAAC,EAAA,KAAAA,EAAA,KAFJC,EAAAA,EAAAA,IAA8B,UAA1B,yBAAqB,IACzBA,EAAAA,EAAAA,IAAoD,SAAjD,iDAA6C,M,CAKpD,OACEC,KAAM,oB,UCFV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/DefaultComponent.vue","webpack://miriamgemeinde/./src/content/DefaultComponent.vue?e630"],"sourcesContent":["<template>\n <div>\n <h1>Seite existiert nicht</h1>\n <p>Leider existiert die aufgerufene Seite nicht.</p>\n </div>\n </template>\n \n <script>\n export default {\n name: 'DefaultComponent'\n };\n </script>\n \n <style scoped>\n div {\n padding: 20px;\n }\n </style>\n ","import { render } from \"./DefaultComponent.vue?vue&type=template&id=334e7b82&scoped=true\"\nimport script from \"./DefaultComponent.vue?vue&type=script&lang=js\"\nexport * from \"./DefaultComponent.vue?vue&type=script&lang=js\"\n\nimport \"./DefaultComponent.vue?vue&type=style&index=0&id=334e7b82&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-334e7b82\"]])\n\nexport default __exports__"],"names":["_createElementBlock","_cache","_createElementVNode","name","__exports__","render"],"ignoreList":[],"sourceRoot":""}
|
||||
2
public/js/468.f740a55f.js
Normal file
2
public/js/468.f740a55f.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[468],{5468:function(e,r,t){t.r(r),t.d(r,{default:function(){return k}});var s=t(641),n=t(33),i=t(3751);const a={class:"user-administration"},u=["required"],l={type:"submit"},o={key:1},c=["onClick"];function d(e,r,t,d,m,h){return(0,s.uX)(),(0,s.CE)("div",a,[r[11]||(r[11]=(0,s.Lk)("h1",null,"Benutzerverwaltung",-1)),(0,s.Lk)("h2",null,(0,n.v_)(h.formTitle),1),(0,s.Lk)("form",{onSubmit:r[4]||(r[4]=(0,i.D$)((...e)=>h.saveUser&&h.saveUser(...e),["prevent"]))},[r[7]||(r[7]=(0,s.Lk)("label",{for:"name"},"Name:",-1)),(0,s.bo)((0,s.Lk)("input",{id:"name","onUpdate:modelValue":r[0]||(r[0]=e=>m.currentUser.name=e),required:""},null,512),[[i.Jo,m.currentUser.name]]),r[8]||(r[8]=(0,s.Lk)("label",{for:"email"},"Email:",-1)),(0,s.bo)((0,s.Lk)("input",{id:"email","onUpdate:modelValue":r[1]||(r[1]=e=>m.currentUser.email=e),type:"email",required:""},null,512),[[i.Jo,m.currentUser.email]]),r[9]||(r[9]=(0,s.Lk)("label",{for:"password"},"Passwort:",-1)),(0,s.bo)((0,s.Lk)("input",{id:"password","onUpdate:modelValue":r[2]||(r[2]=e=>m.currentUser.password=e),type:"password",required:m.isCreating},null,8,u),[[i.Jo,m.currentUser.password]]),(0,s.Lk)("div",null,[r[6]||(r[6]=(0,s.Lk)("label",{for:"active"},"Aktiv:",-1)),(0,s.bo)((0,s.Lk)("input",{id:"active","onUpdate:modelValue":r[3]||(r[3]=e=>m.currentUser.active=e),type:"checkbox"},null,512),[[i.lH,m.currentUser.active]])]),(0,s.Lk)("button",l,(0,n.v_)(m.isCreating?"Erstellen":"Aktualisieren"),1)],32),m.isCreating?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("button",{key:0,onClick:r[5]||(r[5]=(...e)=>h.resetForm&&h.resetForm(...e))},"Zurück zu Benutzer erstellen")),m.users.length?((0,s.uX)(),(0,s.CE)("div",o,[r[10]||(r[10]=(0,s.Lk)("h2",null,"Vorhandene Benutzer",-1)),(0,s.Lk)("ul",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(m.users,e=>((0,s.uX)(),(0,s.CE)("li",{key:e.id,onClick:r=>h.editUser(e)},(0,n.v_)(e.name)+" ("+(0,n.v_)(e.email)+") ",9,c))),128))])])):(0,s.Q3)("",!0)])}var m=t(6296),h={name:"UserAdministration",data(){return{users:[],currentUser:{name:"",email:"",password:"",active:!1},isCreating:!0}},computed:{formTitle(){return this.isCreating?"Benutzer erstellen":"Benutzer bearbeiten"}},methods:{async fetchUsers(){try{const e=await m.A.get("/users");this.users=e.data}catch(e){console.error("Fehler beim Abrufen der Benutzer:",e)}},async saveUser(){this.isCreating?await this.createUser():await this.updateUser(),this.resetForm(),this.fetchUsers()},async createUser(){try{await m.A.post("/users",this.currentUser)}catch(e){console.error("Fehler beim Erstellen des Benutzers:",e)}},async updateUser(){try{await m.A.put(`/users/${this.currentUser.id}`,this.currentUser)}catch(e){console.error("Fehler beim Aktualisieren des Benutzers:",e)}},editUser(e){this.currentUser={...e,password:""},this.isCreating=!1},resetForm(){this.currentUser={name:"",email:"",password:"",active:!1},this.isCreating=!0}},mounted(){this.fetchUsers()}},p=t(6262);const U=(0,p.A)(h,[["render",d],["__scopeId","data-v-a495c756"]]);var k=U}}]);
|
||||
//# sourceMappingURL=468.f740a55f.js.map
|
||||
1
public/js/468.f740a55f.js.map
Normal file
1
public/js/468.f740a55f.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/493.8b03db87.js
Normal file
2
public/js/493.8b03db87.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[493],{5493:function(e,i,s){s.r(i),s.d(i,{default:function(){return h}});var a=s(641),t=s(3751),o=s(33);const l={class:"register"},r={key:0,class:"dialog"},n={class:"dialog-content"};function d(e,i,s,d,g,u){const m=(0,a.g2)("router-link");return(0,a.uX)(),(0,a.CE)("div",l,[i[11]||(i[11]=(0,a.Lk)("h2",null,"Registrieren",-1)),(0,a.Lk)("form",{onSubmit:i[3]||(i[3]=(0,t.D$)((...e)=>u.register&&u.register(...e),["prevent"]))},[i[5]||(i[5]=(0,a.Lk)("label",{for:"name"},"Name:",-1)),(0,a.bo)((0,a.Lk)("input",{type:"text",id:"name","onUpdate:modelValue":i[0]||(i[0]=e=>g.name=e),required:""},null,512),[[t.Jo,g.name]]),i[6]||(i[6]=(0,a.Lk)("label",{for:"email"},"Email-Adresse:",-1)),(0,a.bo)((0,a.Lk)("input",{type:"email",id:"email","onUpdate:modelValue":i[1]||(i[1]=e=>g.email=e),required:""},null,512),[[t.Jo,g.email]]),i[7]||(i[7]=(0,a.Lk)("label",{for:"password"},"Passwort:",-1)),(0,a.bo)((0,a.Lk)("input",{type:"password",id:"password","onUpdate:modelValue":i[2]||(i[2]=e=>g.password=e),required:""},null,512),[[t.Jo,g.password]]),i[8]||(i[8]=(0,a.Lk)("button",{type:"submit"},"Registrieren",-1))],32),(0,a.Lk)("p",null,[(0,a.bF)(m,{to:"/login"},{default:(0,a.k6)(()=>[...i[9]||(i[9]=[(0,a.eW)("Login",-1)])]),_:1})]),(0,a.Lk)("p",null,[(0,a.bF)(m,{to:"/forgot-password"},{default:(0,a.k6)(()=>[...i[10]||(i[10]=[(0,a.eW)("Passwort vergessen?",-1)])]),_:1})]),g.dialogVisible?((0,a.uX)(),(0,a.CE)("div",r,[(0,a.Lk)("div",n,[(0,a.Lk)("h3",null,(0,o.v_)(g.dialogTitle),1),(0,a.Lk)("p",null,(0,o.v_)(g.dialogMessage),1),(0,a.Lk)("button",{type:"button",onClick:i[4]||(i[4]=(...e)=>u.closeDialog&&u.closeDialog(...e))},"Schließen")])])):(0,a.Q3)("",!0)])}var g=s(6296),u={name:"RegisterComponent",components:{},data(){return{name:"",email:"",password:"",dialogTitle:"",dialogMessage:"",dialogVisible:!1}},methods:{async register(){try{const e=await g.A.post("/auth/register",{name:this.name,email:this.email,password:this.password});this.showDialog("Registrierung erfolgreich",e.data?.message||"Ihr Konto wurde erfolgreich erstellt."),this.name="",this.email="",this.password=""}catch(e){const i=e?.response?.data?.message||e?.message||"Ein unbekannter Fehler ist aufgetreten";this.showDialog("Fehler",i)}},showDialog(e,i){this.dialogTitle=e,this.dialogMessage=i,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},m=s(6262);const p=(0,m.A)(u,[["render",d],["__scopeId","data-v-63b3c0a3"]]);var h=p}}]);
|
||||
//# sourceMappingURL=493.8b03db87.js.map
|
||||
1
public/js/493.8b03db87.js.map
Normal file
1
public/js/493.8b03db87.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/562.b3af6519.js
Normal file
2
public/js/562.b3af6519.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/562.b3af6519.js.map
Normal file
1
public/js/562.b3af6519.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/636.cdb315d8.js
Normal file
2
public/js/636.cdb315d8.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/636.cdb315d8.js.map
Normal file
1
public/js/636.cdb315d8.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/698.3adc1912.js
Normal file
2
public/js/698.3adc1912.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/698.3adc1912.js.map
Normal file
1
public/js/698.3adc1912.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/701.ed174a6b.js
Normal file
2
public/js/701.ed174a6b.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/701.ed174a6b.js.map
Normal file
1
public/js/701.ed174a6b.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/702.dd26645a.js
Normal file
2
public/js/702.dd26645a.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[355,702],{5355:function(e,o,a){a.r(o),a.d(o,{default:function(){return g}});var i=a(641),l=a(33);const s={key:0,class:"dialog-overlay"},t={class:"dialog"};function n(e,o,a,n,r,d){return a.modelValue?((0,i.uX)(),(0,i.CE)("div",s,[(0,i.Lk)("div",t,[(0,i.Lk)("h2",null,(0,l.v_)(a.title),1),(0,i.Lk)("p",null,(0,l.v_)(a.message),1),(0,i.Lk)("button",{onClick:o[0]||(o[0]=(...e)=>d.closeDialog&&d.closeDialog(...e))},"OK")])])):(0,i.Q3)("",!0)}var r={name:"DialogComponent",props:{title:{type:String,required:!0},message:{type:String,required:!0},modelValue:{type:Boolean,default:!1}},methods:{closeDialog(){this.$emit("update:modelValue",!1),this.$emit("close")}}},d=a(6262);const u=(0,d.A)(r,[["render",n],["__scopeId","data-v-ce9d9498"]]);var g=u},9702:function(e,o,a){a.r(o),a.d(o,{default:function(){return p}});var i=a(641),l=a(3751);const s={class:"login"};function t(e,o,a,t,n,r){const d=(0,i.g2)("router-link"),u=(0,i.g2)("DialogComponent");return(0,i.uX)(),(0,i.CE)("div",s,[o[9]||(o[9]=(0,i.Lk)("h2",null,"Login",-1)),(0,i.Lk)("form",{onSubmit:o[2]||(o[2]=(0,l.D$)((...e)=>r.runLogin&&r.runLogin(...e),["prevent"]))},[o[4]||(o[4]=(0,i.Lk)("label",{for:"email"},"Email-Adresse:",-1)),(0,i.bo)((0,i.Lk)("input",{type:"email",id:"email","onUpdate:modelValue":o[0]||(o[0]=e=>n.email=e),required:""},null,512),[[l.Jo,n.email]]),o[5]||(o[5]=(0,i.Lk)("label",{for:"password"},"Passwort:",-1)),(0,i.bo)((0,i.Lk)("input",{type:"password",id:"password","onUpdate:modelValue":o[1]||(o[1]=e=>n.password=e),required:""},null,512),[[l.Jo,n.password]]),o[6]||(o[6]=(0,i.Lk)("button",{type:"submit"},"Login",-1))],32),(0,i.Lk)("p",null,[(0,i.bF)(d,{to:"/register"},{default:(0,i.k6)(()=>[...o[7]||(o[7]=[(0,i.eW)("Registrieren",-1)])]),_:1})]),(0,i.Lk)("p",null,[(0,i.bF)(d,{to:"/forgot-password"},{default:(0,i.k6)(()=>[...o[8]||(o[8]=[(0,i.eW)("Passwort vergessen?",-1)])]),_:1})]),(0,i.bF)(u,{title:n.dialogTitle,message:n.dialogMessage,modelValue:n.dialogVisible,"onUpdate:modelValue":o[3]||(o[3]=e=>n.dialogVisible=e),onClose:r.closeDialog},null,8,["title","message","modelValue","onClose"])])}a(4114);var n=a(4335),r=a(5355),d=a(6278),u={name:"LoginComponent",components:{DialogComponent:r["default"]},data(){return{email:"",password:"",dialogTitle:"",dialogMessage:"",dialogVisible:!1}},methods:{...(0,d.i0)(["login"]),async runLogin(){try{const e=await n.A.post("/auth/login",{email:this.email,password:this.password}),o=e.data.token,a=e.data;localStorage.setItem("token",o),this.login(a.user),n.A.defaults.headers.common["Authorization"]=`Bearer ${o}`,this.$router.push("/admin/index")}catch(e){e.response?this.showDialog("Fehler",e.response.data.message):this.showDialog("Ein Fehler ist aufgetreten",e.message)}},showDialog(e,o){this.dialogTitle=e,this.dialogMessage=o,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},g=a(6262);const m=(0,g.A)(u,[["render",t],["__scopeId","data-v-40a158c0"]]);var p=m}}]);
|
||||
//# sourceMappingURL=702.dd26645a.js.map
|
||||
1
public/js/702.dd26645a.js.map
Normal file
1
public/js/702.dd26645a.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/703.55a76dd0.js
Normal file
2
public/js/703.55a76dd0.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/703.55a76dd0.js.map
Normal file
1
public/js/703.55a76dd0.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/718.a5205fd8.js
Normal file
2
public/js/718.a5205fd8.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/718.a5205fd8.js.map
Normal file
1
public/js/718.a5205fd8.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/768.1d5b1c25.js
Normal file
2
public/js/768.1d5b1c25.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[768],{1768:function(e,n,i){i.r(n),i.d(n,{default:function(){return o}});var r=i(641),t=i(33);const a={class:"service-unavailable"};function s(e,n,i,s,c,u){return(0,r.uX)(),(0,r.CE)("div",a,[n[0]||(n[0]=(0,r.Lk)("h1",null,"Vorübergehend nicht erreichbar",-1)),(0,r.Lk)("p",null,(0,t.v_)(u.message),1),n[1]||(n[1]=(0,r.Lk)("p",{class:"hint"}," Es liegt vermutlich ein technisches Problem vor (z. B. die Datenbank). Bitte laden Sie die Seite in einigen Minuten erneut. ",-1))])}var c=i(6278),u={name:"ServiceUnavailableComponent",computed:{...(0,c.L8)(["menuLoadError"]),message(){return this.menuLoadError||"Die Website ist vorübergehend nicht vollständig erreichbar."}}},l=i(6262);const d=(0,l.A)(u,[["render",s],["__scopeId","data-v-fd9b1088"]]);var o=d}}]);
|
||||
//# sourceMappingURL=768.1d5b1c25.js.map
|
||||
1
public/js/768.1d5b1c25.js.map
Normal file
1
public/js/768.1d5b1c25.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"js/768.1d5b1c25.js","mappings":"sMACOA,MAAM,uB,0CAAXC,EAAAA,EAAAA,IAMM,MANNC,EAMM,C,aALJC,EAAAA,EAAAA,IAAuC,UAAnC,kCAA8B,KAClCA,EAAAA,EAAAA,IAAoB,UAAAC,EAAAA,EAAAA,IAAdC,EAAAC,SAAO,G,aACbH,EAAAA,EAAAA,IAEI,KAFDH,MAAM,QAAO,iIAEhB,K,eAOJ,GACEO,KAAM,8BACNC,SAAU,KACLC,EAAAA,EAAAA,IAAW,CAAC,kBACfH,OAAAA,GACE,OACEI,KAAKC,eACL,6DAEJ,I,UCfJ,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/ServiceUnavailableComponent.vue","webpack://miriamgemeinde/./src/content/ServiceUnavailableComponent.vue?7a9d"],"sourcesContent":["<template>\n <div class=\"service-unavailable\">\n <h1>Vorübergehend nicht erreichbar</h1>\n <p>{{ message }}</p>\n <p class=\"hint\">\n Es liegt vermutlich ein technisches Problem vor (z. B. die Datenbank). Bitte laden Sie die Seite in einigen Minuten erneut.\n </p>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\n\nexport default {\n name: 'ServiceUnavailableComponent',\n computed: {\n ...mapGetters(['menuLoadError']),\n message() {\n return (\n this.menuLoadError ||\n 'Die Website ist vorübergehend nicht vollständig erreichbar.'\n );\n },\n },\n};\n</script>\n\n<style scoped>\n.service-unavailable {\n padding: 20px;\n}\n.hint {\n color: #444;\n margin-top: 1rem;\n}\n</style>\n","import { render } from \"./ServiceUnavailableComponent.vue?vue&type=template&id=fd9b1088&scoped=true\"\nimport script from \"./ServiceUnavailableComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ServiceUnavailableComponent.vue?vue&type=script&lang=js\"\n\nimport \"./ServiceUnavailableComponent.vue?vue&type=style&index=0&id=fd9b1088&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-fd9b1088\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_createElementVNode","_toDisplayString","$options","message","name","computed","mapGetters","this","menuLoadError","__exports__","render"],"ignoreList":[],"sourceRoot":""}
|
||||
2
public/js/785.13515298.js
Normal file
2
public/js/785.13515298.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[785],{3149:function(n,t,e){e.r(t),e.d(t,{default:function(){return k}});var o=e(641);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(33);function a(n,t,e,r,i,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,u.v_)(i.title),1),(0,o.bF)(c,{content:i.content},null,8,["content"])])}var c=e(6296),s=e(6278),l=e(6562),m={name:"ContentComponent",components:{RenderContentComponent:l.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,s.aH)(["menuData"]),...(0,s.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await c.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},h=e(6262);const d=(0,h.A)(m,[["render",a]]);var p=d,f={name:"DefaultPage",components:{ContentComponent:p},computed:{currentLink(){return this.$route.path}}};const C=(0,h.A)(f,[["render",i]]);var k=C}}]);
|
||||
//# sourceMappingURL=785.13515298.js.map
|
||||
1
public/js/785.13515298.js.map
Normal file
1
public/js/785.13515298.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/812.8fc8c0c0.js
Normal file
2
public/js/812.8fc8c0c0.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/812.8fc8c0c0.js.map
Normal file
1
public/js/812.8fc8c0c0.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/814.46594c38.js
Normal file
2
public/js/814.46594c38.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[814],{9644:function(e,n,t){t.r(n),t.d(n,{default:function(){return m}});var a=t(641),s=t(33);function u(e,n,t,u,i,o){const r=(0,a.g2)("RenderContentComponent");return(0,a.uX)(),(0,a.CE)("div",null,[n[0]||(n[0]=(0,a.Lk)("div",{class:"previewinfo"},"Dies ist eine Vorschau.",-1)),(0,a.Lk)("h1",null,(0,s.v_)(u.title),1),(0,a.bF)(r,{content:u.content},null,8,["content"])])}var i=t(6278),o=t(6562),r={name:"PagePreview",components:{RenderContentComponent:o.A},setup(){const e=(0,i.Pj)(),n=(0,a.EW)(()=>e.state.pageContent),t=(0,a.EW)(()=>e.state.selectedPage),s=(0,a.EW)(()=>e.state.menuData),u=(0,a.EW)(()=>e.state.pageTitle),o=n=>{const t=(e,n)=>{for(const a of e){if(a.link===n)return a.pageTitle||a.name;if(a.submenu&&a.submenu.length>0){const e=t(a.submenu,n);if(e)return e}}return""};e.dispatch("setPageTitle",t(s.value,n))};return(0,a.nT)(()=>{o(t.value)}),{content:n,title:u}}},c=t(6262);const l=(0,c.A)(r,[["render",u],["__scopeId","data-v-9a71cbf6"]]);var m=l}}]);
|
||||
//# sourceMappingURL=814.46594c38.js.map
|
||||
1
public/js/814.46594c38.js.map
Normal file
1
public/js/814.46594c38.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"js/814.46594c38.js","mappings":"kRACEA,EAAAA,EAAAA,IAIM,Y,aAHJC,EAAAA,EAAAA,IAAsD,OAAjDC,MAAM,eAAc,2BAAuB,KAChDD,EAAAA,EAAAA,IAAoB,WAAAE,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,yBAS7C,GACEC,KAAM,cACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,KAAAA,GACE,MAAMC,GAAQC,EAAAA,EAAAA,MACRN,GAAUO,EAAAA,EAAAA,IAAS,IAAMF,EAAMG,MAAMC,aACrCC,GAAeH,EAAAA,EAAAA,IAAS,IAAMF,EAAMG,MAAME,cAC1CC,GAAWJ,EAAAA,EAAAA,IAAS,IAAMF,EAAMG,MAAMG,UACtCd,GAAQU,EAAAA,EAAAA,IAAS,IAAMF,EAAMG,MAAMI,WAEnCC,EAAYC,IAChB,MAAMC,EAAYA,CAACC,EAAWF,KAC5B,IAAK,MAAMG,KAAQD,EAAW,CAC5B,GAAIC,EAAKH,OAASA,EAChB,OAAOG,EAAKL,WAAaK,EAAKhB,KAEhC,GAAIgB,EAAKC,SAAWD,EAAKC,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQL,EAAUE,EAAKC,QAASJ,GACtC,GAAIM,EACF,OAAOA,CAEX,CACF,CACA,MAAO,IAETf,EAAMgB,SAAS,eAAgBN,EAAUJ,EAASW,MAAOR,KAO3D,OAJAS,EAAAA,EAAAA,IAAY,KACVV,EAASH,EAAaY,SAGjB,CACLtB,UACAH,QAEJ,G,UC5CF,MAAM2B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/admin/PagePreviewComponent.vue","webpack://miriamgemeinde/./src/content/admin/PagePreviewComponent.vue?4023"],"sourcesContent":["<template>\n <div>\n <div class=\"previewinfo\">Dies ist eine Vorschau.</div>\n <h1>{{ title }}</h1>\n <RenderContentComponent :content=\"content\" />\n </div>\n</template>\n\n<script>\nimport { computed, watchEffect } from 'vue';\nimport { useStore } from 'vuex';\nimport RenderContentComponent from '@/components/RenderContentComponent.vue';\n\nexport default {\n name: 'PagePreview',\n components: {\n RenderContentComponent\n },\n setup() {\n const store = useStore();\n const content = computed(() => store.state.pageContent);\n const selectedPage = computed(() => store.state.selectedPage);\n const menuData = computed(() => store.state.menuData);\n const title = computed(() => store.state.pageTitle);\n\n const setTitle = (link) => {\n const findTitle = (menuItems, link) => {\n for (const item of menuItems) {\n if (item.link === link) {\n return item.pageTitle || item.name;\n }\n if (item.submenu && item.submenu.length > 0) {\n const found = findTitle(item.submenu, link);\n if (found) {\n return found;\n }\n }\n }\n return '';\n };\n store.dispatch('setPageTitle', findTitle(menuData.value, link));\n };\n\n watchEffect(() => {\n setTitle(selectedPage.value);\n });\n\n return {\n content,\n title\n };\n }\n};\n</script>\n\n<style scoped>\n.previewinfo {\n background-color: black;\n color: #d00000;\n position: absolute;\n top: 93px;\n left: 0;\n padding: 2px 10px;\n font-weight: bold;\n}\n</style>\n","import { render } from \"./PagePreviewComponent.vue?vue&type=template&id=9a71cbf6&scoped=true\"\nimport script from \"./PagePreviewComponent.vue?vue&type=script&lang=js\"\nexport * from \"./PagePreviewComponent.vue?vue&type=script&lang=js\"\n\nimport \"./PagePreviewComponent.vue?vue&type=style&index=0&id=9a71cbf6&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9a71cbf6\"]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","class","_toDisplayString","$setup","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","setup","store","useStore","computed","state","pageContent","selectedPage","menuData","pageTitle","setTitle","link","findTitle","menuItems","item","submenu","length","found","dispatch","value","watchEffect","__exports__","render"],"ignoreList":[],"sourceRoot":""}
|
||||
2
public/js/877.1c3ea2d8.js
Normal file
2
public/js/877.1c3ea2d8.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/877.1c3ea2d8.js.map
Normal file
1
public/js/877.1c3ea2d8.js.map
Normal file
File diff suppressed because one or more lines are too long
2
public/js/957.ed84cda8.js
Normal file
2
public/js/957.ed84cda8.js
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[957],{8957:function(e,t,a){a.r(t),a.d(t,{default:function(){return d}});var n=a(641);const u=["src"];function m(e,t,a,m,r,i){return(0,n.uX)(),(0,n.CE)("img",{src:r.currentImage},null,8,u)}var r=a(6278),i={name:"ImageContent",data(){return{defaultImage:"/images/homepage1.png",currentImage:"/images/homepage1.png"}},computed:{...(0,r.aH)(["menuData"])},watch:{$route:{immediate:!0,handler(){this.updateImage()}}},methods:{updateImage(){const e=this.$route.path,t=this.menuData,a=this.findMenuItemByPath(t,e);a&&a.image?this.currentImage=`/images/${a.image}`:this.currentImage=this.defaultImage},findMenuItemByPath(e,t){for(let a of e){if(a.link===t)return a;if(a.submenu){const e=this.findMenuItemByPath(a.submenu,t);if(e)return e}}return null}}},s=a(6262);const g=(0,s.A)(i,[["render",m],["__scopeId","data-v-d1b58e08"]]);var d=g}}]);
|
||||
//# sourceMappingURL=957.ed84cda8.js.map
|
||||
1
public/js/957.ed84cda8.js.map
Normal file
1
public/js/957.ed84cda8.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"js/957.ed84cda8.js","mappings":"+OACIA,EAAAA,EAAAA,IAA2B,OAArBC,IAAKC,EAAAC,cAAY,OAAAC,E,eAM3B,GACEC,KAAM,eACNC,IAAAA,GACE,MAAO,CACLC,aAAc,wBACdJ,aAAc,wBAElB,EACAK,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,cAEfC,MAAO,CACLC,OAAQ,CACNC,WAAW,EACXC,OAAAA,GACEC,KAAKC,aACP,IAGJC,QAAS,CACPD,WAAAA,GACE,MAAME,EAAYH,KAAKH,OAAOO,KACxBC,EAAWL,KAAKK,SAChBC,EAAWN,KAAKO,mBAAmBF,EAAUF,GAC/CG,GAAYA,EAASE,MACvBR,KAAKX,aAAe,WAAWiB,EAASE,QAExCR,KAAKX,aAAeW,KAAKP,YAE7B,EACAc,kBAAAA,CAAmBE,EAAML,GACvB,IAAK,IAAIM,KAAQD,EAAM,CACrB,GAAIC,EAAKC,OAASP,EAChB,OAAOM,EAET,GAAIA,EAAKE,QAAS,CAChB,MAAMC,EAAUb,KAAKO,mBAAmBG,EAAKE,QAASR,GACtD,GAAIS,EACF,OAAOA,CAEX,CACF,CACA,OAAO,IACT,I,UC3CJ,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/ImageContent.vue","webpack://miriamgemeinde/./src/content/ImageContent.vue?ee30"],"sourcesContent":["<template>\n <img :src=\"currentImage\" />\n</template>\n\n<script>\nimport { mapState } from 'vuex';\n\nexport default {\n name: 'ImageContent',\n data() {\n return {\n defaultImage: '/images/homepage1.png',\n currentImage: '/images/homepage1.png'\n };\n },\n computed: {\n ...mapState(['menuData']),\n },\n watch: {\n $route: {\n immediate: true,\n handler() {\n this.updateImage();\n }\n }\n },\n methods: {\n updateImage() {\n const routePath = this.$route.path;\n const menuData = this.menuData;\n const menuItem = this.findMenuItemByPath(menuData, routePath);\n if (menuItem && menuItem.image) {\n this.currentImage = `/images/${menuItem.image}`;\n } else {\n this.currentImage = this.defaultImage;\n }\n },\n findMenuItemByPath(menu, path) {\n for (let item of menu) {\n if (item.link === path) {\n return item;\n }\n if (item.submenu) {\n const subItem = this.findMenuItemByPath(item.submenu, path);\n if (subItem) {\n return subItem;\n }\n }\n }\n return null;\n }\n }\n};\n</script>\n\n<style scoped>\n.right-column h2 {\n text-align: center;\n color: #000;\n}\n\n.right-column img {\n display: block;\n margin: 0 auto;\n max-width: 100%;\n height: auto;\n}\n</style>\n","import { render } from \"./ImageContent.vue?vue&type=template&id=d1b58e08&scoped=true\"\nimport script from \"./ImageContent.vue?vue&type=script&lang=js\"\nexport * from \"./ImageContent.vue?vue&type=script&lang=js\"\n\nimport \"./ImageContent.vue?vue&type=style&index=0&id=d1b58e08&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d1b58e08\"]])\n\nexport default __exports__"],"names":["_createElementBlock","src","$data","currentImage","_hoisted_1","name","data","defaultImage","computed","mapState","watch","$route","immediate","handler","this","updateImage","methods","routePath","path","menuData","menuItem","findMenuItemByPath","image","menu","item","link","submenu","subItem","__exports__","render"],"ignoreList":[],"sourceRoot":""}
|
||||
2
public/js/app.c50b5429.js
Normal file
2
public/js/app.c50b5429.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/app.c50b5429.js.map
Normal file
1
public/js/app.c50b5429.js.map
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user