style: use switch for special case handling
This commit is contained in:
parent
b1bdc48769
commit
482caf0c5b
1 changed files with 17 additions and 10 deletions
|
@ -75,17 +75,24 @@ export async function compileUsercss(fileName: string) {
|
|||
|
||||
for (const [k, v] of Object.entries(vars)) {
|
||||
varsToPass[k] = Settings.userCssVars[id]?.[k] ?? v.default;
|
||||
if (v.type === "checkbox" && ["less", "stylus"].includes(preprocessor)) {
|
||||
// For Less and Stylus, we convert from 0/1 to false/true as it works with their if statement equivalents.
|
||||
// Stylus doesn't really need this to be fair (0/1 are falsy/truthy), but for consistency's sake it's best
|
||||
// if we do.
|
||||
//
|
||||
// In default and USO, it has no special meaning, so we'll just leave it as a number.
|
||||
varsToPass[k] = varsToPass[k] === "1" ? "true" : "false";
|
||||
|
||||
switch (v.type) {
|
||||
case "checkbox": {
|
||||
if (["less", "stylus"].includes(preprocessor)) {
|
||||
varsToPass[k] = varsToPass[k] ? "1" : "0";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (v.type === "range") {
|
||||
case "range": {
|
||||
varsToPass[k] = `${varsToPass[k]}${v.units ?? "px"}`;
|
||||
break;
|
||||
}
|
||||
|
||||
case "select": {
|
||||
varsToPass[k] = v.options.find(opt => opt.name === varsToPass[k])!.value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue