diff --git a/scripts/scaffold-festival-days/src/api.ts b/scripts/scaffold-festival-days/src/api.ts
index 2f5f9b7..3b9782a 100644
--- a/scripts/scaffold-festival-days/src/api.ts
+++ b/scripts/scaffold-festival-days/src/api.ts
@@ -46,6 +46,7 @@ export function getLinkedPlacesFromEvent(event: MBEvent): MBPlace[] {
gid: placeGid,
name: place.name,
disambiguation: typeof place.disambiguation === 'string' ? place.disambiguation : undefined,
+ creditName: relation['target-credit'],
});
}
diff --git a/scripts/scaffold-festival-days/src/matrix-dialog.tsx b/scripts/scaffold-festival-days/src/matrix-dialog.tsx
index 5442591..752df8d 100644
--- a/scripts/scaffold-festival-days/src/matrix-dialog.tsx
+++ b/scripts/scaffold-festival-days/src/matrix-dialog.tsx
@@ -96,7 +96,7 @@ export function MatrixDialog(props: {
checked={isColumnChecked()}
onChange={event => setPlaceSelected(place.gid, event.currentTarget.checked)}
/>
- {place.name}
+ {place.creditName ?? place.name}
);
diff --git a/scripts/scaffold-festival-days/src/scaffold.ts b/scripts/scaffold-festival-days/src/scaffold.ts
index 86d4d2e..29b1ba1 100644
--- a/scripts/scaffold-festival-days/src/scaffold.ts
+++ b/scripts/scaffold-festival-days/src/scaffold.ts
@@ -96,7 +96,7 @@ export async function scaffoldFestivalDays(params: {
}
for (const place of selectedPlaces) {
- const venueName = `${event.name}: ${place.name}`;
+ const venueName = `${event.name}: ${place.creditName ?? place.name}`;
const venueEventGid = await createSubEvent({
name: venueName,
begin: singleDate,
@@ -165,7 +165,7 @@ export async function scaffoldFestivalDays(params: {
continue;
}
- const venueName = `${event.name}, ${dayWord} ${dayEvent.date.dayNumber}: ${place.name}`;
+ const venueName = `${event.name}, ${dayWord} ${dayEvent.date.dayNumber}: ${place.creditName ?? place.name}`;
const venueEventGid = await createSubEvent({
name: venueName,
begin: dayEvent.date,
diff --git a/scripts/scaffold-festival-days/src/types.ts b/scripts/scaffold-festival-days/src/types.ts
index 11cf705..a6e7844 100644
--- a/scripts/scaffold-festival-days/src/types.ts
+++ b/scripts/scaffold-festival-days/src/types.ts
@@ -42,6 +42,7 @@ export interface MBPlace {
gid: string;
name: string;
disambiguation?: string;
+ creditName?: string;
}
export interface DateParts {
diff --git a/scripts/scaffold-festival-days/src/ui.module.css b/scripts/scaffold-festival-days/src/ui.module.css
index 6b31190..48d19aa 100644
--- a/scripts/scaffold-festival-days/src/ui.module.css
+++ b/scripts/scaffold-festival-days/src/ui.module.css
@@ -21,14 +21,44 @@
}
.searchResultRow {
- display: flex;
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) 10em auto;
align-items: center;
- justify-content: space-between;
gap: 0.5rem;
}
+.searchResultPlaceName {
+ min-width: 0;
+}
+
+.creditNameInput {
+ box-sizing: border-box;
+ min-width: 0;
+}
+
+.addPlaceButton {
+ width: 4.5em;
+ margin-left: 0 !important;
+ justify-self: start;
+}
+
.placeOption {
display: flex;
align-items: center;
gap: 0.35rem;
}
+
+.actionsRow {
+ display: flex;
+ align-items: center;
+ gap: 0.75rem;
+}
+
+.dayWordControl {
+ display: flex;
+ align-items: center;
+}
+
+.actionsButtons {
+ margin-left: auto;
+}
diff --git a/scripts/scaffold-festival-days/src/ui.tsx b/scripts/scaffold-festival-days/src/ui.tsx
index f8e6d64..dc687b3 100644
--- a/scripts/scaffold-festival-days/src/ui.tsx
+++ b/scripts/scaffold-festival-days/src/ui.tsx
@@ -28,6 +28,7 @@ const CUSTOM_SENTINEL = '__custom__';
function ScaffoldFestivalUI(props: {event: MBEvent; places: MBPlace[]; dayWord: string}) {
const [availablePlaces, setAvailablePlaces] = createSignal