Skip to content

Commit 78cd07a

Browse files
authored
Fix compose variable names
1 parent eadbbec commit 78cd07a

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

src/plugin/index.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ function rgbaObjectToComposeHexaString(obj: {
122122
b * 255
123123
)}, ${a})`
124124
);
125-
return `Color(Ox${rgbaString.substring(7)}${rgbaString.substring(1, 7)})`;
125+
return `Color(0x${rgbaString.substring(7)}${rgbaString.substring(1, 7)})`;
126126
}
127127

128128
/*
@@ -219,7 +219,7 @@ function generatesCSSValueString(variable: Variable): string {
219219
** Generates a Compose key string
220220
*/
221221
function generatesComposeKeyString(variable: Variable): string {
222-
const parts = variable.name.split('/');
222+
const parts = variable.name.split(/[\s/]+/);
223223
let transformedString = '';
224224

225225
for (let i = 0; i < parts.length; i++) {
@@ -269,7 +269,7 @@ function generatesSwiftuiValueString(variable: Variable): string {
269269
const value: any = variableByCurrentMode(variable);
270270
if (value.type === 'VARIABLE_ALIAS') {
271271
const alias = <Variable>figmaVariables.find((obj) => obj.id === value.id);
272-
return `Constants.${generatesComposeKeyString(alias)}`;
272+
return `Constants.${generatesSwiftuiKeyString(alias)}`;
273273
} else if (variable.resolvedType === 'COLOR') {
274274
return rgbaObjectToSwiftuiRgbaString(value);
275275
} else {
@@ -328,12 +328,20 @@ function postUiUpdate() {
328328
variable.resolvedType === 'COLOR' ? 'Color' : 'Dp'
329329
} = ${generatesComposeValueString(variable)}`
330330
)
331+
.sort(
332+
(var1, var2) =>
333+
if(var1.type === 'VARIABLE_ALIAS' && var2.type !== 'VARIABLE_ALIAS') {
334+
return 1;
335+
}
336+
return var1 - var2
337+
338+
)
331339
.forEach((variable) => {
332340
composeFile += variable + '\n';
333341
});
334342
composeFile += '}';
335343

336-
/* Iterates through variables to generate Compose variables */
344+
/* Iterates through variables to generate SwiftUI variables */
337345
filteredFigmaVariables
338346
.map(
339347
(variable) =>

0 commit comments

Comments
 (0)