feat(planning): grille hebdomadaire complète avec API et filtres

- Connexion API via proxy Angular (résolution CORS, base path /api)
- Import CSS ng-zorro global pour les modales et composants
- Filtres Camion/Show câblés sur l'affichage de la grille
- Camions affichés via TrucksService (linkés au show du même créneau)
- Panneau de détails : spectacles + camions du jour sélectionné
- Modale de création de spectacle stylisée avec fond et centrage
- Positionnement précis des events à la minute dans leur créneau
- Auto-scroll vers l'heure courante au chargement
- Ligne "maintenant" sur la colonne du jour actuel
- Régénération des services OpenAPI (nouveaux noms de types)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 20:36:03 +02:00
parent 150b97cd2e
commit 654b297e2e
3131 changed files with 149304 additions and 104334 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseArrayDef = void 0;
const v3_1 = require("zod/v3");
const zod_1 = require("zod");
const errorMessages_js_1 = require("../errorMessages.js");
const parseDef_js_1 = require("../parseDef.js");
function parseArrayDef(def, refs) {
@@ -9,7 +9,7 @@ function parseArrayDef(def, refs) {
type: "array",
};
if (def.type?._def &&
def.type?._def?.typeName !== v3_1.ZodFirstPartyTypeKind.ZodAny) {
def.type?._def?.typeName !== zod_1.ZodFirstPartyTypeKind.ZodAny) {
res.items = (0, parseDef_js_1.parseDef)(def.type._def, {
...refs,
currentPath: [...refs.currentPath, "items"],
+6 -6
View File
@@ -1,7 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseRecordDef = void 0;
const v3_1 = require("zod/v3");
const zod_1 = require("zod");
const parseDef_js_1 = require("../parseDef.js");
const string_js_1 = require("./string.js");
const branded_js_1 = require("./branded.js");
@@ -11,7 +11,7 @@ function parseRecordDef(def, refs) {
console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");
}
if (refs.target === "openApi3" &&
def.keyType?._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodEnum) {
def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodEnum) {
return {
type: "object",
required: def.keyType._def.values,
@@ -35,7 +35,7 @@ function parseRecordDef(def, refs) {
if (refs.target === "openApi3") {
return schema;
}
if (def.keyType?._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodString &&
if (def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodString &&
def.keyType._def.checks?.length) {
const { type, ...keyType } = (0, string_js_1.parseStringDef)(def.keyType._def, refs);
return {
@@ -43,7 +43,7 @@ function parseRecordDef(def, refs) {
propertyNames: keyType,
};
}
else if (def.keyType?._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodEnum) {
else if (def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodEnum) {
return {
...schema,
propertyNames: {
@@ -51,8 +51,8 @@ function parseRecordDef(def, refs) {
},
};
}
else if (def.keyType?._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodBranded &&
def.keyType._def.type._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodString &&
else if (def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodBranded &&
def.keyType._def.type._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodString &&
def.keyType._def.type._def.checks?.length) {
const { type, ...keyType } = (0, branded_js_1.parseBrandedDef)(def.keyType._def, refs);
return {
+1
View File
@@ -187,6 +187,7 @@ function parseStringDef(def, refs) {
case "trim":
break;
default:
/* c8 ignore next */
((_) => { })(check);
}
}