Skip to content

Commit

Permalink
✨ Add fela hook component
Browse files Browse the repository at this point in the history
  • Loading branch information
jstorm31 committed Feb 4, 2021
1 parent a36afdf commit 4b86065
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,10 @@ export default class Model {
const configuration = vscode.workspace.getConfiguration(config.namespace);

let content;
if (fela) {
if (fela && !configuration.felaHooks) {
content = templates.felaComponent(name, configuration.moduleDependencies);
} else if (fela && configuration.felaHooks) {
content = templates.felaHookComponent(name, configuration.moduleDependencies);
} else {
content = templates.component(name, configuration.moduleDependencies);
}
Expand Down
26 changes: 26 additions & 0 deletions src/template/component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,32 @@ ${name}.propTypes = {
export default ${name};
`;

export const felaHookComponent = (name: string, dependencies: boolean) => `${
dependencies
? "import { React, PropTypes } from '../../dependencies';"
: "import React from 'react';\nimport PropTypes from 'prop-types';"
}
import * as rules from './${name}.styles';
const ${name} = () => {
const { styles } = useFelaEnhanced(rules);
return (
<div className={styles.container}>
</div>
);
};
${name}.propTypes = {
styles: PropTypes.shape({
container: PropTypes.string.isRequired
}).isRequired
};
export default ${name};
`;

export const styles = "export const container = () => ({});\n";

Expand Down

0 comments on commit 4b86065

Please sign in to comment.