Release 0.8.0

This commit is contained in:
hnzio committed 2026-10-27 14:57:17 +01:00
1 parent 21c0de7dd9
commit 07f2c4607b
47 files changed
+5314 -2303

No files matched your search

+8 -34
View File
@@ -5,44 +5,18 @@ import {
createPiece,
deletePieceTemplate,
duplicatePiece,
getTaxonomy,
listPieces,
listPieceTemplates,
setPieceArchived,
setPieceDeleted,
setPieceFavorite
} from '#lib/server/content.js';
import { getPieceUsageContexts } from '#lib/server/shows.js';
import { fundusSearch, loadFundusWorkspace } from '#lib/server/fundus-workspace.js';
export const load: PageServerLoad = ({ locals, url }) => {
requireUser(locals.user);
const filters = {
query: url.searchParams.get('q') ?? '',
formatId: url.searchParams.get('format') ?? '',
topicId: url.searchParams.get('topic') ?? '',
categoryId: url.searchParams.get('category') ?? '',
status: url.searchParams.get('status') ?? '',
includeUsed: url.searchParams.get('includeUsed') === '1',
includePlanned: url.searchParams.get('includePlanned') === '1'
};
const pieces = listPieces({
statuses:
filters.status === 'ready'
? ['ready']
: filters.status === 'preparing'
? ['preparing']
: ['preparing', 'ready'],
query: filters.query,
formatId: filters.formatId,
topicId: filters.topicId,
categoryId: filters.categoryId
});
const usageContexts = getPieceUsageContexts(pieces.map((piece) => piece.id));
return {
pieces: pieces.map((piece) => ({ ...piece, ...usageContexts[piece.id] })),
taxonomy: getTaxonomy(),
templates: listPieceTemplates(),
filters
...loadFundusWorkspace(url),
templates: listPieceTemplates()
};
};
@@ -54,7 +28,7 @@ function actionError(cause: unknown) {
}
export const actions = {
create: async ({ locals, request }) => {
create: async ({ locals, request, url }) => {
requireUser(locals.user);
const data = await request.formData();
let id: string;
@@ -63,7 +37,7 @@ export const actions = {
} catch (cause) {
return fail(400, { intent: 'create', error: actionError(cause) });
}
redirect(303, `/fundus/${id}`);
redirect(303, `/fundus/${id}${fundusSearch(url)}`);
},
deleteTemplate: async ({ locals, request }) => {
requireUser(locals.user);
@@ -75,7 +49,7 @@ export const actions = {
return fail(409, { intent: 'deleteTemplate', error: actionError(cause) });
}
},
duplicate: async ({ locals, request }) => {
duplicate: async ({ locals, request, url }) => {
requireUser(locals.user);
const data = await request.formData();
let id: string;
@@ -84,7 +58,7 @@ export const actions = {
} catch (cause) {
return fail(400, { intent: 'duplicate', error: actionError(cause) });
}
redirect(303, `/fundus/${id}`);
redirect(303, `/fundus/${id}${fundusSearch(url)}`);
},
archive: async ({ locals, request }) => {
requireUser(locals.user);
@@ -113,7 +87,7 @@ export const actions = {
setPieceDeleted(String(data.get('pieceId') || ''), Number(data.get('revision')), true);
return {
intent: 'delete',
success: 'Piece gelöscht. Bestehende Sendungsfassungen bleiben erhalten.'
success: 'Piece gelöscht. Bestehende Streamfassungen bleiben erhalten.'
};
} catch (cause) {
return fail(409, { intent: 'delete', error: actionError(cause) });