{"action":"created","comment":{"url":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/comments/193992743","pull_request_review_id":127080924,"id":193992743,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5Mzk5Mjc0Mw==","diff_hunk":"@@ -1,7 +1,6 @@\n <template>\n-  <section>\n-    <h3 class=\"title\"><i18n>Support History</i18n></h3>\n-    <p v-if=\"history.length === 0\">Your group is still in its first month.</p>\n+  <dashboard-section title=\"Support History\">","path":"frontend/simple/views/components/Graphs/SupportHistory.vue","position":5,"original_position":5,"commit_id":"1035fe59821e318d274e668deeb6c8ec98ca0a43","original_commit_id":"817aa3a2cc40c974bca5e3417952f881da284c99","user":{"login":"hubudibu","id":1003523,"node_id":"MDQ6VXNlcjEwMDM1MjM=","avatar_url":"https://avatars0.githubusercontent.com/u/1003523?v=4","gravatar_id":"","url":"https://api.github.com/users/hubudibu","html_url":"https://github.com/hubudibu","followers_url":"https://api.github.com/users/hubudibu/followers","following_url":"https://api.github.com/users/hubudibu/following{/other_user}","gists_url":"https://api.github.com/users/hubudibu/gists{/gist_id}","starred_url":"https://api.github.com/users/hubudibu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hubudibu/subscriptions","organizations_url":"https://api.github.com/users/hubudibu/orgs","repos_url":"https://api.github.com/users/hubudibu/repos","events_url":"https://api.github.com/users/hubudibu/events{/privacy}","received_events_url":"https://api.github.com/users/hubudibu/received_events","type":"User","site_admin":false},"body":"yes! exactly! this way we can reuse these components elsewhere, outside of the dashboard too","created_at":"2018-06-08T08:52:22Z","updated_at":"2018-06-08T08:52:22Z","html_url":"https://github.com/okTurtles/group-income-simple/pull/415#discussion_r193992743","pull_request_url":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/415","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/comments/193992743"},"html":{"href":"https://github.com/okTurtles/group-income-simple/pull/415#discussion_r193992743"},"pull_request":{"href":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/415"}},"in_reply_to_id":192767843},"pull_request":{"url":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/415","id":190808565,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkwODA4NTY1","html_url":"https://github.com/okTurtles/group-income-simple/pull/415","diff_url":"https://github.com/okTurtles/group-income-simple/pull/415.diff","patch_url":"https://github.com/okTurtles/group-income-simple/pull/415.patch","issue_url":"https://api.github.com/repos/okTurtles/group-income-simple/issues/415","number":415,"state":"open","locked":false,"title":"#343 Implement Voting component","user":{"login":"sandrina-p","id":14869087,"node_id":"MDQ6VXNlcjE0ODY5MDg3","avatar_url":"https://avatars1.githubusercontent.com/u/14869087?v=4","gravatar_id":"","url":"https://api.github.com/users/sandrina-p","html_url":"https://github.com/sandrina-p","followers_url":"https://api.github.com/users/sandrina-p/followers","following_url":"https://api.github.com/users/sandrina-p/following{/other_user}","gists_url":"https://api.github.com/users/sandrina-p/gists{/gist_id}","starred_url":"https://api.github.com/users/sandrina-p/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandrina-p/subscriptions","organizations_url":"https://api.github.com/users/sandrina-p/orgs","repos_url":"https://api.github.com/users/sandrina-p/repos","events_url":"https://api.github.com/users/sandrina-p/events{/privacy}","received_events_url":"https://api.github.com/users/sandrina-p/received_events","type":"User","site_admin":false},"body":"Related #343 - Implement of Voting component.\r\n\r\nFollowing @hubudibu recommendation of _\"separate the votingbanner to a connected container and a pure presentational component\"_, and to avoid Merge conflicts, I've created based on `VotingBanner.vue` container, a full presentational component `Voting.vue`, as children of `Proposals.vue`. That container has `data.mockProposals`, just to make things easy for me to quickly build/switch/test the layout as I was building.\r\n\r\n### `Voting.vue` props\r\nI idealized `Voting.vue` with a single prop `proposal` as an object with ready-to-use data to feed the component,  so it doesn't need to handle too much app logic, only view logic. Still, it's easier said than done, so any suggestion to what data should the component have or not, I'm sure you guys know it better! So far, my idealization is this:\r\n\r\n```js\r\n{\r\n  type: 'member', // or 'rule' or 'mincome'\r\n  member: { // if it's a member\r\n    picture: 'images/default-avatar.png',\r\n    name: 'Gil'\r\n  },\r\n  // value: '$150', // shown if type it's a rule or mincome\r\n  title: 'Remove Member',\r\n  initiator: 'Sam', // if `text` was a full sentence, this wasn't needed\r\n  text: 'remove Gil from the group.', // maybe it should be v-html with full sentence\r\n  ctas: { // call to actions\r\n    for: 'Yes, remove',\r\n    against: 'Keep Gil'\r\n  },\r\n  members: 7, // total of members available to vote, (in this case, there are 8 members)\r\n  votes: 4, // include the user vote, if available.\r\n  userVote: null, // didn't vote. and `true` or `false` means the user voted for or against.\r\n  ownProposal: true // was created by the user\r\n},\r\n```\r\n\r\n## Active Proposals scenarios\r\n\r\n`Active Proposals` is divided into 3 blocks in this order:\r\n- Proposals user didn't vote! (always visible)\r\n  - At the top there is a banner to catch user's attention. Still exploring color and copy.\r\n\r\n- Proposals the user created (always visible)\r\n  - All the logic of Closing a Proposal and the countdown, was isolated to `ButtonCountdown.vue`. This took me a lot of time to make it agnostic. I believe we can reuse it in other future places. Please go and try it! There's an easter egg there :D\r\n\r\n- Proposals user already voted (hidden by default)\r\n\r\n![image](https://user-images.githubusercontent.com/14869087/40590740-e7e9d372-61fb-11e8-8f84-75f1d8a34893.png)\r\n\r\nAfter clicking _\"Show 2 voted proposals\"_\r\n\r\n![image](https://user-images.githubusercontent.com/14869087/40590747-07006460-61fc-11e8-9fcc-5ae1dba5fafb.png)\r\n\r\n### Some notes on the way:\r\n- That little circle around rule percentage was made with SVG similar to what was done at #282. I'm already thinking of ways to use the same strategy to solve #409\r\n- [x] When all proposals are already voted, ATM it shows only a link \"Show X voted proposals\". I'll improve that scenario in this MR. (Done)\r\n- [x] It's missing a detailed explanation of rule changing \"Instead of 6, now at least 5 of 7 members need to approve a new member.\" (Done)\r\n\r\n---\r\n\r\n## Scout Rule ⚡️\r\n- Some linter errors were fixed on the way.\r\n  - I'm sorry but github is not able to simplify removed/added spaces diff and instead show up a lot of files being changed 😞 Actually I have a question. Should the code immediately inside `<style>` and `<script>` be indented or not?\r\n\r\n```js\r\n// yes, indent it\r\n<style>\r\n  .foo {\r\n    color: red;\r\n  }\r\n</style>\r\n<script>\r\n  import template from 'string-template'\r\n\r\n  export default {\r\n    name: 'Foo',\r\n  }\r\n</script>\r\n\r\n// no, keep children on the same line\r\n<style>\r\n.foo {\r\n  color: red;\r\n}\r\n</style>\r\n<script>\r\nimport template from 'string-template'\r\n\r\nexport default {\r\n  name: 'Foo',\r\n}\r\n</script>\r\n```\r\nI've seen both ways and I would like to know what's the rule, since linter allow both options :x\r\n\r\n- So far we have a pattern on `GroupDashboard`. All sections have the same header/title with the same margin between them, so I've created `DashboardSection.vue` so we DRY that logic.\r\n\r\n- I've tweaks `buttons.scss` a little. Every change is documented because telepathy is not a reality.\r\n\r\n---\r\n\r\nLast but not least, let me say this task made me learn a lot about Vue! When to use `data` vs `methods` vs `computed`, as well `bindings` and `slots`. At the end of the day the core concepts are very similar to `React`, so it's all awesome 😎\r\n\r\nSo far, that's it guys, what do you think?\r\n","created_at":"2018-05-27T21:51:20Z","updated_at":"2018-06-08T08:52:22Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bd3778adf34075e77cef4fd1f037a4c697808a29","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/415/commits","review_comments_url":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/415/comments","review_comment_url":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/comments{/number}","comments_url":"https://api.github.com/repos/okTurtles/group-income-simple/issues/415/comments","statuses_url":"https://api.github.com/repos/okTurtles/group-income-simple/statuses/1035fe59821e318d274e668deeb6c8ec98ca0a43","head":{"label":"sandrina-p:feat/343-implement-voting-component","ref":"feat/343-implement-voting-component","sha":"1035fe59821e318d274e668deeb6c8ec98ca0a43","user":{"login":"sandrina-p","id":14869087,"node_id":"MDQ6VXNlcjE0ODY5MDg3","avatar_url":"https://avatars1.githubusercontent.com/u/14869087?v=4","gravatar_id":"","url":"https://api.github.com/users/sandrina-p","html_url":"https://github.com/sandrina-p","followers_url":"https://api.github.com/users/sandrina-p/followers","following_url":"https://api.github.com/users/sandrina-p/following{/other_user}","gists_url":"https://api.github.com/users/sandrina-p/gists{/gist_id}","starred_url":"https://api.github.com/users/sandrina-p/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandrina-p/subscriptions","organizations_url":"https://api.github.com/users/sandrina-p/orgs","repos_url":"https://api.github.com/users/sandrina-p/repos","events_url":"https://api.github.com/users/sandrina-p/events{/privacy}","received_events_url":"https://api.github.com/users/sandrina-p/received_events","type":"User","site_admin":false},"repo":{"id":127050741,"node_id":"MDEwOlJlcG9zaXRvcnkxMjcwNTA3NDE=","name":"group-income-simple","full_name":"sandrina-p/group-income-simple","owner":{"login":"sandrina-p","id":14869087,"node_id":"MDQ6VXNlcjE0ODY5MDg3","avatar_url":"https://avatars1.githubusercontent.com/u/14869087?v=4","gravatar_id":"","url":"https://api.github.com/users/sandrina-p","html_url":"https://github.com/sandrina-p","followers_url":"https://api.github.com/users/sandrina-p/followers","following_url":"https://api.github.com/users/sandrina-p/following{/other_user}","gists_url":"https://api.github.com/users/sandrina-p/gists{/gist_id}","starred_url":"https://api.github.com/users/sandrina-p/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandrina-p/subscriptions","organizations_url":"https://api.github.com/users/sandrina-p/orgs","repos_url":"https://api.github.com/users/sandrina-p/repos","events_url":"https://api.github.com/users/sandrina-p/events{/privacy}","received_events_url":"https://api.github.com/users/sandrina-p/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sandrina-p/group-income-simple","description":"Semi-centralized version of Group Income for prototyping and research","fork":true,"url":"https://api.github.com/repos/sandrina-p/group-income-simple","forks_url":"https://api.github.com/repos/sandrina-p/group-income-simple/forks","keys_url":"https://api.github.com/repos/sandrina-p/group-income-simple/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sandrina-p/group-income-simple/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sandrina-p/group-income-simple/teams","hooks_url":"https://api.github.com/repos/sandrina-p/group-income-simple/hooks","issue_events_url":"https://api.github.com/repos/sandrina-p/group-income-simple/issues/events{/number}","events_url":"https://api.github.com/repos/sandrina-p/group-income-simple/events","assignees_url":"https://api.github.com/repos/sandrina-p/group-income-simple/assignees{/user}","branches_url":"https://api.github.com/repos/sandrina-p/group-income-simple/branches{/branch}","tags_url":"https://api.github.com/repos/sandrina-p/group-income-simple/tags","blobs_url":"https://api.github.com/repos/sandrina-p/group-income-simple/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sandrina-p/group-income-simple/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sandrina-p/group-income-simple/git/refs{/sha}","trees_url":"https://api.github.com/repos/sandrina-p/group-income-simple/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sandrina-p/group-income-simple/statuses/{sha}","languages_url":"https://api.github.com/repos/sandrina-p/group-income-simple/languages","stargazers_url":"https://api.github.com/repos/sandrina-p/group-income-simple/stargazers","contributors_url":"https://api.github.com/repos/sandrina-p/group-income-simple/contributors","subscribers_url":"https://api.github.com/repos/sandrina-p/group-income-simple/subscribers","subscription_url":"https://api.github.com/repos/sandrina-p/group-income-simple/subscription","commits_url":"https://api.github.com/repos/sandrina-p/group-income-simple/commits{/sha}","git_commits_url":"https://api.github.com/repos/sandrina-p/group-income-simple/git/commits{/sha}","comments_url":"https://api.github.com/repos/sandrina-p/group-income-simple/comments{/number}","issue_comment_url":"https://api.github.com/repos/sandrina-p/group-income-simple/issues/comments{/number}","contents_url":"https://api.github.com/repos/sandrina-p/group-income-simple/contents/{+path}","compare_url":"https://api.github.com/repos/sandrina-p/group-income-simple/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sandrina-p/group-income-simple/merges","archive_url":"https://api.github.com/repos/sandrina-p/group-income-simple/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sandrina-p/group-income-simple/downloads","issues_url":"https://api.github.com/repos/sandrina-p/group-income-simple/issues{/number}","pulls_url":"https://api.github.com/repos/sandrina-p/group-income-simple/pulls{/number}","milestones_url":"https://api.github.com/repos/sandrina-p/group-income-simple/milestones{/number}","notifications_url":"https://api.github.com/repos/sandrina-p/group-income-simple/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sandrina-p/group-income-simple/labels{/name}","releases_url":"https://api.github.com/repos/sandrina-p/group-income-simple/releases{/id}","deployments_url":"https://api.github.com/repos/sandrina-p/group-income-simple/deployments","created_at":"2018-03-27T22:01:44Z","updated_at":"2018-05-15T19:02:54Z","pushed_at":"2018-06-06T19:56:36Z","git_url":"git://github.com/sandrina-p/group-income-simple.git","ssh_url":"git@github.com:sandrina-p/group-income-simple.git","clone_url":"https://github.com/sandrina-p/group-income-simple.git","svn_url":"https://github.com/sandrina-p/group-income-simple","homepage":"https://groupincome.org","size":4177,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"okTurtles:master","ref":"master","sha":"e9969e265127eeeaf6c75dc6e7acd027dca3c596","user":{"login":"okTurtles","id":6006150,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDYxNTA=","avatar_url":"https://avatars0.githubusercontent.com/u/6006150?v=4","gravatar_id":"","url":"https://api.github.com/users/okTurtles","html_url":"https://github.com/okTurtles","followers_url":"https://api.github.com/users/okTurtles/followers","following_url":"https://api.github.com/users/okTurtles/following{/other_user}","gists_url":"https://api.github.com/users/okTurtles/gists{/gist_id}","starred_url":"https://api.github.com/users/okTurtles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okTurtles/subscriptions","organizations_url":"https://api.github.com/users/okTurtles/orgs","repos_url":"https://api.github.com/users/okTurtles/repos","events_url":"https://api.github.com/users/okTurtles/events{/privacy}","received_events_url":"https://api.github.com/users/okTurtles/received_events","type":"Organization","site_admin":false},"repo":{"id":54685234,"node_id":"MDEwOlJlcG9zaXRvcnk1NDY4NTIzNA==","name":"group-income-simple","full_name":"okTurtles/group-income-simple","owner":{"login":"okTurtles","id":6006150,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDYxNTA=","avatar_url":"https://avatars0.githubusercontent.com/u/6006150?v=4","gravatar_id":"","url":"https://api.github.com/users/okTurtles","html_url":"https://github.com/okTurtles","followers_url":"https://api.github.com/users/okTurtles/followers","following_url":"https://api.github.com/users/okTurtles/following{/other_user}","gists_url":"https://api.github.com/users/okTurtles/gists{/gist_id}","starred_url":"https://api.github.com/users/okTurtles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okTurtles/subscriptions","organizations_url":"https://api.github.com/users/okTurtles/orgs","repos_url":"https://api.github.com/users/okTurtles/repos","events_url":"https://api.github.com/users/okTurtles/events{/privacy}","received_events_url":"https://api.github.com/users/okTurtles/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/okTurtles/group-income-simple","description":"Semi-centralized version of Group Income for prototyping and research","fork":false,"url":"https://api.github.com/repos/okTurtles/group-income-simple","forks_url":"https://api.github.com/repos/okTurtles/group-income-simple/forks","keys_url":"https://api.github.com/repos/okTurtles/group-income-simple/keys{/key_id}","collaborators_url":"https://api.github.com/repos/okTurtles/group-income-simple/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/okTurtles/group-income-simple/teams","hooks_url":"https://api.github.com/repos/okTurtles/group-income-simple/hooks","issue_events_url":"https://api.github.com/repos/okTurtles/group-income-simple/issues/events{/number}","events_url":"https://api.github.com/repos/okTurtles/group-income-simple/events","assignees_url":"https://api.github.com/repos/okTurtles/group-income-simple/assignees{/user}","branches_url":"https://api.github.com/repos/okTurtles/group-income-simple/branches{/branch}","tags_url":"https://api.github.com/repos/okTurtles/group-income-simple/tags","blobs_url":"https://api.github.com/repos/okTurtles/group-income-simple/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/okTurtles/group-income-simple/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/okTurtles/group-income-simple/git/refs{/sha}","trees_url":"https://api.github.com/repos/okTurtles/group-income-simple/git/trees{/sha}","statuses_url":"https://api.github.com/repos/okTurtles/group-income-simple/statuses/{sha}","languages_url":"https://api.github.com/repos/okTurtles/group-income-simple/languages","stargazers_url":"https://api.github.com/repos/okTurtles/group-income-simple/stargazers","contributors_url":"https://api.github.com/repos/okTurtles/group-income-simple/contributors","subscribers_url":"https://api.github.com/repos/okTurtles/group-income-simple/subscribers","subscription_url":"https://api.github.com/repos/okTurtles/group-income-simple/subscription","commits_url":"https://api.github.com/repos/okTurtles/group-income-simple/commits{/sha}","git_commits_url":"https://api.github.com/repos/okTurtles/group-income-simple/git/commits{/sha}","comments_url":"https://api.github.com/repos/okTurtles/group-income-simple/comments{/number}","issue_comment_url":"https://api.github.com/repos/okTurtles/group-income-simple/issues/comments{/number}","contents_url":"https://api.github.com/repos/okTurtles/group-income-simple/contents/{+path}","compare_url":"https://api.github.com/repos/okTurtles/group-income-simple/compare/{base}...{head}","merges_url":"https://api.github.com/repos/okTurtles/group-income-simple/merges","archive_url":"https://api.github.com/repos/okTurtles/group-income-simple/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/okTurtles/group-income-simple/downloads","issues_url":"https://api.github.com/repos/okTurtles/group-income-simple/issues{/number}","pulls_url":"https://api.github.com/repos/okTurtles/group-income-simple/pulls{/number}","milestones_url":"https://api.github.com/repos/okTurtles/group-income-simple/milestones{/number}","notifications_url":"https://api.github.com/repos/okTurtles/group-income-simple/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/okTurtles/group-income-simple/labels{/name}","releases_url":"https://api.github.com/repos/okTurtles/group-income-simple/releases{/id}","deployments_url":"https://api.github.com/repos/okTurtles/group-income-simple/deployments","created_at":"2016-03-25T01:22:51Z","updated_at":"2018-06-01T22:30:52Z","pushed_at":"2018-06-06T19:56:38Z","git_url":"git://github.com/okTurtles/group-income-simple.git","ssh_url":"git@github.com:okTurtles/group-income-simple.git","clone_url":"https://github.com/okTurtles/group-income-simple.git","svn_url":"https://github.com/okTurtles/group-income-simple","homepage":"https://groupincome.org","size":4095,"stargazers_count":288,"watchers_count":288,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":31,"mirror_url":null,"archived":false,"open_issues_count":126,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":31,"open_issues":126,"watchers":288,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/415"},"html":{"href":"https://github.com/okTurtles/group-income-simple/pull/415"},"issue":{"href":"https://api.github.com/repos/okTurtles/group-income-simple/issues/415"},"comments":{"href":"https://api.github.com/repos/okTurtles/group-income-simple/issues/415/comments"},"review_comments":{"href":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/415/comments"},"review_comment":{"href":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/okTurtles/group-income-simple/pulls/415/commits"},"statuses":{"href":"https://api.github.com/repos/okTurtles/group-income-simple/statuses/1035fe59821e318d274e668deeb6c8ec98ca0a43"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"hubudibu"}}