Add scaffold commision page

This commit is contained in:
2025-07-05 21:19:49 +02:00
parent ab40b6983a
commit af756e2154
39 changed files with 3155 additions and 120 deletions

311
src/data/mockCommissions.ts Normal file
View File

@ -0,0 +1,311 @@
export const commissionTypes = {
sketch: {
name: 'Sketch',
description: 'A quick sketch of a character',
},
flat: {
name: 'Flat Color / Lineart',
description: 'Dunno how to describe this',
},
shaded: {
name: 'Shaded',
description: 'Dunno how to describe this',
},
refsheet: {
name: 'Reference Sheet',
description: 'A reference sheet with multiple poses',
}
}
export const commissionOptions = {
headshot: {
name: 'Headshot',
basePrice: 10
},
halfbody: {
name: 'Halfbody',
basePrice: 15
},
fullbody: {
name: 'Fullbody',
basePrice: 20
}
}
export const commissionExtras = {
extraChar: {
name: 'Extra Character',
description: 'Add an extra character to the commission',
pricePercent: 75,
price: 0,
priceRange: ""
},
basicBackground: {
name: 'Basic Background',
description: 'Add a basic background to the commission',
pricePercent: 0,
price: 0,
priceRange: ""
},
abstractBackground: {
name: 'Abstract Background',
description: 'Add an abstract background to the commission',
pricePercent: 0,
price: 0,
priceRange: ""
},
gradientBackground: {
name: 'Gradient Background',
description: 'Add an gradient background to the commission',
pricePercent: 0,
price: 0,
priceRange: ""
},
customBackground: {
name: 'Custom Background',
description: 'Add a custom background to the commission',
pricePercent: 0,
price: 0,
priceRange: "10#50"
},
nsfw: {
name: 'NSFW',
description: 'Add NSFW content to the commission',
pricePercent: 15,
price: 0,
priceRange: ""
},
normalComplexity: {
name: 'Light Complexity',
description: 'Increase complexity of the commission',
pricePercent: 15,
price: 0,
priceRange: ""
},
highComplexity: {
name: 'High Complexity',
description: 'Highly increase complexity of the commission',
pricePercent: 30,
price: 0,
priceRange: ""
},
details: {
name: 'Details',
description: 'Add details to the commission (tails, eyes, ...)',
pricePercent: 0,
price: 0,
priceRange: "3#5"
},
shading: {
name: 'Shading',
description: 'Add shading to the commission',
pricePercent: 0,
price: 20,
priceRange: ""
}
}
export const rawCommissions = [
{
type: commissionTypes.sketch,
options: [
{
type: commissionOptions.headshot,
price: commissionOptions.headshot.basePrice
},
{
type: commissionOptions.halfbody,
price: commissionOptions.halfbody.basePrice
},
{
type: commissionOptions.fullbody,
price: commissionOptions.fullbody.basePrice
}
],
extras: [
{
type: commissionExtras.extraChar,
pricePercent: commissionExtras.extraChar.pricePercent
},
{
type: commissionExtras.basicBackground,
price: commissionExtras.basicBackground.price
},
{
type: commissionExtras.abstractBackground,
price: commissionExtras.abstractBackground.price
},
{
type: commissionExtras.gradientBackground,
price: commissionExtras.gradientBackground.price
},
{
type: commissionExtras.customBackground,
priceRange: commissionExtras.customBackground.priceRange
},
{
type: commissionExtras.nsfw,
pricePercent: commissionExtras.nsfw.pricePercent
},
{
type: commissionExtras.normalComplexity,
pricePercent: commissionExtras.normalComplexity.pricePercent
},
{
type: commissionExtras.highComplexity,
pricePercent: commissionExtras.highComplexity.pricePercent
},
],
examples: [
'/examples/sketch1.png'
]
},
{
type: commissionTypes.flat,
options: [
{
type: commissionOptions.headshot,
price: 18
},
{
type: commissionOptions.halfbody,
price: 22
},
{
type: commissionOptions.fullbody,
price: 28
}
],
extras: [
{
type: commissionExtras.extraChar,
pricePercent: commissionExtras.extraChar.pricePercent
},
{
type: commissionExtras.basicBackground,
price: commissionExtras.basicBackground.price
},
{
type: commissionExtras.abstractBackground,
price: commissionExtras.abstractBackground.price
},
{
type: commissionExtras.gradientBackground,
price: commissionExtras.gradientBackground.price
},
{
type: commissionExtras.customBackground,
priceRange: commissionExtras.customBackground.priceRange
},
{
type: commissionExtras.nsfw,
pricePercent: commissionExtras.nsfw.pricePercent
},
{
type: commissionExtras.normalComplexity,
pricePercent: commissionExtras.normalComplexity.pricePercent
},
{
type: commissionExtras.highComplexity,
pricePercent: commissionExtras.highComplexity.pricePercent
}
],
examples: [
'/examples/flat1.png',
'/examples/flat2.png'
]
},
{
type: commissionTypes.shaded,
options: [
{
type: commissionOptions.headshot,
price: 25
},
{
type: commissionOptions.halfbody,
price: 40
},
{
type: commissionOptions.fullbody,
price: 55
}
],
extras: [
{
type: commissionExtras.extraChar,
pricePercent: commissionExtras.extraChar.pricePercent
},
{
type: commissionExtras.basicBackground,
price: commissionExtras.basicBackground.price
},
{
type: commissionExtras.abstractBackground,
price: commissionExtras.abstractBackground.price
},
{
type: commissionExtras.gradientBackground,
price: commissionExtras.gradientBackground.price
},
{
type: commissionExtras.customBackground,
priceRange: "20#100"
},
{
type: commissionExtras.nsfw,
pricePercent: commissionExtras.nsfw.pricePercent
},
{
type: commissionExtras.normalComplexity,
pricePercent: commissionExtras.normalComplexity.pricePercent
},
{
type: commissionExtras.highComplexity,
pricePercent: commissionExtras.highComplexity.pricePercent
}
],
examples: [
'/examples/shaded1.png'
]
},
{
type: commissionTypes.refsheet,
options: [
{
type: commissionOptions.fullbody,
price: 25
}
],
extras: [
{
type: commissionExtras.customBackground,
priceRange: "20#100"
},
{
type: commissionExtras.nsfw,
pricePercent: commissionExtras.nsfw.pricePercent
},
{
type: commissionExtras.normalComplexity,
pricePercent: commissionExtras.normalComplexity.pricePercent
},
{
type: commissionExtras.highComplexity,
pricePercent: commissionExtras.highComplexity.pricePercent
},
{
type: commissionExtras.details,
priceRange: commissionExtras.details.priceRange
},
{
type: commissionExtras.shading,
price: commissionExtras.shading.price
}
],
examples: [
'/examples/refsheet1.png'
]
}
]