diff --git a/config/software/designs.json b/config/software/designs.json index 55f2580889b..e46320e9ea6 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -1,6 +1,8 @@ { "aaron": { "description": "A FreeSewing pattern for a A-shirt or tank top", + "lab": true, + "org": true, "code": "Joost De Cock", "design": "Joost De Cock", "difficulty": 2, @@ -8,6 +10,8 @@ "techniques": ["hem", "stretch", "knitBinding", "curvedSeam"] }, "albert": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for an apron", "code": "Wouter Van Wageningen", "design": "Wouter Van Wageningen", @@ -16,6 +20,8 @@ "techniques": ["hem", "knitBinding", "curvedSeam", "pocket"] }, "bee": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a bikini top", "code": "bobgeorgethe3rd", "design": "PrudenceRabbit", @@ -24,6 +30,8 @@ "techniques": ["hem", "stretch", "curvedSeam", "precision"] }, "bella": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a womenswear bodice block", "code": "Joost De Cock", "design": ["Bella Incognito", "Joost De Cock"], @@ -32,6 +40,8 @@ "techniques": ["dart", "block"] }, "benjamin": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a bow tie", "code": "Wouter Van Wageningen", "design": "Wouter Van Wageningen", @@ -40,6 +50,8 @@ "techniques": ["precision", "interfacing"] }, "bent": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a menswear body block with a two-part sleeve", "code": "Joost De Cock", "design": "Joost De Cock", @@ -48,6 +60,8 @@ "techniques": ["hem", "curvedSeam", "setSleeve"] }, "bob": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a bib", "code": "Joost De Cock", "design": "Joost De Cock", @@ -56,6 +70,8 @@ "techniques": ["biasTape", "curvedSeam", "snap"] }, "breanna": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a basic body block for womenswear", "code": "Joost De Cock", "design": "Joost De Cock", @@ -64,6 +80,8 @@ "techniques": ["block", "dart"] }, "brian": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a basic body block for menswear", "code": "Joost De Cock", "design": "Joost De Cock", @@ -72,6 +90,8 @@ "techniques": ["block", "flatSleeve"] }, "bruce": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for boxer briefs", "code": "Joost De Cock", "design": "Joost De Cock", @@ -80,6 +100,8 @@ "techniques": ["stretch", "hem", "curvedSeam", "elastic"] }, "carlita": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", "code": "Joost De Cock", "design": ["Anneke Caramin", "Joost De Cock"], @@ -99,6 +121,8 @@ ] }, "carlton": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", "code": "Joost De Cock", "design": ["Anneke Caramin", "Joost De Cock"], @@ -117,6 +141,8 @@ ] }, "cathrin": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a underbust corset / waist trainer", "code": "Joost De Cock", "design": ["Cathrin Åhlén", "Joost De Cock"], @@ -125,6 +151,8 @@ "techniques": ["boning", "precision", "curvedSeam", "interfacing"] }, "charlie": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for chino trousers", "code": "Joost De Cock", "design": "Joost De Cock", @@ -143,6 +171,8 @@ ] }, "cornelius": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for cycling breeches, based on the Keystone drafting system", "code": "Wouter Van Wageningen", "design": "Wouter Van Wageningen", @@ -151,6 +181,8 @@ "techniques": [] }, "diana": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a top with a draped neck", "code": "Erica Alcusa Sáez", "design": "Erica Alcusa Sáez", @@ -159,10 +191,14 @@ "techniques": ["curvedSeam", "flatSleeve", "hem"] }, "examples": { + "lab": false, + "org": false, "description": "A FreeSewing pattern holding examples for our documentation", "code": "Joost De Cock" }, "florence": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a face mask", "code": "Joost De Cock", "design": "Joost De Cock", @@ -171,6 +207,8 @@ "techniques": ["curvedSeam"] }, "florent": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a flat cap", "code": ["Quentin Felix", "Joost De Cock"], "design": "Quentin Felix", @@ -179,6 +217,8 @@ "techniques": ["curvedSeam"] }, "hi": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a shark plush toy", "code": "Wouter Van Wageningen", "design": "Wouter Van Wageningen", @@ -187,6 +227,8 @@ "techniques": ["curvedSeam", "dart"] }, "holmes": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a Sherlock Holmes hat", "code": ["Erica Alcusa Sáez", "bobgeorgethe3rd"], "design": "Erica Alcusa Sáez", @@ -195,6 +237,8 @@ "techniques": ["curvedSeam", "lining"] }, "hortensia": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a handbag", "code": "Wouter Van Wageningen", "design": ["Stoffsuchti", "Wouter Van Wageningen"], @@ -203,6 +247,8 @@ "techniques": ["curvedSeam", "precision", "lining", "zipper"] }, "huey": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a zip-up hoodie", "code": "Joost De Cock", "design": "Joost De Cock", @@ -211,6 +257,8 @@ "techniques": ["curvedSeam", "pocket", "zipper", "ribbing", "flatSleeve"] }, "hugo": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a hooded jumper with raglan sleeves", "code": "Joost De Cock", "design": "Joost De Cock", @@ -219,6 +267,8 @@ "techniques": ["curvedSeam", "pocket", "ribbing", "raglanSleeve"] }, "jaeger": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a sport coat style jacket", "code": "Joost De Cock", "design": "Joost De Cock", @@ -237,10 +287,14 @@ ] }, "legend": { + "lab": false, + "org": false, "description": "A FreeSewing pattern to document pattern notation", "code": "Joost De Cock" }, "lucy": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a historical tie-on pocket", "code": "SeaZeeZee", "design": "SeaZeeZee", @@ -249,6 +303,8 @@ "techniques": ["curvedSeam"] }, "lunetius": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a lacerna, a historical Roman cloak", "code": "Rika Tamaike", "design": "Rika Tamaike", @@ -257,6 +313,8 @@ "techniques": ["hem"] }, "magde": { + "lab": true, + "org": false, "description": "A FreeSewing pattern for a bike messenger bag", "code": "clegganator259", "design": "clegganator259", @@ -265,6 +323,8 @@ "techniques": [] }, "noble": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a princess seam bodice block", "code": "Wouter Van Wageningen", "design": "Wouter Van Wageningen", @@ -273,6 +333,8 @@ "techniques": ["curvedSeam", "precision", "princessSeam"] }, "octoplushy": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for an octopus plushy toy", "code": "Wouter Van Wageningen", "design": "Wouter Van Wageningen", @@ -281,6 +343,8 @@ "techniques": ["curvedSeam", "precision"] }, "paco": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for summer pants", "code": "Joost De Cock", "design": "Joost De Cock", @@ -289,6 +353,8 @@ "techniques": ["elastic", "curvedSeam", "pocket", "weltPocket", "hem"] }, "penelope": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a pencil skirt", "code": "Wouter Van Wageningen", "design": "Wouter Van Wageningen", @@ -297,14 +363,20 @@ "techniques": ["hem", "curvedSeam", "precision", "zipper"] }, "plugintest": { + "lab": false, + "org": false, "description": "A FreeSewing pattern to test (y)our plugins", "code": "Joost De Cock" }, "rendertest": { + "lab": false, + "org": false, "description": "A FreeSewing pattern to test (y)our render engine our CSS", "code": "Joost De Cock" }, "sandy": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a circle skirt", "code": ["Erica Alcusa Sáez", "Joost De Cock"], "design": "Erica Alcusa Sáez", @@ -313,6 +385,8 @@ "techniques": ["curvedSeam", "button", "hem"] }, "shin": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for swim trunks", "code": "Joost De Cock", "design": "Joost De Cock", @@ -321,6 +395,8 @@ "techniques": ["hem", "stretch", "curvedSeam", "elastic"] }, "simon": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a button down shirt", "code": "Joost De Cock", "design": "Joost De Cock", @@ -329,6 +405,8 @@ "techniques": ["hem", "button", "interfacing", "curvedSeam", "flatFelledSeam", "flatSleeve"] }, "simone": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)", "code": "Joost De Cock", "design": "Joost De Cock", @@ -337,6 +415,8 @@ "techniques": ["hem", "button", "interfacing", "curvedSeam", "flatFelledSeam", "flatSleeve"] }, "sven": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a straightforward sweater", "code": "Joost De Cock", "design": "Joost De Cock", @@ -345,6 +425,8 @@ "techniques": ["curvedSeam", "flatSleeve", "ribbing"] }, "tamiko": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a zero-waste top", "code": "Joost De Cock", "design": "Joost De Cock", @@ -353,6 +435,8 @@ "techniques": ["curvedSeam"] }, "teagan": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a T-shirt", "code": "Joost De Cock", "design": "Joost De Cock", @@ -361,6 +445,8 @@ "techniques": ["curvedSeam", "hem", "flatSleeve", "knitBand"] }, "tiberius": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a tunica, a historical Roman tunic", "code": "Rika Tamaike", "design": "Rika Tamaike", @@ -369,6 +455,8 @@ "techniques": [] }, "titan": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a unisex trouser block", "code": "Joost De Cock", "design": ["Debra Bean", "Joost De Cock"], @@ -377,6 +465,8 @@ "techniques": [] }, "trayvon": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a tie", "code": "Joost De Cock", "design": "Joost De Cock", @@ -385,6 +475,8 @@ "techniques": ["precision", "lining"] }, "uma": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", "code": "Joost De Cock", "design": "Joost De Cock", @@ -393,6 +485,8 @@ "techniques": ["elastic", "curvedSeam"] }, "wahid": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a classic fitted waistcoat", "code": "Joost De Cock", "design": "Joost De Cock", @@ -401,6 +495,8 @@ "techniques": ["curvedSeam", "hem", "interfacing", "lining", "weltPocket", "button"] }, "walburga": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a wappenrock (tabard/surcoat), a historical European/medieval (ish) garment", "code": "Rika Tamaike", "design": "Rika Tamaike", @@ -409,6 +505,8 @@ "techniques": ["hem"] }, "waralee": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for wrap pants", "code": "Wouter Van Wageningen", "design": "Wouter Van Wageningen", @@ -417,6 +515,8 @@ "techniques": [] }, "yuri": { + "lab": true, + "org": true, "description": "A FreeSewing pattern for a fancy zipless sweater based on the Huey hoodie", "code": "Hellgy", "design": "Biou", diff --git a/config/templates/design/i18n/en.json b/config/templates/design/i18n/en.json new file mode 100644 index 00000000000..5b98230b356 --- /dev/null +++ b/config/templates/design/i18n/en.json @@ -0,0 +1,7 @@ +{ + "t": "{{ title }}", + "d": "{{ description }}", + "p": { }, + "s": { }, + "o": { } +} diff --git a/config/templates/design/i18n/index.mjs b/config/templates/design/i18n/index.mjs new file mode 100644 index 00000000000..36aac928b67 --- /dev/null +++ b/config/templates/design/i18n/index.mjs @@ -0,0 +1,8 @@ +import en from './en.json' assert { type: 'json' } +import de from './de.json' assert { type: 'json' } +import es from './es.json' assert { type: 'json' } +import fr from './fr.json' assert { type: 'json' } +import nl from './nl.json' assert { type: 'json' } +import uk from './uk.json' assert { type: 'json' } + +export const i18n = { en, de, es, fr, nl, uk } diff --git a/config/templates/use-design.mjs.mustache b/config/templates/use-design.mjs.mustache new file mode 100644 index 00000000000..23e833e9c8c --- /dev/null +++ b/config/templates/use-design.mjs.mustache @@ -0,0 +1,17 @@ +/* + * This file is auto-generated. + * Any manual changes will be overwritten. + */ +{{#designs}} +import { {{ Name }} as {{ name }} } from '@freesewing/{{ name }}' +{{/designs}} + +const designs = { +{{#designs}} + {{ name }}, +{{/designs}} +} + +export const useDesign = (design) => (designs[design] ? designs[design] : false) + +export const collection = Object.keys(designs) diff --git a/scripts/add-software.mjs b/scripts/add-software.mjs index aaa1b416820..0dd49757f9b 100644 --- a/scripts/add-software.mjs +++ b/scripts/add-software.mjs @@ -5,10 +5,13 @@ import chalk from 'chalk' import { banner } from './banner.mjs' import mustache from 'mustache' import { execSync } from 'child_process' +import languages from '../config/languages.json' assert { type: 'json' } // Software import designs from '../config/software/designs.json' assert { type: 'json' } import plugins from '../config/software/plugins.json' assert { type: 'json' } +console.log({ languages }) + const type = process.argv[2] // Add new design @@ -39,42 +42,13 @@ async function addDesign() { ${chalk.gray('≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡')} We're going to add a new design to this repository. That's awesome 🎉 - Let's start by picking the category for this design 🏷️ -`) - const { type } = await prompts({ - type: 'select', - name: 'type', - message: 'In what category should we add the design?', - choices: [ - { - title: 'Accessories', - value: 'accessories', - description: 'Hats, bags, plushies, and so on', - }, - { title: 'Blocks', value: 'blocks', description: 'Blocks/Slopers to base other designs on' }, - { - title: 'Garments', - value: 'garments', - description: 'For clothes. The most common category', - }, - { - title: 'Utilities', - value: 'utilities', - description: 'For utility designs such as our rendertest or legend', - }, - ], - initial: 2, - }) - - console.log(` - Cool cool cool. - Now a name. Naming things is hard 😬 + Let's start by picking a name. Naming things is hard 😬 We'd appreciate if you pick: - a firstname like ${chalk.green('alex')}, ${chalk.green('jordan')}, ${chalk.green( - 'ezra' - )}, or ${chalk.green('logan')} + 'ezra' + )}, or ${chalk.green('logan')} - that is an aliteration with the kind of design, like ${chalk.green( 'wahid' )} for a ${chalk.green('w')}aistcoat @@ -89,9 +63,9 @@ async function addDesign() { validate: validateDesignName, }) - if (name && type) { - console.log('\n' + ` Alright, let's add ${chalk.green(name)} under ${chalk.green(type)} 🪄`) - createDesign(name, type) + if (name) { + console.log('\n' + ` Alright, let's add ${chalk.green(name)} 🪄`) + createDesign(name) execSync('npm run reconfigure') console.log(` All done 🎉`) @@ -112,16 +86,16 @@ async function addDesign() { Hhere's a few other things you can configure: 👉 ${chalk.yellow('Author')}: Credit where credit is due; Add yourself as author in ${chalk.green( - 'config/exceptions.yaml' - )} - 👉 ${chalk.yellow('Description')}: We used a placeholder description; Update it in ${chalk.green( - 'config/software/designs.json' - )} + 'config/exceptions.yaml' + )} + 👉 ${chalk.yellow('Description')}: We used placeholder metadata; Update it in ${chalk.green( + 'config/software/designs.json' + )} 👉 ${chalk.yellow( 'Dependencies' )}: If you need additional plugins or patterns to extend, update ${chalk.green( - 'config/dependencies.yaml' - )} + 'config/dependencies.yaml' + )} If you change any of these, run ${chalk.blue('yarn reconfigure')} to update the package(s). @@ -184,16 +158,16 @@ async function addPlugin() { Hhere's a few other things you can configure: 👉 ${chalk.yellow('Author')}: Credit where credit is due; Add yourself as author in ${chalk.green( - 'config/exceptions.yaml' - )} + 'config/exceptions.yaml' + )} 👉 ${chalk.yellow('Description')}: We used a placeholder description; Update it in ${chalk.green( - 'config/software/plugins.json' - )} + 'config/software/plugins.json' + )} 👉 ${chalk.yellow( 'Dependencies' )}: If you need additional plugins or patterns to extend, update ${chalk.green( - 'config/dependencies.yaml' - )} + 'config/dependencies.yaml' + )} If you change any of these, run ${chalk.blue('yarn reconfigure')} to update the package(s). @@ -213,14 +187,7 @@ async function addPlugin() { } function validateDesignName(name) { - if ( - [ - ...Object.keys(designs.accessories), - ...Object.keys(designs.blocks), - ...Object.keys(designs.garments), - ...Object.keys(designs.utilities), - ].indexOf(name) !== -1 - ) + if (Object.keys(designs).indexOf(name) !== -1) return `Sorry but ${name} is already taken so you'll need to pick something else` if (/^([a-z][a-z0-9_]*)$/.test(name)) return true @@ -237,24 +204,26 @@ function validatePluginName(name) { else return ' 🙈 Please use only [a-z], no spaces, no capitals, no nothing 🤷' } -function createDesign(name, type) { +function createDesign(name) { const template = ['config', 'templates', 'design'] const design = ['designs', name] const description = 'A FreeSewing pattern that needs a description' const capitalized_name = name.charAt(0).toUpperCase() + name.slice(1) // Add to designs config file - designs[type][name] = { + designs[name] = { description: description, code: 'Coder name', design: 'Designer name', difficulty: 1, tags: ['tagname'], + techniques: ['techname'], } write(['config', 'software', 'designs.json'], JSON.stringify(orderDesigns(designs), null, 2)) // Create folders mkdir([...design, 'src']) + mkdir([...design, 'i18n']) mkdir([...design, 'tests']) // Create package.json @@ -263,11 +232,21 @@ function createDesign(name, type) { description, }) - // Create index.mjs + // Create src/index.mjs templateOut([...template, 'src', 'index.mjs.mustache'], [...design, 'src', 'index.mjs'], { capitalized_name, }) + // Copy i18n/index.mjs + cp([...template, 'i18n', 'index.mjs'], [...design, 'i18n', 'index.mjs']) + + // Create i18n translation files + for (const language of languages) + templateOut([...template, 'i18n', 'en.json'], [...design, 'i18n', `${language}.json`], { + title: capitalized_name, + description, + }) + // Create tests file cp([...template, 'tests', 'shared.test.mjs'], [...design, 'tests', 'shared.test.mjs']) diff --git a/scripts/reconfigure.mjs b/scripts/reconfigure.mjs index 78d33212779..9769a6a6845 100644 --- a/scripts/reconfigure.mjs +++ b/scripts/reconfigure.mjs @@ -150,6 +150,24 @@ export const designs = { ` ) +// Step 7: Create use-design hooks for lab & org +for (const site of ['lab', 'org']) { + fs.writeFileSync( + path.join(repo.path, 'sites', site, 'hooks', 'use-design.mjs'), + mustache.render( + fs.readFileSync( + path.join(repo.path, 'config', 'templates', 'use-design.mjs.mustache'), + 'utf-8' + ), + { + designs: Object.keys(designs) + .filter((name) => designs[name][site]) + .map((name) => ({ name, Name: capitalize(name) })), + } + ) + ) +} + // All done log.write(chalk.green(' All done\n')) process.exit() diff --git a/sites/lab/hooks/use-design.mjs b/sites/lab/hooks/use-design.mjs index f078cb6007a..83b9911c4ec 100644 --- a/sites/lab/hooks/use-design.mjs +++ b/sites/lab/hooks/use-design.mjs @@ -1,103 +1,101 @@ -import { Aaron } from '@freesewing/aaron' -import { Albert } from '@freesewing/albert' -import { Bee } from '@freesewing/bee' -import { Bella } from '@freesewing/bella' -import { Benjamin } from '@freesewing/benjamin' -import { Bent } from '@freesewing/bent' -import { Bob } from '@freesewing/bob' -import { Breanna } from '@freesewing/breanna' -import { Brian } from '@freesewing/brian' -import { Bruce } from '@freesewing/bruce' -import { Carlita } from '@freesewing/carlita' -import { Carlton } from '@freesewing/carlton' -import { Cathrin } from '@freesewing/cathrin' -import { Charlie } from '@freesewing/charlie' -import { Cornelius } from '@freesewing/cornelius' -import { Diana } from '@freesewing/diana' -import { Florence } from '@freesewing/florence' -import { Florent } from '@freesewing/florent' -import { Hi } from '@freesewing/hi' -import { Holmes } from '@freesewing/holmes' -import { Hortensia } from '@freesewing/hortensia' -import { Huey } from '@freesewing/huey' -import { Hugo } from '@freesewing/hugo' -import { Jaeger } from '@freesewing/jaeger' -import { Legend } from '@freesewing/legend' -import { Lucy } from '@freesewing/lucy' -import { Lunetius } from '@freesewing/lunetius' -import { Magde } from '@freesewing/magde' -import { Noble } from '@freesewing/noble' -import { Octoplushy } from '@freesewing/octoplushy' -import { Paco } from '@freesewing/paco' -import { Penelope } from '@freesewing/penelope' -import { Plugintest } from '@freesewing/plugintest' -import { Rendertest } from '@freesewing/rendertest' -import { Sandy } from '@freesewing/sandy' -import { Shin } from '@freesewing/shin' -import { Simon } from '@freesewing/simon' -import { Simone } from '@freesewing/simone' -import { Sven } from '@freesewing/sven' -import { Tamiko } from '@freesewing/tamiko' -import { Teagan } from '@freesewing/teagan' -import { Tiberius } from '@freesewing/tiberius' -import { Titan } from '@freesewing/titan' -import { Trayvon } from '@freesewing/trayvon' -import { Uma } from '@freesewing/uma' -import { Wahid } from '@freesewing/wahid' -import { Walburga } from '@freesewing/walburga' -import { Waralee } from '@freesewing/waralee' -import { Yuri } from '@freesewing/yuri' +/* + * This file is auto-generated. + * Any manual changes will be overwritten. + */ +import { Aaron as aaron } from '@freesewing/aaron' +import { Albert as albert } from '@freesewing/albert' +import { Bee as bee } from '@freesewing/bee' +import { Bella as bella } from '@freesewing/bella' +import { Benjamin as benjamin } from '@freesewing/benjamin' +import { Bent as bent } from '@freesewing/bent' +import { Bob as bob } from '@freesewing/bob' +import { Breanna as breanna } from '@freesewing/breanna' +import { Brian as brian } from '@freesewing/brian' +import { Bruce as bruce } from '@freesewing/bruce' +import { Carlita as carlita } from '@freesewing/carlita' +import { Carlton as carlton } from '@freesewing/carlton' +import { Cathrin as cathrin } from '@freesewing/cathrin' +import { Charlie as charlie } from '@freesewing/charlie' +import { Cornelius as cornelius } from '@freesewing/cornelius' +import { Diana as diana } from '@freesewing/diana' +import { Florence as florence } from '@freesewing/florence' +import { Florent as florent } from '@freesewing/florent' +import { Hi as hi } from '@freesewing/hi' +import { Holmes as holmes } from '@freesewing/holmes' +import { Hortensia as hortensia } from '@freesewing/hortensia' +import { Huey as huey } from '@freesewing/huey' +import { Hugo as hugo } from '@freesewing/hugo' +import { Jaeger as jaeger } from '@freesewing/jaeger' +import { Lucy as lucy } from '@freesewing/lucy' +import { Lunetius as lunetius } from '@freesewing/lunetius' +import { Magde as magde } from '@freesewing/magde' +import { Noble as noble } from '@freesewing/noble' +import { Octoplushy as octoplushy } from '@freesewing/octoplushy' +import { Paco as paco } from '@freesewing/paco' +import { Penelope as penelope } from '@freesewing/penelope' +import { Sandy as sandy } from '@freesewing/sandy' +import { Shin as shin } from '@freesewing/shin' +import { Simon as simon } from '@freesewing/simon' +import { Simone as simone } from '@freesewing/simone' +import { Sven as sven } from '@freesewing/sven' +import { Tamiko as tamiko } from '@freesewing/tamiko' +import { Teagan as teagan } from '@freesewing/teagan' +import { Tiberius as tiberius } from '@freesewing/tiberius' +import { Titan as titan } from '@freesewing/titan' +import { Trayvon as trayvon } from '@freesewing/trayvon' +import { Uma as uma } from '@freesewing/uma' +import { Wahid as wahid } from '@freesewing/wahid' +import { Walburga as walburga } from '@freesewing/walburga' +import { Waralee as waralee } from '@freesewing/waralee' +import { Yuri as yuri } from '@freesewing/yuri' const designs = { - aaron: Aaron, - albert: Albert, - bee: Bee, - bella: Bella, - benjamin: Benjamin, - bent: Bent, - bob: Bob, - breanna: Breanna, - brian: Brian, - bruce: Bruce, - carlita: Carlita, - carlton: Carlton, - cathrin: Cathrin, - charlie: Charlie, - cornelius: Cornelius, - diana: Diana, - florence: Florence, - florent: Florent, - hi: Hi, - holmes: Holmes, - hortensia: Hortensia, - huey: Huey, - hugo: Hugo, - jaeger: Jaeger, - legend: Legend, - lucy: Lucy, - lunetius: Lunetius, - magde: Magde, - noble: Noble, - octoplushy: Octoplushy, - paco: Paco, - penelope: Penelope, - plugintest: Plugintest, - rendertest: Rendertest, - sandy: Sandy, - shin: Shin, - simon: Simon, - simone: Simone, - sven: Sven, - tamiko: Tamiko, - teagan: Teagan, - tiberius: Tiberius, - titan: Titan, - trayvon: Trayvon, - uma: Uma, - wahid: Wahid, - walburga: Walburga, - waralee: Waralee, - yuri: Yuri, + aaron, + albert, + bee, + bella, + benjamin, + bent, + bob, + breanna, + brian, + bruce, + carlita, + carlton, + cathrin, + charlie, + cornelius, + diana, + florence, + florent, + hi, + holmes, + hortensia, + huey, + hugo, + jaeger, + lucy, + lunetius, + magde, + noble, + octoplushy, + paco, + penelope, + sandy, + shin, + simon, + simone, + sven, + tamiko, + teagan, + tiberius, + titan, + trayvon, + uma, + wahid, + walburga, + waralee, + yuri, } export const useDesign = (design) => (designs[design] ? designs[design] : false) diff --git a/sites/org/hooks/use-design.mjs b/sites/org/hooks/use-design.mjs index 9a0f0c42e8f..7a70fd23805 100644 --- a/sites/org/hooks/use-design.mjs +++ b/sites/org/hooks/use-design.mjs @@ -1,95 +1,99 @@ -import { Aaron } from '@freesewing/aaron' -import { Albert } from '@freesewing/albert' -import { Bee } from '@freesewing/bee' -import { Bella } from '@freesewing/bella' -import { Benjamin } from '@freesewing/benjamin' -import { Bent } from '@freesewing/bent' -import { Bob } from '@freesewing/bob' -import { Breanna } from '@freesewing/breanna' -import { Brian } from '@freesewing/brian' -import { Bruce } from '@freesewing/bruce' -import { Carlita } from '@freesewing/carlita' -import { Carlton } from '@freesewing/carlton' -import { Cathrin } from '@freesewing/cathrin' -import { Charlie } from '@freesewing/charlie' -import { Cornelius } from '@freesewing/cornelius' -import { Diana } from '@freesewing/diana' -import { Florence } from '@freesewing/florence' -import { Florent } from '@freesewing/florent' -import { Hi } from '@freesewing/hi' -import { Holmes } from '@freesewing/holmes' -import { Hortensia } from '@freesewing/hortensia' -import { Huey } from '@freesewing/huey' -import { Hugo } from '@freesewing/hugo' -import { Jaeger } from '@freesewing/jaeger' -import { Lucy } from '@freesewing/lucy' -import { Lunetius } from '@freesewing/lunetius' -import { Noble } from '@freesewing/noble' -import { Octoplushy } from '@freesewing/octoplushy' -import { Paco } from '@freesewing/paco' -import { Penelope } from '@freesewing/penelope' -import { Sandy } from '@freesewing/sandy' -import { Shin } from '@freesewing/shin' -import { Simon } from '@freesewing/simon' -import { Simone } from '@freesewing/simone' -import { Sven } from '@freesewing/sven' -import { Tamiko } from '@freesewing/tamiko' -import { Teagan } from '@freesewing/teagan' -import { Tiberius } from '@freesewing/tiberius' -import { Titan } from '@freesewing/titan' -import { Trayvon } from '@freesewing/trayvon' -import { Uma } from '@freesewing/uma' -import { Wahid } from '@freesewing/wahid' -import { Walburga } from '@freesewing/walburga' -import { Waralee } from '@freesewing/waralee' -import { Yuri } from '@freesewing/yuri' +/* + * This file is auto-generated. + * Any manual changes will be overwritten. + */ +import { Aaron as aaron } from '@freesewing/aaron' +import { Albert as albert } from '@freesewing/albert' +import { Bee as bee } from '@freesewing/bee' +import { Bella as bella } from '@freesewing/bella' +import { Benjamin as benjamin } from '@freesewing/benjamin' +import { Bent as bent } from '@freesewing/bent' +import { Bob as bob } from '@freesewing/bob' +import { Breanna as breanna } from '@freesewing/breanna' +import { Brian as brian } from '@freesewing/brian' +import { Bruce as bruce } from '@freesewing/bruce' +import { Carlita as carlita } from '@freesewing/carlita' +import { Carlton as carlton } from '@freesewing/carlton' +import { Cathrin as cathrin } from '@freesewing/cathrin' +import { Charlie as charlie } from '@freesewing/charlie' +import { Cornelius as cornelius } from '@freesewing/cornelius' +import { Diana as diana } from '@freesewing/diana' +import { Florence as florence } from '@freesewing/florence' +import { Florent as florent } from '@freesewing/florent' +import { Hi as hi } from '@freesewing/hi' +import { Holmes as holmes } from '@freesewing/holmes' +import { Hortensia as hortensia } from '@freesewing/hortensia' +import { Huey as huey } from '@freesewing/huey' +import { Hugo as hugo } from '@freesewing/hugo' +import { Jaeger as jaeger } from '@freesewing/jaeger' +import { Lucy as lucy } from '@freesewing/lucy' +import { Lunetius as lunetius } from '@freesewing/lunetius' +import { Noble as noble } from '@freesewing/noble' +import { Octoplushy as octoplushy } from '@freesewing/octoplushy' +import { Paco as paco } from '@freesewing/paco' +import { Penelope as penelope } from '@freesewing/penelope' +import { Sandy as sandy } from '@freesewing/sandy' +import { Shin as shin } from '@freesewing/shin' +import { Simon as simon } from '@freesewing/simon' +import { Simone as simone } from '@freesewing/simone' +import { Sven as sven } from '@freesewing/sven' +import { Tamiko as tamiko } from '@freesewing/tamiko' +import { Teagan as teagan } from '@freesewing/teagan' +import { Tiberius as tiberius } from '@freesewing/tiberius' +import { Titan as titan } from '@freesewing/titan' +import { Trayvon as trayvon } from '@freesewing/trayvon' +import { Uma as uma } from '@freesewing/uma' +import { Wahid as wahid } from '@freesewing/wahid' +import { Walburga as walburga } from '@freesewing/walburga' +import { Waralee as waralee } from '@freesewing/waralee' +import { Yuri as yuri } from '@freesewing/yuri' const designs = { - aaron: Aaron, - albert: Albert, - bee: Bee, - bella: Bella, - benjamin: Benjamin, - bent: Bent, - bob: Bob, - breanna: Breanna, - brian: Brian, - bruce: Bruce, - carlita: Carlita, - carlton: Carlton, - cathrin: Cathrin, - charlie: Charlie, - cornelius: Cornelius, - diana: Diana, - florence: Florence, - florent: Florent, - hi: Hi, - holmes: Holmes, - hortensia: Hortensia, - huey: Huey, - hugo: Hugo, - jaeger: Jaeger, - lucy: Lucy, - lunetius: Lunetius, - noble: Noble, - octoplushy: Octoplushy, - paco: Paco, - penelope: Penelope, - sandy: Sandy, - shin: Shin, - simon: Simon, - simone: Simone, - sven: Sven, - tamiko: Tamiko, - teagan: Teagan, - tiberius: Tiberius, - titan: Titan, - trayvon: Trayvon, - uma: Uma, - wahid: Wahid, - walburga: Walburga, - waralee: Waralee, - yuri: Yuri, + aaron, + albert, + bee, + bella, + benjamin, + bent, + bob, + breanna, + brian, + bruce, + carlita, + carlton, + cathrin, + charlie, + cornelius, + diana, + florence, + florent, + hi, + holmes, + hortensia, + huey, + hugo, + jaeger, + lucy, + lunetius, + noble, + octoplushy, + paco, + penelope, + sandy, + shin, + simon, + simone, + sven, + tamiko, + teagan, + tiberius, + titan, + trayvon, + uma, + wahid, + walburga, + waralee, + yuri, } export const useDesign = (design) => (designs[design] ? designs[design] : false)