Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Extract project join status from project-card component into a separate component

Open
#1,181 0 comments 0 reactions 1 assignee View on GitHub

@daveconnis is already working on this.

Since Oct 18, 2017.

Assessment

This issue has not been assessed yet.

Description

Difficulty: Easy Skill: ember-cli-page-object Skill: Ember.js Skill: JavaScript Skill: Testing

Problem

The logic for the project status/join button in the project card template is highly complex. We could simplify it by extracting a part.

The following code:

{{#if currentProjectMembership.isLoaded}}
  {{#if (eq currentProjectMembership.role 'pending')}}
    <button class="clear small" disabled>Request sent</button>
  {{else}}
    <button class="clear small" disabled>Member</button>
  {{/if}}
{{/if}}

{{#unless currentProjectMembership}}
  {{project-join-modal project=project skills=projectSkills}}
{{/unless}}

should be replaced with the equivalent of:

{{#if currentProjectMembership}}
  {{membership-status membership=currentProjectMembership}}
{{else}}
  {{project-join-modal project=project skills=projectSkills}}
{{/if}}

Subtasks

  • Implement component
  • Write integration tests for component
    • If current project membership is loading, it renders nothing
    • If current project membership is loaded and role is pending, it renders the "Request sent" button
    • If current project membership is loaded and role is something else, it renders the "Member" button
    • [ ] A page-object should be written for these tests
  • Replace code with component
  • Add integration tests for project card component
    • If there is a current project membership, it renders the project-membership-subcomponent
    • If there is no current project membership, it renders the project-join-modal subcomponent
    • The project-card page object will need to be expanded with two new properties for this
Dominant language
JavaScript
Stars
120
Forks
75
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from code-corps/code-corps-ember

All issues in code-corps/code-corps-ember

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.