Skip to content

[OSDEV-2125] Revised Dromo Button Text and Introduced Lead-In Description#707

Merged
roman-stolar merged 5 commits intomainfrom
OSDEV-2125-dromo-lead-copy-update
Jul 31, 2025
Merged

[OSDEV-2125] Revised Dromo Button Text and Introduced Lead-In Description#707
roman-stolar merged 5 commits intomainfrom
OSDEV-2125-dromo-lead-copy-update

Conversation

@roman-stolar
Copy link
Contributor

@roman-stolar roman-stolar commented Jul 31, 2025

OSDEV-2125 Revised Dromo Button Text and Introduced Lead-In Description

  • Changed the copy on the Dromo Self Service button
  • Included lead-in copy above the Dromo Self Service button stating

@roman-stolar roman-stolar self-assigned this Jul 31, 2025
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:07 — with GitHub Actions Inactive
@coderabbitai
Copy link

coderabbitai bot commented Jul 31, 2025

📝 Walkthrough

Walkthrough

This change updates the release notes to document a new copy change for the Dromo Self Service button, modifies the button label to "SMART UPLOAD (BETA)", adds a promotional paragraph for the smart upload assistant (beta) in the contribute form, and updates the pricing path constant used for navigation.

Changes

Cohort / File(s) Change Summary
Release Notes Update
doc/release/RELEASE-NOTES.md
Added an entry for version 2.10.0 describing copy changes to the Dromo Self Service button, referencing ticket OSDEV-2125.
Contribute Form Smart Upload Promo
src/react/src/components/ContributeForm.jsx
Added a conditional informational paragraph promoting the "smart upload assistant (beta)" feature, shown when the relevant feature flag is enabled.
Self Service Dromo Button Label
src/react/src/components/SelfServiceDromoUploader.jsx
Changed button text from "Beta Self Service Upload" to "SMART UPLOAD (BETA)".
Pricing Path Constant Update
src/react/src/util/constants.jsx
Changed InfoPaths.pricing from 'open-supply-hub-pricing' to 'pricing'.
SelfServiceDromoUploader Tests Update
src/react/src/__tests__/components/SelfServiceDromoUploader.test.jsx
Updated test assertions and event triggers to reflect the new button label "SMART UPLOAD (BETA)" instead of the old label.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant ContributeForm
  participant SelfServiceDromoUploader

  User->>ContributeForm: Visit contribute form
  ContributeForm->>ContributeForm: Check ENABLE_DROMO_UPLOADING flag
  alt Flag enabled
    ContributeForm->>User: Show smart upload assistant promo paragraph
    ContributeForm->>SelfServiceDromoUploader: Render upload button ("SMART UPLOAD (BETA)")
  else Flag disabled
    ContributeForm->>User: Do not show promo or button
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~6 minutes

Possibly related PRs

Suggested reviewers

  • mazursasha1990
  • vladsha-dev

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d4aca23 and 3b12547.

📒 Files selected for processing (1)
  • doc/release/RELEASE-NOTES.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • doc/release/RELEASE-NOTES.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: run-countries-code-quality
  • GitHub Check: run-integration-test-code-quality
  • GitHub Check: run-dd-code-quality
  • GitHub Check: get-base-branch-countries-cov
  • GitHub Check: get-base-branch-dd-cov
  • GitHub Check: run-eslint-linter-and-prettier-formatter
  • GitHub Check: run-flake8-linter
  • GitHub Check: get-base-branch-contricleaner-cov
  • GitHub Check: run-contricleaner-code-quality
  • GitHub Check: run-fe-code-quality
  • GitHub Check: get-base-branch-fe-cov
  • GitHub Check: get-base-branch-django-cov
  • GitHub Check: run-django-code-quality
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch OSDEV-2125-dromo-lead-copy-update

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
doc/release/RELEASE-NOTES.md (1)

38-39: Sentence ends abruptly – please finish the thought

The bullet stops at “stating.”, leaving readers wondering what the lead-in states. Tighten the copy to convey the actual change.

-* [OSDEV-2125](https://opensupplyhub.atlassian.net/browse/OSDEV-2125) - Changed the copy on the Dromo Self Service button. Include lead-in copy above the Dromo Self Service button stating.
+* [OSDEV-2125](https://opensupplyhub.atlassian.net/browse/OSDEV-2125) - Revised the Dromo Self-Service button label to “SMART UPLOAD (BETA)” and added a lead-in description above the button to introduce the feature.
src/react/src/components/ContributeForm.jsx (1)

149-159: Favor semantic tags & extract inline style to shared contributeFormStyles

Using <b> for emphasis is purely visual and doesn’t convey meaning to assistive tech; <strong> is the semantic equivalent.
Also, the inline fontSize duplicates the existing style pattern—collect these styles in contributeFormStyles for consistency and easier future tweaks.

Diff for current hunk:

-                    <p
-                        style={{
-                            fontSize: '16px',
-                        }}
-                    >
-                        <b>New!</b> Try our <b>smart upload</b> assistant (beta)
+                    <p style={contributeFormStyles.leadInText}>
+                        <strong>New!</strong> Try our <strong>smart upload</strong> assistant&nbsp;(beta)
                     that checks your file for formatting issues and helps
                     fix errors before submission
                     </p>

Supporting change (outside this snippet) – add a shared style rule near the other constants:

 const contributeFormStyles = Object.freeze({
@@
     inline: Object.freeze({
         display: 'inline-block',
     }),
+    leadInText: Object.freeze({
+        fontSize: '16px',
+    }),
 });
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 50c9d46 and 81aade2.

📒 Files selected for processing (4)
  • doc/release/RELEASE-NOTES.md (1 hunks)
  • src/react/src/components/ContributeForm.jsx (1 hunks)
  • src/react/src/components/SelfServiceDromoUploader.jsx (1 hunks)
  • src/react/src/util/constants.jsx (1 hunks)
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
src/react/src/components/SelfServiceDromoUploader.jsx (5)

Learnt from: VadimKovalenkoSNF
PR: #436
File: src/react/src/components/ProductionLocationDialog.jsx:255-257
Timestamp: 2024-12-03T06:52:22.170Z
Learning: In src/react/src/components/ProductionLocationDialog.jsx, the 'Submit another Location' button's onClick handler logs to the console as the endpoint is not yet implemented on the frontend.

Learnt from: Innavin369
PR: #437
File: src/react/src/components/Filters/StyledSelect.jsx:31-39
Timestamp: 2024-12-05T10:43:59.922Z
Learning: In the StyledSelect component (src/react/src/components/Filters/StyledSelect.jsx), the label prop is optional. The InputLabel should be conditionally rendered only when a label is provided to prevent unnecessary DOM elements, extra padding, and browser console warnings.

Learnt from: Innavin369
PR: #415
File: src/react/src/components/ContributeForm.jsx:175-206
Timestamp: 2024-11-20T23:08:05.475Z
Learning: In the ContributeForm.jsx React component, it's acceptable to include an empty onClick={() => {}} handler on a disabled <Button> to prevent console warnings.

Learnt from: VadimKovalenkoSNF
PR: #436
File: src/react/src/components/Contribute/ProductionLocationDialog.jsx:33-181
Timestamp: 2024-12-10T07:09:35.641Z
Learning: In the ProductionLocationDialog.jsx component, hardcoded facility data is acceptable for now as per the project's requirements.

Learnt from: Innavin369
PR: #415
File: src/react/src/components/Button.jsx:43-43
Timestamp: 2024-11-22T12:22:59.701Z
Learning: In the Open Supply Hub codebase, the Button component in src/react/src/components/Button.jsx is designed to have an optional onClick prop to accommodate different cases.

src/react/src/util/constants.jsx (1)

Learnt from: Innavin369
PR: #476
File: src/react/src/components/ResultsSortDropdown.jsx:60-88
Timestamp: 2025-01-09T17:22:47.297Z
Learning: In the Open Supply Hub project, the sorting functionality's page-specific behavior is controlled at the routing level (withQueryStringSync.jsx) rather than through UI state management. The ResultsSortDropdown component remains consistently rendered across pages, while the sort parameter is only maintained in the URL when on the /facilities page.

src/react/src/components/ContributeForm.jsx (3)

Learnt from: Innavin369
PR: #415
File: src/react/src/components/ContributeForm.jsx:175-206
Timestamp: 2024-11-20T23:08:05.475Z
Learning: In the ContributeForm.jsx React component, it's acceptable to include an empty onClick={() => {}} handler on a disabled <Button> to prevent console warnings.

Learnt from: VadimKovalenkoSNF
PR: #436
File: src/react/src/components/ProductionLocationDialog.jsx:255-257
Timestamp: 2024-12-03T06:52:22.170Z
Learning: In src/react/src/components/ProductionLocationDialog.jsx, the 'Submit another Location' button's onClick handler logs to the console as the endpoint is not yet implemented on the frontend.

Learnt from: Innavin369
PR: #437
File: src/react/src/components/Filters/StyledSelect.jsx:31-39
Timestamp: 2024-12-05T10:43:59.922Z
Learning: In the StyledSelect component (src/react/src/components/Filters/StyledSelect.jsx), the label prop is optional. The InputLabel should be conditionally rendered only when a label is provided to prevent unnecessary DOM elements, extra padding, and browser console warnings.

doc/release/RELEASE-NOTES.md (5)

Learnt from: VadimKovalenkoSNF
PR: #641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.

Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:37-37
Timestamp: 2024-11-25T13:28:23.090Z
Learning: When modifying unreleased API endpoints, such as refactoring the search_after parameter into search_after_value and search_after_id in the OpenSearch implementation, it's acceptable to leave the "What's New" section empty since the changes haven't been released to end users.

Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.

Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: Endpoints that have not been enabled to end users do not require migration documentation or old vs new format examples in the release notes.

Learnt from: mazursasha1990
PR: #692
File: src/react/src/components/SelfServiceDromoUploader.jsx:38-39
Timestamp: 2025-07-17T11:24:39.294Z
Learning: In the Open Supply Hub project, hardcoded Dromo API credentials (license key and schema ID) in the SelfServiceDromoUploader component are acceptable for the current implementation as per project requirements.

🧬 Code Graph Analysis (1)
src/react/src/components/ContributeForm.jsx (1)
src/react/src/util/constants.jsx (2)
  • ENABLE_DROMO_UPLOADING (574-574)
  • ENABLE_DROMO_UPLOADING (574-574)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: run-flake8-linter
  • GitHub Check: run-eslint-linter-and-prettier-formatter
  • GitHub Check: run-countries-code-quality
  • GitHub Check: get-base-branch-contricleaner-cov
  • GitHub Check: run-integration-test-code-quality
  • GitHub Check: get-base-branch-dd-cov
  • GitHub Check: run-django-code-quality
  • GitHub Check: get-base-branch-countries-cov
  • GitHub Check: run-contricleaner-code-quality
  • GitHub Check: get-base-branch-fe-cov
  • GitHub Check: run-dd-code-quality
  • GitHub Check: get-base-branch-django-cov
  • GitHub Check: run-fe-code-quality
🔇 Additional comments (2)
src/react/src/util/constants.jsx (1)

62-62: Pricing path update verified: no hard-coded references to the old path found

All occurrences of the new InfoPaths.pricing are centralized in constants.jsx, and there are no lingering hard-coded /pricing or open-supply-hub-pricing strings in the codebase. No additional updates are necessary.

src/react/src/components/SelfServiceDromoUploader.jsx (1)

36-36: Excellent button text improvement!

The updated button text "SMART UPLOAD (BETA)" is more descriptive and user-friendly compared to the previous "Beta Self Service Upload". It clearly communicates the smart upload functionality while maintaining the beta designation to set appropriate user expectations.

@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:12 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Jul 31, 2025

Dedupe Hub App | Unittest test suite - Code coverage report

Total: 55.73%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:13 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Jul 31, 2025

Countries App | Unittest test suite - Code coverage report

Total: 100%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:13 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:13 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Jul 31, 2025

Django App | Unittest test suite - Code coverage report

Total: 81.16%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:29 — with GitHub Actions Inactive
Copy link
Contributor

@VadimKovalenkoSNF VadimKovalenkoSNF left a comment

Choose a reason for hiding this comment

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

Minor change required.

@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:48 — with GitHub Actions Inactive
@sonarqubecloud
Copy link

@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:50 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:53 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:54 — with GitHub Actions Inactive
@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 09:54 — with GitHub Actions Inactive
Copy link
Contributor

@VadimKovalenkoSNF VadimKovalenkoSNF left a comment

Choose a reason for hiding this comment

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

LGTM

@roman-stolar roman-stolar temporarily deployed to Quality Environment July 31, 2025 10:04 — with GitHub Actions Inactive
@roman-stolar roman-stolar merged commit 75b84a6 into main Jul 31, 2025
21 checks passed
@roman-stolar roman-stolar deleted the OSDEV-2125-dromo-lead-copy-update branch July 31, 2025 14:35
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.

3 participants