From c7496158d144b9c2348c87b401949d450b498b82 Mon Sep 17 00:00:00 2001 From: carlobeltrame Date: Tue, 26 Aug 2025 12:14:18 +0200 Subject: [PATCH 1/4] Simple font size implementation, fixes #4650 --- .../components/print/PrintConfigurator.vue | 15 +- .../print/__tests__/repairPrintConfig.spec.js | 632 +++++++++++++----- .../src/components/print/repairPrintConfig.js | 3 + frontend/src/locales/de.json | 8 +- frontend/src/locales/en.json | 8 +- frontend/src/views/camp/CampProgram.vue | 2 +- pdf/src/campPrint/activity/Activity.vue | 2 +- .../campPrint/activityList/ActivityList.vue | 2 +- pdf/src/campPrint/cover/Cover.vue | 7 +- pdf/src/campPrint/picasso/DayColumn.vue | 2 + pdf/src/campPrint/picasso/PicassoPage.vue | 3 +- pdf/src/campPrint/picasso/ScheduleEntry.vue | 10 +- pdf/src/campPrint/program/Program.vue | 2 +- .../summary/SafetyConsiderations.vue | 2 +- pdf/src/campPrint/summary/Story.vue | 2 +- .../tableOfContents/TableOfContents.vue | 2 +- .../__snapshots__/program.spec.json.snap | 1 + .../single_activity.spec.json.snap | 1 + ...ecial_text_with_empty_lists.spec.json.snap | 1 + .../story_overview.spec.json.snap | 1 + print/assets/print-preview.css | 25 +- print/components/PicassoChunk.vue | 84 ++- print/components/PicassoPeriod.vue | 2 + print/components/ProgramPeriod.vue | 3 +- .../activityList/ActivityListPeriod.vue | 3 +- print/components/config/Activity.vue | 3 +- print/components/config/ActivityList.vue | 2 + print/components/config/Cover.vue | 3 +- print/components/config/Picasso.vue | 2 + print/components/config/Program.vue | 4 +- .../config/SafetyConsiderations.vue | 2 + print/components/config/Story.vue | 2 + print/components/config/Toc.vue | 3 +- print/components/summary/SummaryPeriod.vue | 4 +- print/pages/index.vue | 5 + print/server/api/pdf.js | 6 +- 36 files changed, 637 insertions(+), 222 deletions(-) diff --git a/frontend/src/components/print/PrintConfigurator.vue b/frontend/src/components/print/PrintConfigurator.vue index 72e1498e44..818ae6869e 100644 --- a/frontend/src/components/print/PrintConfigurator.vue +++ b/frontend/src/components/print/PrintConfigurator.vue @@ -62,6 +62,13 @@ :label="$tc('components.print.printConfigurator.pageNumbers')" @input="onChange" /> + @@ -180,12 +187,18 @@ export default { this.$store.getters.getLastPrintConfig(this.camp._meta.self, { language: this.lang, documentName: campShortTitle(this.camp), - options: { pageNumbers: false }, + options: { pageNumbers: false, pageSize: 'A4' }, camp: this.camp._meta.self, contents: this.defaultContents(), }) ) }, + pageSizes() { + return ['A5', 'A4', 'A3'].map((size) => ({ + value: size, + text: this.$tc(`components.print.printConfigurator.fontSizes.${size}`), + })) + }, isDev() { return getEnv().FEATURE_DEVELOPER ?? false }, diff --git a/frontend/src/components/print/__tests__/repairPrintConfig.spec.js b/frontend/src/components/print/__tests__/repairPrintConfig.spec.js index ecb6f043af..07ecea1e12 100644 --- a/frontend/src/components/print/__tests__/repairPrintConfig.spec.js +++ b/frontend/src/components/print/__tests__/repairPrintConfig.spec.js @@ -106,6 +106,10 @@ describe('repairConfig', () => { }, }, ] + const defaultOptions = { + pageNumbers: false, + pageSize: 'A4', + } const args = [camp, availableLocales, 'en', componentRepairers, defaultContents] const multiPeriodArgs = [ multiPeriodCamp, @@ -136,7 +140,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -156,7 +160,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -177,7 +181,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -197,7 +201,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'de-CH-scout', } @@ -218,7 +222,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'de-CH-scout', }) }) @@ -238,7 +242,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'definitely-not-a-supported-language', } @@ -266,7 +270,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'de-CH-scout', }) }) @@ -286,7 +290,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'definitely-not-a-supported-language', } @@ -314,7 +318,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -334,7 +338,7 @@ describe('repairConfig', () => { }, ], documentName: 'foobar', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -355,7 +359,7 @@ describe('repairConfig', () => { }, ], documentName: 'foobar', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -375,7 +379,7 @@ describe('repairConfig', () => { }, ], documentName: '', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -396,11 +400,281 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) + test('adds missing options', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: defaultOptions, + language: 'de-CH-scout', + }) + }) + + test('adds missing pageNumbers option', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageSize: 'A4', + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: defaultOptions, + language: 'de-CH-scout', + }) + }) + + test('allows enabling pageNumbers', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: true, + pageSize: 'A4', + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: true, + pageSize: 'A4', + }, + language: 'de-CH-scout', + }) + }) + + test('allows disabling pageNumbers', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + pageSize: 'A4', + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + pageSize: 'A4', + }, + language: 'de-CH-scout', + }) + }) + + test('adds missing pageSize option', async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: defaultOptions, + language: 'de-CH-scout', + }) + }) + + const pageSizes = [('A5', 'A4', 'A3')] + pageSizes.forEach((pageSize) => { + test(`allows pageSize ${pageSize}`, async () => { + // given + const config = { + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + pageSize, + }, + language: 'de-CH-scout', + } + + // when + const result = repairConfig(config, ...args) + + // then + expect(result).toEqual({ + camp: '/camps/1a2b3c4d', + contents: [ + { + type: 'Picasso', + options: { + periods: ['/periods/1a2b3c4d'], + orientation: 'L', + filter: defaultFilter, + }, + }, + ], + documentName: 'test camp', + options: { + pageNumbers: false, + pageSize, + }, + language: 'de-CH-scout', + }) + }) + }) + test('overwrites camp URI', async () => { // given const config = { @@ -416,7 +690,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -437,7 +711,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -448,7 +722,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: {}, documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -469,7 +743,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -480,7 +754,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: null, documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -501,7 +775,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -512,7 +786,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: [], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -524,7 +798,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: [], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -540,7 +814,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -552,7 +826,7 @@ describe('repairConfig', () => { camp: '/camps/1a2b3c4d', contents: [], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -569,7 +843,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -586,7 +860,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -604,7 +878,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -621,7 +895,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -638,7 +912,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -659,7 +933,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -679,7 +953,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -700,7 +974,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -720,7 +994,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -741,7 +1015,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -757,7 +1031,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -774,7 +1048,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -790,7 +1064,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -811,7 +1085,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -831,7 +1105,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -852,7 +1126,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -872,7 +1146,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -893,7 +1167,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -910,7 +1184,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -931,7 +1205,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -950,7 +1224,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -971,7 +1245,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -991,7 +1265,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1012,7 +1286,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1032,7 +1306,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1053,7 +1327,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1073,7 +1347,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1094,7 +1368,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1114,7 +1388,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1135,7 +1409,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1162,7 +1436,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1189,7 +1463,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1208,7 +1482,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1229,7 +1503,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1254,7 +1528,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1275,7 +1549,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1301,7 +1575,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1322,7 +1596,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1347,7 +1621,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1368,7 +1642,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1394,7 +1668,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1415,7 +1689,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1440,7 +1714,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1461,7 +1735,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1487,7 +1761,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1508,7 +1782,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1533,7 +1807,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1554,7 +1828,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1580,7 +1854,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1601,7 +1875,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1626,7 +1900,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1647,7 +1921,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1673,7 +1947,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1694,7 +1968,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1712,7 +1986,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1733,7 +2007,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1749,7 +2023,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1766,7 +2040,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1786,7 +2060,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1807,7 +2081,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1827,7 +2101,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1848,7 +2122,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1868,7 +2142,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1889,7 +2163,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1916,7 +2190,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1943,7 +2217,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -1962,7 +2236,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -1983,7 +2257,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2008,7 +2282,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2029,7 +2303,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2055,7 +2329,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2076,7 +2350,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2101,7 +2375,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2122,7 +2396,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2148,7 +2422,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2169,7 +2443,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2194,7 +2468,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2215,7 +2489,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2241,7 +2515,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2262,7 +2536,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2287,7 +2561,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2308,7 +2582,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2334,7 +2608,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2355,7 +2629,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2380,7 +2654,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2401,7 +2675,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2427,7 +2701,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2448,7 +2722,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2466,7 +2740,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2487,7 +2761,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2507,7 +2781,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2528,7 +2802,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2548,7 +2822,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2569,7 +2843,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2589,7 +2863,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2610,7 +2884,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2630,7 +2904,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2651,7 +2925,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2678,7 +2952,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2705,7 +2979,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2724,7 +2998,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2745,7 +3019,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2770,7 +3044,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2791,7 +3065,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2817,7 +3091,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2838,7 +3112,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2863,7 +3137,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2884,7 +3158,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2910,7 +3184,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2931,7 +3205,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -2956,7 +3230,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -2977,7 +3251,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3003,7 +3277,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3024,7 +3298,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3049,7 +3323,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3070,7 +3344,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3096,7 +3370,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3117,7 +3391,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3142,7 +3416,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3163,7 +3437,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3189,7 +3463,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3210,7 +3484,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3229,7 +3503,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3246,7 +3520,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3263,7 +3537,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3280,7 +3554,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3296,7 +3570,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3313,7 +3587,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3329,7 +3603,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3349,7 +3623,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3368,7 +3642,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3388,7 +3662,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3414,7 +3688,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3440,7 +3714,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3458,7 +3732,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3478,7 +3752,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3502,7 +3776,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3522,7 +3796,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3547,7 +3821,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3567,7 +3841,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3591,7 +3865,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3611,7 +3885,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3636,7 +3910,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3656,7 +3930,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3680,7 +3954,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3700,7 +3974,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3725,7 +3999,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3745,7 +4019,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3769,7 +4043,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3789,7 +4063,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3814,7 +4088,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3834,7 +4108,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3858,7 +4132,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3878,7 +4152,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) @@ -3903,7 +4177,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', } @@ -3923,7 +4197,7 @@ describe('repairConfig', () => { }, ], documentName: 'test camp', - options: { pageNumbers: false }, + options: defaultOptions, language: 'en-GB', }) }) diff --git a/frontend/src/components/print/repairPrintConfig.js b/frontend/src/components/print/repairPrintConfig.js index 50d333c47d..dfeff75f56 100644 --- a/frontend/src/components/print/repairPrintConfig.js +++ b/frontend/src/components/print/repairPrintConfig.js @@ -29,6 +29,9 @@ export default function repairConfig( ) { configClone.options.pageNumbers = false } + if (!['A5', 'A4', 'A3'].includes(configClone.options.pageSize)) { + configClone.options.pageSize = 'A4' + } if (typeof configClone.contents?.map !== 'function') { configClone.contents = defaultContents } diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index e490c71662..681090211a 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -405,7 +405,13 @@ "Toc": "Inhaltsverzeichnis" }, "options": "Einstellungen", - "pageNumbers": "Seitenzahlen" + "pageNumbers": "Seitenzahlen", + "fontSize": "Schriftgrösse", + "fontSizes": { + "A3": "Kleiner (für Druck auf A4 oder A3)", + "A4": "Normal (für Druck auf A4 oder A5)", + "A5": "Grösser (für Druck auf A6)" + } }, "printNuxt": { "downloadNuxtPdfButton": { diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 583a8d0670..fe74b225d1 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -407,7 +407,13 @@ "Toc": "Table of contents" }, "options": "Einstellungen", - "pageNumbers": "Seitenzahlen" + "pageNumbers": "Seitenzahlen", + "fontSize": "Font size", + "fontSizes": { + "A3": "Smaller (for printing on A4 or A3)", + "A4": "Normal (for printing on A4 or A5)", + "A5": "Bigger (for printing on A6)" + } }, "printNuxt": { "downloadNuxtPdfButton": { diff --git a/frontend/src/views/camp/CampProgram.vue b/frontend/src/views/camp/CampProgram.vue index d026beec26..ffb3db779c 100644 --- a/frontend/src/views/camp/CampProgram.vue +++ b/frontend/src/views/camp/CampProgram.vue @@ -44,7 +44,7 @@ Show all activity schedule entries of a single period. />