{"action":"created","comment":{"url":"https://api.github.com/repos/Wolox/tech-guides/pulls/comments/329253047","pull_request_review_id":294566333,"id":329253047,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMyOTI1MzA0Nw==","diff_hunk":"@@ -37,23 +37,37 @@ src\n └───app\n │   │\n │   └───components\n-│   │ └───baseComponents\n-│   │     └───Input\n-│   │     └───Text\n-│   │     └───Button\n+│   │ └───atoms # Can't be broken down into smaller things\n+│   │ |   └───Input\n+│   │ |   └───Text\n+│   │ |   └───Button\n+│   │ |   └───etc\n+│   │ └───molecules # Two or more atoms\n+│   │ |   └───FormInput\n+│   │ |   └───SearchBar\n+│   │ |   └───Table\n+│   │ |   └───etc\n+│   │ └───organisms # Two or more molecules\n+│   │     └───LoginForm\n+│   │     └───UserTable\n │   │     └───etc","path":"frontend/react/style-guide.md","position":30,"original_position":30,"commit_id":"60964a57a2a5435105cfef9aa9e8ceeb8abe48a8","original_commit_id":"60964a57a2a5435105cfef9aa9e8ceeb8abe48a8","user":{"login":"damfinkel","id":5349650,"node_id":"MDQ6VXNlcjUzNDk2NTA=","avatar_url":"https://avatars0.githubusercontent.com/u/5349650?v=4","gravatar_id":"","url":"https://api.github.com/users/damfinkel","html_url":"https://github.com/damfinkel","followers_url":"https://api.github.com/users/damfinkel/followers","following_url":"https://api.github.com/users/damfinkel/following{/other_user}","gists_url":"https://api.github.com/users/damfinkel/gists{/gist_id}","starred_url":"https://api.github.com/users/damfinkel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damfinkel/subscriptions","organizations_url":"https://api.github.com/users/damfinkel/orgs","repos_url":"https://api.github.com/users/damfinkel/repos","events_url":"https://api.github.com/users/damfinkel/events{/privacy}","received_events_url":"https://api.github.com/users/damfinkel/received_events","type":"User","site_admin":false},"body":"Yes, pretty accurate. I think you're right, we should add more context. I'm not sure if the business-agnostic is the criteria though, I think all three of them should be though of as reusable components (or else they wouldn't be in this folder, they'd be in their screen's folder tree). Of course, it's easier to reuse a component if it's the more business-agnostic possible, but I don't think that's always true. \r\n\r\nFor example, You may have an `UserData` component (organism, as it probable contains some molecules and/or atoms) that obtains the user's data from the store. That's not business-agnostic, but you will be able to reuse it anywhere you want as the user is a global state. Same thing happens with any logic that's shared across the app, or in more than one screen.\r\n\r\ntl;dr; So I think the criteria should simply be something like: Atoms are single html elements wrapped in a component (these are more theoric, 99% of the time just use the html or the Text/Input provided by RN). Molecules are groups of Atoms. Organisms are groups of molecules. ","created_at":"2019-09-27T21:11:50Z","updated_at":"2019-09-27T21:11:50Z","html_url":"https://github.com/Wolox/tech-guides/pull/183#discussion_r329253047","pull_request_url":"https://api.github.com/repos/Wolox/tech-guides/pulls/183","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/Wolox/tech-guides/pulls/comments/329253047"},"html":{"href":"https://github.com/Wolox/tech-guides/pull/183#discussion_r329253047"},"pull_request":{"href":"https://api.github.com/repos/Wolox/tech-guides/pulls/183"}},"in_reply_to_id":313621201},"pull_request":{"url":"https://api.github.com/repos/Wolox/tech-guides/pulls/183","id":306631104,"node_id":"MDExOlB1bGxSZXF1ZXN0MzA2NjMxMTA0","html_url":"https://github.com/Wolox/tech-guides/pull/183","diff_url":"https://github.com/Wolox/tech-guides/pull/183.diff","patch_url":"https://github.com/Wolox/tech-guides/pull/183.patch","issue_url":"https://api.github.com/repos/Wolox/tech-guides/issues/183","number":183,"state":"open","locked":false,"title":"[React] Updated some old rules","user":{"login":"damfinkel","id":5349650,"node_id":"MDQ6VXNlcjUzNDk2NTA=","avatar_url":"https://avatars0.githubusercontent.com/u/5349650?v=4","gravatar_id":"","url":"https://api.github.com/users/damfinkel","html_url":"https://github.com/damfinkel","followers_url":"https://api.github.com/users/damfinkel/followers","following_url":"https://api.github.com/users/damfinkel/following{/other_user}","gists_url":"https://api.github.com/users/damfinkel/gists{/gist_id}","starred_url":"https://api.github.com/users/damfinkel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damfinkel/subscriptions","organizations_url":"https://api.github.com/users/damfinkel/orgs","repos_url":"https://api.github.com/users/damfinkel/repos","events_url":"https://api.github.com/users/damfinkel/events{/privacy}","received_events_url":"https://api.github.com/users/damfinkel/received_events","type":"User","site_admin":false},"body":"## Summary\r\n\r\nUpdated the styleguide with some changed practises. We will be adding hook style guides here as well in the near future.\r\n\r\n- Added rule to prefer function components to class components\r\n- Changed various class components examples to function components (the ones which don't refer to class components)\r\n- Added exception to destructure props\r\n- Changes ref rule to adapt to hooks/createRef (relatively new stuff)\r\n- Updated class component lifecycle methods\r\n- Removed translation, as it's airbnb's guide translation, not ours and it differs a lot\r\n\r\n\r\n## Known issues / Notes\r\n\r\nI tried to separate it into two sections, a \"primary\" one and one with some rules that are kind of outdated (they are not *outdated* per se, they just refer to some practices that we never use or to old React APIs like Mixins) but I decided to leave them were they are because the document will have the same length and nre trainees may be using those practices.\r\n\r\n## Discussion\r\n\r\nAdded this differenciation to generic components which I think makes more clear how atomic they are: http://atomicdesign.bradfrost.com/chapter-2/\r\n","created_at":"2019-08-12T19:35:19Z","updated_at":"2019-09-27T21:11:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9eb91d812241b0de0e7be064a9a3c2420f87744e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Wolox/tech-guides/pulls/183/commits","review_comments_url":"https://api.github.com/repos/Wolox/tech-guides/pulls/183/comments","review_comment_url":"https://api.github.com/repos/Wolox/tech-guides/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Wolox/tech-guides/issues/183/comments","statuses_url":"https://api.github.com/repos/Wolox/tech-guides/statuses/60964a57a2a5435105cfef9aa9e8ceeb8abe48a8","head":{"label":"Wolox:update-react-styleguide","ref":"update-react-styleguide","sha":"60964a57a2a5435105cfef9aa9e8ceeb8abe48a8","user":{"login":"Wolox","id":1046241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNDYyNDE=","avatar_url":"https://avatars3.githubusercontent.com/u/1046241?v=4","gravatar_id":"","url":"https://api.github.com/users/Wolox","html_url":"https://github.com/Wolox","followers_url":"https://api.github.com/users/Wolox/followers","following_url":"https://api.github.com/users/Wolox/following{/other_user}","gists_url":"https://api.github.com/users/Wolox/gists{/gist_id}","starred_url":"https://api.github.com/users/Wolox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wolox/subscriptions","organizations_url":"https://api.github.com/users/Wolox/orgs","repos_url":"https://api.github.com/users/Wolox/repos","events_url":"https://api.github.com/users/Wolox/events{/privacy}","received_events_url":"https://api.github.com/users/Wolox/received_events","type":"Organization","site_admin":false},"repo":{"id":55612210,"node_id":"MDEwOlJlcG9zaXRvcnk1NTYxMjIxMA==","name":"tech-guides","full_name":"Wolox/tech-guides","private":false,"owner":{"login":"Wolox","id":1046241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNDYyNDE=","avatar_url":"https://avatars3.githubusercontent.com/u/1046241?v=4","gravatar_id":"","url":"https://api.github.com/users/Wolox","html_url":"https://github.com/Wolox","followers_url":"https://api.github.com/users/Wolox/followers","following_url":"https://api.github.com/users/Wolox/following{/other_user}","gists_url":"https://api.github.com/users/Wolox/gists{/gist_id}","starred_url":"https://api.github.com/users/Wolox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wolox/subscriptions","organizations_url":"https://api.github.com/users/Wolox/orgs","repos_url":"https://api.github.com/users/Wolox/repos","events_url":"https://api.github.com/users/Wolox/events{/privacy}","received_events_url":"https://api.github.com/users/Wolox/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Wolox/tech-guides","description":"Guides and standards for the techs we love using at Wolox","fork":false,"url":"https://api.github.com/repos/Wolox/tech-guides","forks_url":"https://api.github.com/repos/Wolox/tech-guides/forks","keys_url":"https://api.github.com/repos/Wolox/tech-guides/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wolox/tech-guides/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wolox/tech-guides/teams","hooks_url":"https://api.github.com/repos/Wolox/tech-guides/hooks","issue_events_url":"https://api.github.com/repos/Wolox/tech-guides/issues/events{/number}","events_url":"https://api.github.com/repos/Wolox/tech-guides/events","assignees_url":"https://api.github.com/repos/Wolox/tech-guides/assignees{/user}","branches_url":"https://api.github.com/repos/Wolox/tech-guides/branches{/branch}","tags_url":"https://api.github.com/repos/Wolox/tech-guides/tags","blobs_url":"https://api.github.com/repos/Wolox/tech-guides/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wolox/tech-guides/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wolox/tech-guides/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wolox/tech-guides/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wolox/tech-guides/statuses/{sha}","languages_url":"https://api.github.com/repos/Wolox/tech-guides/languages","stargazers_url":"https://api.github.com/repos/Wolox/tech-guides/stargazers","contributors_url":"https://api.github.com/repos/Wolox/tech-guides/contributors","subscribers_url":"https://api.github.com/repos/Wolox/tech-guides/subscribers","subscription_url":"https://api.github.com/repos/Wolox/tech-guides/subscription","commits_url":"https://api.github.com/repos/Wolox/tech-guides/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wolox/tech-guides/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wolox/tech-guides/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wolox/tech-guides/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wolox/tech-guides/contents/{+path}","compare_url":"https://api.github.com/repos/Wolox/tech-guides/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wolox/tech-guides/merges","archive_url":"https://api.github.com/repos/Wolox/tech-guides/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wolox/tech-guides/downloads","issues_url":"https://api.github.com/repos/Wolox/tech-guides/issues{/number}","pulls_url":"https://api.github.com/repos/Wolox/tech-guides/pulls{/number}","milestones_url":"https://api.github.com/repos/Wolox/tech-guides/milestones{/number}","notifications_url":"https://api.github.com/repos/Wolox/tech-guides/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wolox/tech-guides/labels{/name}","releases_url":"https://api.github.com/repos/Wolox/tech-guides/releases{/id}","deployments_url":"https://api.github.com/repos/Wolox/tech-guides/deployments","created_at":"2016-04-06T14:19:25Z","updated_at":"2019-09-27T20:25:16Z","pushed_at":"2019-09-27T20:32:43Z","git_url":"git://github.com/Wolox/tech-guides.git","ssh_url":"git@github.com:Wolox/tech-guides.git","clone_url":"https://github.com/Wolox/tech-guides.git","svn_url":"https://github.com/Wolox/tech-guides","homepage":"https://www.wolox.co","size":53091,"stargazers_count":53,"watchers_count":53,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":31,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":20,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":31,"open_issues":20,"watchers":53,"default_branch":"master"}},"base":{"label":"Wolox:master","ref":"master","sha":"150eab3d27de7ca8855f6b4572a2afa733f4518c","user":{"login":"Wolox","id":1046241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNDYyNDE=","avatar_url":"https://avatars3.githubusercontent.com/u/1046241?v=4","gravatar_id":"","url":"https://api.github.com/users/Wolox","html_url":"https://github.com/Wolox","followers_url":"https://api.github.com/users/Wolox/followers","following_url":"https://api.github.com/users/Wolox/following{/other_user}","gists_url":"https://api.github.com/users/Wolox/gists{/gist_id}","starred_url":"https://api.github.com/users/Wolox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wolox/subscriptions","organizations_url":"https://api.github.com/users/Wolox/orgs","repos_url":"https://api.github.com/users/Wolox/repos","events_url":"https://api.github.com/users/Wolox/events{/privacy}","received_events_url":"https://api.github.com/users/Wolox/received_events","type":"Organization","site_admin":false},"repo":{"id":55612210,"node_id":"MDEwOlJlcG9zaXRvcnk1NTYxMjIxMA==","name":"tech-guides","full_name":"Wolox/tech-guides","private":false,"owner":{"login":"Wolox","id":1046241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNDYyNDE=","avatar_url":"https://avatars3.githubusercontent.com/u/1046241?v=4","gravatar_id":"","url":"https://api.github.com/users/Wolox","html_url":"https://github.com/Wolox","followers_url":"https://api.github.com/users/Wolox/followers","following_url":"https://api.github.com/users/Wolox/following{/other_user}","gists_url":"https://api.github.com/users/Wolox/gists{/gist_id}","starred_url":"https://api.github.com/users/Wolox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wolox/subscriptions","organizations_url":"https://api.github.com/users/Wolox/orgs","repos_url":"https://api.github.com/users/Wolox/repos","events_url":"https://api.github.com/users/Wolox/events{/privacy}","received_events_url":"https://api.github.com/users/Wolox/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Wolox/tech-guides","description":"Guides and standards for the techs we love using at Wolox","fork":false,"url":"https://api.github.com/repos/Wolox/tech-guides","forks_url":"https://api.github.com/repos/Wolox/tech-guides/forks","keys_url":"https://api.github.com/repos/Wolox/tech-guides/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wolox/tech-guides/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wolox/tech-guides/teams","hooks_url":"https://api.github.com/repos/Wolox/tech-guides/hooks","issue_events_url":"https://api.github.com/repos/Wolox/tech-guides/issues/events{/number}","events_url":"https://api.github.com/repos/Wolox/tech-guides/events","assignees_url":"https://api.github.com/repos/Wolox/tech-guides/assignees{/user}","branches_url":"https://api.github.com/repos/Wolox/tech-guides/branches{/branch}","tags_url":"https://api.github.com/repos/Wolox/tech-guides/tags","blobs_url":"https://api.github.com/repos/Wolox/tech-guides/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wolox/tech-guides/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wolox/tech-guides/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wolox/tech-guides/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wolox/tech-guides/statuses/{sha}","languages_url":"https://api.github.com/repos/Wolox/tech-guides/languages","stargazers_url":"https://api.github.com/repos/Wolox/tech-guides/stargazers","contributors_url":"https://api.github.com/repos/Wolox/tech-guides/contributors","subscribers_url":"https://api.github.com/repos/Wolox/tech-guides/subscribers","subscription_url":"https://api.github.com/repos/Wolox/tech-guides/subscription","commits_url":"https://api.github.com/repos/Wolox/tech-guides/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wolox/tech-guides/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wolox/tech-guides/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wolox/tech-guides/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wolox/tech-guides/contents/{+path}","compare_url":"https://api.github.com/repos/Wolox/tech-guides/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wolox/tech-guides/merges","archive_url":"https://api.github.com/repos/Wolox/tech-guides/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wolox/tech-guides/downloads","issues_url":"https://api.github.com/repos/Wolox/tech-guides/issues{/number}","pulls_url":"https://api.github.com/repos/Wolox/tech-guides/pulls{/number}","milestones_url":"https://api.github.com/repos/Wolox/tech-guides/milestones{/number}","notifications_url":"https://api.github.com/repos/Wolox/tech-guides/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wolox/tech-guides/labels{/name}","releases_url":"https://api.github.com/repos/Wolox/tech-guides/releases{/id}","deployments_url":"https://api.github.com/repos/Wolox/tech-guides/deployments","created_at":"2016-04-06T14:19:25Z","updated_at":"2019-09-27T20:25:16Z","pushed_at":"2019-09-27T20:32:43Z","git_url":"git://github.com/Wolox/tech-guides.git","ssh_url":"git@github.com:Wolox/tech-guides.git","clone_url":"https://github.com/Wolox/tech-guides.git","svn_url":"https://github.com/Wolox/tech-guides","homepage":"https://www.wolox.co","size":53091,"stargazers_count":53,"watchers_count":53,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":31,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":20,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":31,"open_issues":20,"watchers":53,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Wolox/tech-guides/pulls/183"},"html":{"href":"https://github.com/Wolox/tech-guides/pull/183"},"issue":{"href":"https://api.github.com/repos/Wolox/tech-guides/issues/183"},"comments":{"href":"https://api.github.com/repos/Wolox/tech-guides/issues/183/comments"},"review_comments":{"href":"https://api.github.com/repos/Wolox/tech-guides/pulls/183/comments"},"review_comment":{"href":"https://api.github.com/repos/Wolox/tech-guides/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Wolox/tech-guides/pulls/183/commits"},"statuses":{"href":"https://api.github.com/repos/Wolox/tech-guides/statuses/60964a57a2a5435105cfef9aa9e8ceeb8abe48a8"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"damfinkel"}}