Skip to content

refactor: new join steps, social steps to use username, dribbble and replace company with college#1159

Open
MayankBansal12 wants to merge 4 commits into
developfrom
refactor/application
Open

refactor: new join steps, social steps to use username, dribbble and replace company with college#1159
MayankBansal12 wants to merge 4 commits into
developfrom
refactor/application

Conversation

@MayankBansal12

@MayankBansal12 MayankBansal12 commented Mar 17, 2026

Copy link
Copy Markdown
Member

Date: 18-03-26

Developer Name: @MayankBansal12


Issue Ticket Number:-

Description:

  • Refactor new join step four to extract username from profile link and use social prefix
  • Replace dribble with dribbble to stay consistent with original brand name
  • Sort feedback history to show latest feedback in application detail page
  • Use college instead of company in new join step two heading
  • Replace hardcoded welcome message with "github" to use "socials"

Is Under Feature Flag

  • Yes
  • No

Database changes

  • Yes
  • No

Breaking changes (If your feature is breaking/missing something please mention pending tickets)

  • Yes
  • No

Is Development Tested?

  • Yes
  • No

Tested in staging?

  • Yes
  • No

Add relevant Screenshot below ( e.g test coverage etc. )

screencast
create-demo.mp4
image

@coderabbitai

coderabbitai Bot commented Mar 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 55be9280-bcd3-445b-81fd-bf28dbe70087

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

This PR fixes the "dribble" → "dribbble" typo across form mappings, constants, and components. It refactors social input fields in NewStepFour with custom HTML and username extraction helpers. It updates hardcoded URLs to fully qualified format and adds feedback history reversal logic.

Changes

Cohort / File(s) Summary
Dribbble Field Rename
app/components/new-join-steps/base-step.js, app/components/new-join-steps/new-step-four.js, app/components/new-join-steps/new-step-six.js, app/components/new-join-steps/new-step-six.hbs, app/constants/applications.js, app/constants/new-join-form.js
Systematic rename of "dribble" to "dribbble" across form data mappings, field constants, visibility getters, and template references to fix spelling inconsistency.
Social Input UI Refactor
app/components/new-join-steps/new-step-four.hbs, app/components/new-join-steps/new-step-four.js
Replaced Reusables::InputBox with custom inline HTML for social fields; added getSocialPrefix() and extractUsername() helper methods; introduced inputHandler action for normalized input processing; updated conditional visibility from showDribble to showdribbble.
Label & Text Updates
app/components/new-join-steps/new-step-two.hbs, app/components/new-join-steps/new-step-six.hbs, app/constants/new-signup.js
Updated form labels from "institution/company" to "institution/college"; changed "Not uploaded" to "Not filled" for Instagram; updated GET_STARTED_MAIN_HEADING constant text and added new THANK_YOU_SUB_HEADING export.
Signup Component Enhancements
app/components/signup-steps/step-zero.hbs, app/components/signup-steps/step-zero.js
Replaced static heading with dynamic GET_STARTED_MAIN_HEADING constant; exposed constant as public class member for template access.
Feedback History Logic
app/controllers/applications/detail.js, app/templates/applications/detail.hbs
Added feedbackHistory getter that reverses feedback array; updated hasFeedback and template iteration to use reversed history instead of original feedback array.
URL Configuration
app/constants/urls.js
Converted development environment relative paths (GOTO, EVENTS, PROFILE, IDENTITY, MY_STATUS) to fully qualified URLs using SCHEME and DOMAIN constants.
Styling & CSS
app/styles/application-detail.module.css, app/styles/input.module.css
Removed uppercase text-transform from profile role; updated social-link-pill color variable; added new CSS classes for social input UI wrapper, prefix label, and input field with focus states.
Test Updates
tests/integration/components/new-signup/info-test.js, tests/integration/components/signup-steps/step-zero-test.js
Imported and referenced GET_STARTED_MAIN_HEADING constant in test assertions instead of hard-coded string values.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • iamitprakash
  • AnujChhikara
  • Hariom01010

Poem

🐰 A typo hopped away—"dribble" now "dribbble" stands so grand,
Social inputs dressed in CSS with prefix tags so planned,
Feedback histories reversed with a flip of the queue,
URLs sprouted fully-formed, new constants grew!
This refactor's a joy, hopping through code so true! 🌟

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: refactoring join steps to extract usernames, fixing the 'dribbble' spelling, and replacing 'company' with 'college' terminology.
Description check ✅ Passed The pull request description clearly outlines all major changes: refactoring step four, fixing 'dribble' to 'dribbble' spelling, changing company to college, sorting feedback, and updating welcome messages. It directly relates to the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/application

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Mar 17, 2026

Copy link
Copy Markdown

Deploying www-rds with  Cloudflare Pages  Cloudflare Pages

Latest commit: 66077eb
Status: ✅  Deploy successful!
Preview URL: https://efa13714.www-rds.pages.dev
Branch Preview URL: https://refactor-application.www-rds.pages.dev

View logs

Comment thread app/constants/urls.js
HOME: `${SCHEME}dev.${DOMAIN}`,
WELCOME: `${SCHEME}staging-welcome.${DOMAIN}`,
GOTO: '/goto',
EVENTS: '/events',

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these are changed to fix redirection in development env (to use dev.**.com)

@MayankBansal12 MayankBansal12 changed the title refactor: new join steps and social steps to use profile username refactor: new join steps, social steps to use username, dribbble and replace company with college Mar 17, 2026
@MayankBansal12 MayankBansal12 marked this pull request as ready for review March 17, 2026 22:23

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@app/components/new-join-steps/new-step-four.hbs`:
- Around line 21-183: The template duplicates nearly identical social input
blocks; replace them with a config-driven loop that maps a list of social specs
(name, id, placeholder, required boolean, optional show flag key) and renders
one shared block using the existing helpers/handlers: this.getSocialPrefix,
this.inputHandler, this.data, and this.errorMessage. Implement a socials array
in the corresponding component/controller (each entry: key like
"twitter"/"github", required flag, optional showFlag name such as
"showGitHub"/"showBehance"/"showdribbble") and iterate in the HBS to
conditionally render based on the showFlag, binding name/id/value to data[key],
on-input to this.inputHandler, and error message to this.errorMessage[key];
preserve existing classes, required attributes, and prefix behavior so behavior
remains identical.

In `@app/components/new-join-steps/new-step-four.js`:
- Around line 71-86: extractUsername currently returns the first pathname
segment which yields "in" for LinkedIn (/in/username) and other platforms with
prefix segments; update extractUsername (and its use of socialFields) to return
the last meaningful segment when parsing URLs (e.g., use the final non-empty
segment from url.pathname.split('/').filter(Boolean)), and add a small
platform-specific override for cases like linkedin (if field === 'linkedin' &&
segments[0] === 'in' then return segments[1] ?? trimmedValue) so that username
extraction returns the actual username rather than a prefix.
- Around line 61-63: Rename the inconsistent getter showdribbble to showDribbble
to match camelCase used by showGitHub and showBehance; update the getter name in
the class (get showDribbble()) and change any template or component references
that read showdribbble to the new showDribbble identifier so usages remain
correct.

In `@app/components/new-join-steps/new-step-six.js`:
- Around line 46-48: Rename the getter showdribbble to showDribbble to follow
camelCase and match other getters like showGitHub and showBehance; update any
template or component references that bind to showdribbble (e.g., in the
template or JSX where it's used) to use showDribbble so usages remain
consistent, and ensure the same rename was applied in new-step-four.js if that
file was changed previously to avoid mismatches at runtime.

In `@app/components/new-join-steps/new-step-two.hbs`:
- Around line 29-31: The two label strings are inconsistent: the `@field`
attribute uses "Your institution/College" while the `@placeHolder` uses
"Institution or college name"; update these strings for consistent
capitalization (either make both "College" or both "college") by editing the
`@field` value ("Your institution/College") and the `@placeHolder` value
("Institution or college name") in the new-step-two component so the UI text
matches uniformly.

In `@app/constants/new-join-form.js`:
- Line 44: NEW_STEP_LIMITS.stepOne defines imageUrl: { min: 1 } but
new-step-one.js omits imageUrl from stepValidation so isDataValid() never
enforces the required-image rule; either add imageUrl to the stepValidation
object in new-step-one.js so the isDataValid() flow validates it, or remove
imageUrl from NEW_STEP_LIMITS.stepOne if file validation should remain only in
handleImageSelect(); update references to imageUrl, NEW_STEP_LIMITS.stepOne,
stepValidation, isDataValid(), and handleImageSelect() accordingly so the chosen
approach is consistently enforced.

In `@app/styles/application-detail.module.css`:
- Line 129: The CSS uses an undefined variable --color-lightgray causing
transparent backgrounds; update the selectors that reference it (notably
.social-link-pill and .feedback-header) to use the existing variable name
--color-lightgrey (or --color-light-gray if you prefer the hyphenated variant)
so the background resolves correctly; search for all occurrences of
--color-lightgray and replace them with the chosen defined variable
(--color-lightgrey) to keep naming consistent across the stylesheet.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 8317c6be-3c35-4b39-a45a-4eacb573d311

📥 Commits

Reviewing files that changed from the base of the PR and between 7c91d6f and 0dbf1b5.

📒 Files selected for processing (18)
  • app/components/new-join-steps/base-step.js
  • app/components/new-join-steps/new-step-four.hbs
  • app/components/new-join-steps/new-step-four.js
  • app/components/new-join-steps/new-step-six.hbs
  • app/components/new-join-steps/new-step-six.js
  • app/components/new-join-steps/new-step-two.hbs
  • app/components/signup-steps/step-zero.hbs
  • app/components/signup-steps/step-zero.js
  • app/constants/applications.js
  • app/constants/new-join-form.js
  • app/constants/new-signup.js
  • app/constants/urls.js
  • app/controllers/applications/detail.js
  • app/styles/application-detail.module.css
  • app/styles/input.module.css
  • app/templates/applications/detail.hbs
  • tests/integration/components/new-signup/info-test.js
  • tests/integration/components/signup-steps/step-zero-test.js

Comment thread app/components/new-join-steps/new-step-four.hbs Outdated
Comment thread app/components/new-join-steps/new-step-four.js Outdated
Comment thread app/components/new-join-steps/new-step-four.js
Comment thread app/components/new-join-steps/new-step-six.js Outdated
Comment thread app/components/new-join-steps/new-step-two.hbs Outdated
Comment thread app/constants/new-join-form.js
Comment thread app/styles/application-detail.module.css Outdated
Comment on lines +22 to +23
{{#if (or (not social.showFlag) (get this social.showFlag))}}
<div class="input-box input--full-width">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is this check for?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to check if social Fields needs to be shown as per roles (eg: dribbble, behance only for designer, github only for developer)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants