-
Notifications
You must be signed in to change notification settings - Fork 31
Updates for apply page - job guarantee landing page - financing page - new CTA component #2422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ArielCalisaya
wants to merge
181
commits into
breatheco-de:development
Choose a base branch
from
ArielCalisaya:development
base: development
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 176 commits
Commits
Show all changes
181 commits
Select commit
Hold shift + click to select a range
46e2a4c
UPDATE: components in financial page
OmarHG098 9772ddd
ADD: new paymment plans component
OmarHG098 c8b2159
Merge branch 'development' into revamp/finance-page
OmarHG098 5d83769
UPDATE: payment component
OmarHG098 f865d13
UPDATE: change component order
OmarHG098 16ec99d
ADD: template rule
OmarHG098 550c0b0
Merge branch 'breatheco-de:master' into revamp/finance-page
OmarHG098 980e1da
UPDATE: fiancial page components
OmarHG098 00a20be
feat: Add SafeReCAPTCHA wrapper to prevent crashes without GATSBY_CAP…
ArielCalisaya 4decdad
(SafeReCAPTCHA): use forwardRef import directly from react
ArielCalisaya 43a272e
updated landing "Job Guarantee"
ArielCalisaya 8786caf
update content of apply page
ArielCalisaya bcce545
visual_fix(apply.us): update paragraph styling in header section
ArielCalisaya 80f1c46
docs: fix punctuation in job guarantee text
ArielCalisaya bbfdaa8
UI fixes: update payment UI and content for better clarity
ArielCalisaya cee74be
style(PricesAndPayment): update background colors and layout spacing
ArielCalisaya 69eb36e
Add React import in SafeReCAPTCHA component for consistency. Define i…
ArielCalisaya 7efb953
Use direct React.forwardRef instead of importing forwardRef separately
ArielCalisaya c2fae59
Merge remote-tracking branch 'upstream/master' into development
ArielCalisaya 1d5b289
Merge branch 'revamp/finance-page' of https://github.com/OmarHG098/we…
OmarHG098 74071b1
Improve right section content with clearer bullet points in spanish v…
ArielCalisaya 6c49dc8
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya 2c62b13
UPDATE: finance page
OmarHG098 6fbaebe
Add: Explaining Gatsby markdown processing behavior
ArielCalisaya 48aa393
style: format SafeReCAPTCHA component and its usage
ArielCalisaya 1231a89
Merge remote-tracking branch 'omar-changes/revamp/finance-page' into …
ArielCalisaya 8f03463
Merge branch 'omar/financing-pages' into update/financing-page
ArielCalisaya d2cfd05
feat(WeTrust): add full background option for we_trust section
ArielCalisaya 2792083
docs(landing): update job guarantee page content and structure
ArielCalisaya 9877451
feat(WeTrust): add label support and improve responsive styling
ArielCalisaya 7de27f4
feat(WeTrust): add bg_full field and improve box label styling
ArielCalisaya c734630
style(FaqCard): adjust width to 45rem for better responsiveness
ArielCalisaya bdc5bdb
feat(payment-plans): enhance payment options UI and content structure
ArielCalisaya b82d940
style: formatting and spacing in css and js files
ArielCalisaya ae35186
Add background wrapper and full-width support
ArielCalisaya 355efba
improve code readability by removing unnecessary line breaks
ArielCalisaya 4845914
feat: add double action CTA component with career consultation and ne…
ArielCalisaya 6b9b5b9
feat(DoubleActionCTA): improve styling and update success messages
ArielCalisaya 49bff95
feat(WeTrust): add label support and improve component styling
ArielCalisaya 9388258
code formatting and readability across components
ArielCalisaya 8accaf6
feat: improve button responsiveness in home template
ArielCalisaya 4c036b5
styleformatting
ArielCalisaya da6bc9a
fix: change paragraph to paragraph_html in Header component
ArielCalisaya b1bb352
style(components): improve readability of Header component props form…
ArielCalisaya d76610d
Add DataTable component
ArielCalisaya 2ee3b18
style: clean up code formatting and fix indentation
ArielCalisaya 7c8f13e
fix(Sections): Unify conditional rendering pattern with dangerouslySe…
ArielCalisaya 202296f
style(verify-node-version): standardize string quotes and improve err…
ArielCalisaya a1fd497
feat: node version verification script with dynamic command message
ArielCalisaya 797d1bf
style: standardize string quotes in verify-node-version.js
ArielCalisaya 8f161bb
feat: update payment plans and styling across components
ArielCalisaya 6e699d9
Merge branch 'page/program-comparision' into merge/financing-page_and…
ArielCalisaya ce66c5a
feat(DataTable): enhance table component with icon support and styling
ArielCalisaya 3bb2da1
style: fix indentation and formatting in financial and DataTable comp…
ArielCalisaya 18a8875
feat(financial): add contact form component and translations
ArielCalisaya 13d06e2
fix(financial): handle undefined data_table in financial template
ArielCalisaya 697872e
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya 41d6f64
Merge branch 'merge/financing-page_and_program-comparison' into devel…
ArielCalisaya 264f89d
feat(DynamicForm): replace ContactForm with dynamic configurable form…
ArielCalisaya 3f1cd22
style: format code
ArielCalisaya 9352b5d
docs(program-comparison): update currency format from USD to $ symbol
ArielCalisaya 5242a94
fix(verify-node-version): swap nvm install and switch version instruc…
ArielCalisaya 7957b83
feat(ChooseYourProgram): add conditional rendering and container styles
ArielCalisaya 54c10ef
feat(program-comparison): add choose program section to comparison page
ArielCalisaya 4b6e9c3
feat(DataTable): add alternating row colors and clean up commented code
ArielCalisaya 1c573dc
refactor(DataTable): extract table components and constants into sepa…
ArielCalisaya c3cfb84
style(DataTable): standardize string quotes and improve code formatting
ArielCalisaya a19c4ba
docs(DataTable): improve JSDoc comments with type definitions
ArielCalisaya ab71ab0
docs(DataTable): improve comments in constants file
ArielCalisaya 0ae5291
style(DataTable): clean up formatting in constants file
ArielCalisaya d4d95da
feat(DataTable): add button variants and improve styling consistency
ArielCalisaya d3790a4
style(DataTable): fix formatting and indentation in constants and com…
ArielCalisaya c1c94a1
fix(actions): add error handling to form submission functions
ArielCalisaya 7207ce2
formatting in actions.js
ArielCalisaya 51d401b
refactor: remove DynamicForm component and related files
ArielCalisaya d721260
feat(Header): add color variant and text wrap support
ArielCalisaya b996079
feat(application): add application process page with stepper component
ArielCalisaya a20ee61
docs(DoubleActionCTA): update comment from Spanish to English
ArielCalisaya 7355a30
feat(application-process): enhance stepper hover effects and add appl…
ArielCalisaya 66ecfa0
style(Button): improve readability by breaking long lines in Button c…
ArielCalisaya 7fc05c8
docs: fix formatting in job guarantee stats
ArielCalisaya 446f1c3
feat(success-stories): update content and add rating reviews section
ArielCalisaya cabb2ae
update partner section titles in success stories
ArielCalisaya f4576b6
Add success stories title and description to testimonials components …
ArielCalisaya e926700
feat(success-stories): enhance success stories page with featured tes…
ArielCalisaya ad1cec6
code formatting and readability
ArielCalisaya 5124c66
fix(Testimonials): filter testimonials with student_thumb
ArielCalisaya fcf06b5
refactor(testimonials): improve testimonial filtering and image handling
ArielCalisaya 916e8b8
feat(application-process): add image to header
ArielCalisaya 7353568
style: remove unnecessary parentheses around svg_image prop
ArielCalisaya 2a0ae55
feat(testimonials): add james testimonial and improve layout
ArielCalisaya 88b40cc
code formatting in success stories components
ArielCalisaya 9b37ea2
Merge remote-tracking branch 'upstream/master'
ArielCalisaya 88133a2
Merge branch 'master' into dev-2
ArielCalisaya 795ae80
Merge branch 'development' into development
alesanchezr 0c8c6c7
feat(financial): add custom CTA to financial pages and update transla…
ArielCalisaya a6b7cbd
code readability with consistent formatting
ArielCalisaya 4c25117
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya 85e8dd0
Merge branch 'development' of github.com:ArielCalisaya/website-v2 int…
ArielCalisaya 2260bca
docs(testimonials): update student name and slug in us testimonials
ArielCalisaya 3ac6af2
Merge 'upstream/development' into development and fix conflicts
ArielCalisaya 13d58c7
formatting and trailing commas
ArielCalisaya fce89d5
fix: correct student name spelling and update testimonial content
ArielCalisaya e44ee70
refactor(cta): simplify financial page cta components and content
ArielCalisaya 06ec254
style(DoubleActionCTA): improve code formatting and readability
ArielCalisaya 0c85135
feat(prework): add prework page with content and styling
ArielCalisaya 682efef
style: format prework.js with consistent quotes and spacing
ArielCalisaya c68aafc
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya e393f65
clean(DoubleActionCTA): remove unused lang prop
ArielCalisaya ecd59a1
feat(application-process): add DoubleActionCTA and hide global CTA
ArielCalisaya fc08689
refactor(DataTable): remove constants.js and consolidate styling
ArielCalisaya 0754233
refactor: simplify table-components constants
ArielCalisaya bebdb8d
style(table-components): improve code formatting and readability
ArielCalisaya d91cd86
improve UI of CTA and background color
ArielCalisaya f88b74c
add description to choose program component
OmarHG098 2b62dfe
Merge pull request #1 from OmarHG098/patch-1
ArielCalisaya 5d88c88
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya 4957233
Merge branch 'development' into development
ArielCalisaya 3ebe3f7
Merge remote-tracking branch 'origin/development' into development
ArielCalisaya 5f64f47
REFACTOR: double cta component uses static query, REFACTOR: location …
OmarHG098 724acd9
UPDATE: group 6617 image
OmarHG098 a5c898e
ADD: application process to index page
OmarHG098 49796d1
Merge pull request #2 from OmarHG098/updates/ariel-development
ArielCalisaya a2bb1eb
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya 008b661
code formating
ArielCalisaya 382fdd1
update awards page
ArielCalisaya 48c5e50
code format
ArielCalisaya c5bed5c
feat(prework): refactor components and update content structure
ArielCalisaya 5688709
style(components): code formatting and consistency
ArielCalisaya 67df2ff
feat(navbar): add program comparison link in navbar and htmlTitle sup…
ArielCalisaya b77b1c7
style: code formatting and indentation in multiple components
ArielCalisaya 6dd32dc
feat(partners): update partners page content
ArielCalisaya 4837b37
style(partners): indentation and trailing whitespace in partners.js
ArielCalisaya 43ad050
feat(partners): update partner content and UI components
ArielCalisaya 9e3ede1
refactor(marquee): simplify marquee component and improve performance
ArielCalisaya 5279b4e
Update index.js
alesanchezr 78fc54f
feat(prework): update prework page content and styling
ArielCalisaya 0e7110f
Merge remote-tracking branch 'origin/development' into development
ArielCalisaya 65b6f9c
Merge and fix conflicts
ArielCalisaya 22d0788
feat(Landing): add hiring data variable and fix job guarantee formatting
ArielCalisaya fe97a9d
style(partners): adjust spacing and background in partners template
ArielCalisaya bf7256d
docs(navbar): update partner link title in navbar us yaml
ArielCalisaya 68f83b8
ADD: tracking to cta button on succes-stories
OmarHG098 c71381d
docs(footer): update program names and add cybersecurity in footer
ArielCalisaya b98bcbe
feat(Partners): update styling and content structure
ArielCalisaya f999006
fix(WorkTogether): adjust spacing and visibility based on showImages …
ArielCalisaya cb111fe
style(prework): update styling and spacing for better visual consistency
ArielCalisaya 8cc91a7
style(prework): adjust padding and margins for better spacing
ArielCalisaya 918fb46
comment out unused video container section
ArielCalisaya 35919e5
feat(partners): update partner images and testimonials text
ArielCalisaya 2fda74e
UPDATE: Refactor DoubleActionCTA component
OmarHG098 be82216
REMOVE: Global DoubleActionCTA injection
OmarHG098 ff889ff
UPDATE: Add DoubleActionCTA to course templates
OmarHG098 96da277
REMOVE: hideGlobalCTA from page YAML files
OmarHG098 a439a3e
UPDATE: Data Science course name
OmarHG098 f8f3c7d
UPDATE: Template DoubleActionCTA integration
OmarHG098 6fec11c
docs: update prework page header images
ArielCalisaya e9fe7c8
Merge pull request #3 from OmarHG098/ariel-development
ArielCalisaya e766e4d
fix(prework): update page titles and button texts for better readability
ArielCalisaya b7ca7d9
style: adjust spacing and layout in components
ArielCalisaya ddad849
Merge remote-tracking branch 'origin/development' into development
ArielCalisaya 568dba3
feat(staff): update staff job titles and add new team member
ArielCalisaya 836b450
fix: update Spanish URLs in prework page to correct paths
ArielCalisaya f694b3d
feat(the-academy): update content and layout for academy pages
ArielCalisaya 8d34073
style: replace single quotes with double quotes and remove console log
ArielCalisaya e9fd66d
chore: remove Macarena Rebolledo from staff data files
ArielCalisaya 1be83df
docs: update credential statistics in US and ES locales
ArielCalisaya 76974aa
feat(the-academy): update content and styling for academy pages
ArielCalisaya 49229ea
feat(Badges): add bg_full prop to make background transparent
ArielCalisaya c6f1ffe
style(Badges): standardize quote usage in background prop
ArielCalisaya ef0ead6
feat(content): add links to prework pages in multiple course and land…
ArielCalisaya de45470
docs(blog): update blog page hero content
ArielCalisaya 760392b
feat(staff): update staff images and linkedin url
ArielCalisaya 7a7a4c0
feat(press): enhance press page with awards section and marquee anima…
ArielCalisaya 1939855
style(components): improve code formatting and readability
ArielCalisaya 39388d4
feat: update students and projects page content and styling
ArielCalisaya fbe84d0
fix: remove optional chaining from slug replacement
ArielCalisaya d93ef5b
docs(press): update press page heading to plural form
ArielCalisaya 24b2f12
feat(utils): add flattenFormData utility for form processing
ArielCalisaya d347a18
style(utils): format code with consistent string quotes and line breaks
ArielCalisaya 1b8f923
docs: update students and projects page header text
ArielCalisaya File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,154 @@ | ||
| --- | ||
| globs: src/templates/* | ||
| alwaysApply: false | ||
| --- | ||
|
|
||
| ### Rule: Template Architecture and YAML-Driven Rendering | ||
| - **Purpose**: Maximize flexibility via YAML configuration while minimizing direct code edits to ensure maintainable, readable code for AI systems and human developers. | ||
| - **Scope**: All files in `src/templates/` except foundational base templates (`_baseLayout.js`, `_baseLandingLayout.js`, `_baseBlogLayout.js`). | ||
| - **Exclusions**: Do not enforce these rules on `_base*` templates; they serve as shared dependencies. | ||
| - **Version**: v1.0, 2025-08-21 | ||
|
|
||
| ### 1) YAML-First Composition | ||
| - **Single source of truth**: All visual content, order, and most styling must come from YAML. | ||
| - **Components array (preferred)**: Templates SHOULD support a `components` array in their page YAML to describe page sections and order. | ||
| ```yaml | ||
| components: | ||
| - name: "hero" | ||
| position: 1 #EXAMPLE | ||
| layout: "header" | ||
| heading: { text: "Title", font_size: ["40px","34px","30px","26px","22px"] } | ||
| sub_heading: { text: "Subtitle", style: '{"textAlign":"left"}' } | ||
|
|
||
| - name: "selling_points" | ||
| position: 3 #NON-SECUENCIAL NUMBERS TO ENSURE QUICK ADDITIONS | ||
| layout: "two_column" | ||
| proportions: [6, 6] | ||
| background: "veryLightBlue3" # resolves Color token or raw CSS color | ||
| left: | ||
| image: { src: "/images/example.png", style: '{"backgroundSize":"contain"}' } | ||
| right: | ||
| heading: { text: "Why us", style: '{"fontWeight":700}' } | ||
| sub_heading: { text: "Clear value" } | ||
| bullets: | ||
| item_style: '' | ||
| items: | ||
| - { text: "First point" } | ||
| - { text: "Second point" } | ||
| button: { text: "Learn more", path: "/path", background: "black", color: "white" } | ||
| ``` | ||
| - **Fallback support**: If a template historically uses named blocks (e.g., `two_column`, `iconogram`), continue to support them, but prioritize migration to `components`. | ||
| - **Language**: Pages should have `.us.yml` and `.es.yml` with mirrored keys when both languages exist. | ||
|
|
||
| ### 2) Dynamic Component Management (landing_a.js as the model) | ||
| - **Registry-based rendering**: Use a layout registry (e.g., `landingSections`) that maps `layout` → React component. | ||
| - **Dynamic loop**: Render components by iterating the YAML `components` array sorted by `position`. | ||
| ```javascript | ||
| // Pseudocode pattern for templates | ||
| import { landingSections } from "../components/Landing"; // shared registry | ||
|
|
||
| {yml.components | ||
| ?.slice() | ||
| .sort((a, b) => (a.position || 0) - (b.position || 0)) | ||
| .map((section, idx) => { | ||
| const layout = section.layout; | ||
| const Renderer = landingSections[layout]; | ||
| if (!Renderer) return null; // Guard unknown layouts | ||
| return ( | ||
| <Renderer | ||
| key={section.name || `${layout}-${idx}`} | ||
| yml={section} | ||
| session={session} | ||
| /> | ||
| ); | ||
| })} | ||
| ``` | ||
| - **Props pass-through**: Prefer passing the entire section via `yml={section}` rather than reconstructing props in the template. | ||
| - **Avoid hardcoding**: Do not hardcode component ordering, margins, or colors; default these in components and allow YAML overrides. | ||
|
|
||
| ### 3) Styling Standards (design system only) | ||
| - **Use design system**: Import from `components/Styling` and `components/Heading`. | ||
| - Typography: `H1..H5`, `Paragraph`, `Small` | ||
| - UI primitives: `Button`, `Anchor`, `Img`, `ImgV2`, `StyledBackgroundSection` | ||
| - Tokens: `Colors` | ||
| - **Inline style policy**: | ||
| - YAML may include a `style` field (JSON string) passed to `style` for per-page variations. | ||
| - Do not author ad-hoc style objects in templates; prefer component props and design tokens. | ||
| - **Color resolution**: Components must resolve color tokens as `Colors[value] || value` to accept both semantic tokens and raw CSS (e.g., `#F4F9FF`). | ||
| - **Variants**: Where applicable, implement object/function-based variants (see `styling-component` rule) instead of if/else chains. | ||
|
|
||
| ### 4) GraphQL Query Standards | ||
| - **Minimize overfetch**: Query only the fields used by components. | ||
| - **Consistent keys**: Prefer `heading`, `sub_heading`, `bullets`, `content`, `button`, `image`, `background`, `proportions` across templates. | ||
| - **Language scoping**: Always filter by `fields.lang`. | ||
| - **Component-friendly queries**: | ||
| - With `components` arrays, query nested fields broadly enough for typical component props without page-specific coupling. | ||
| ```graphql | ||
| # Example shape for a page with components | ||
| allPageYaml(filter: { fields: { file_name: { eq: $file_name }, lang: { eq: $lang } } }) { | ||
| edges { | ||
| node { | ||
| seo_title | ||
| components { | ||
| name | ||
| position | ||
| layout | ||
| background | ||
| proportions | ||
| left { image { src style shadow link } heading { text font_size style } sub_heading { text font_size style } bullets { item_style items { heading text icon icon_color } } content { text font_size style path } button { text color background hover_color path } boxes { icon title text } } | ||
| right { image { src style shadow link } heading { text font_size style } sub_heading { text font_size style } bullets { item_style items { heading text icon icon_color } } content { text font_size style path } button { text color background hover_color path } boxes { icon title text } } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| - **Backwards compatibility**: If a template still uses named sections (e.g., `two_column`), include those fields until migrated. | ||
|
|
||
| ### 5) Component Contracts | ||
| - **TwoColumn**: | ||
| - Accepts: `left`, `right`, `proportions`, `alignment`, `background`. | ||
| - Background: `background={Colors[background] || background}`. | ||
| - `left`/`right` accept: `image`, `heading`, `sub_heading`, `bullets`, `content`, `button`, `boxes`. | ||
| - Avoid hardcoded paddings/margins; expose YAML overrides (e.g., `gap_tablet`, `padding_tablet`). | ||
| - **Iconogram, PricesAndPayment, PaymentPlans, etc.**: | ||
| - Map props 1:1 with YAML keys. | ||
| - Gracefully handle missing optional fields. | ||
|
|
||
| ### 6) Avoiding Hardcoded Values | ||
| - No hardcoded colors, copy, or component order in templates. | ||
| - Use `Colors` tokens; allow raw CSS fallback. | ||
| - Spacing defaults live in components; override via YAML when needed. | ||
|
|
||
| ### 7) Error Tolerance and Defaults | ||
| - Guard against missing keys: | ||
| - Use `Array.isArray(...)` before `.map`. | ||
| - Render nothing for absent optional blocks. | ||
| - Provide sensible defaults for sizes/spaces. | ||
|
|
||
| ### 8) Migration Guidance | ||
| - New templates SHOULD adopt the `components` array pattern (see `landing_a.js`). | ||
| - Existing templates MAY keep legacy sections but SHOULD migrate progressively. | ||
| - When adding a new layout type, update the shared registry and document the YAML shape. | ||
|
|
||
| ### 9) Testing and Review | ||
| - All changes must pass `npm run test`. | ||
| - ESLint and accessibility checks must be green. | ||
| - Review checklist: | ||
| - No hardcoded values replaceable by YAML. | ||
| - GraphQL queries fetch only needed fields. | ||
| - Color tokens resolved correctly (`Colors[token] || token`). | ||
|
|
||
| ### 10) Examples and Improvements (from landing_a.js) | ||
| - Use `components` ordering via `position` for predictable rendering. | ||
| - Pass entire section objects to components to reduce prop churn. | ||
| - Improvements to replicate across templates: | ||
| - Centralize the component registry for reuse. | ||
| - Normalize prop names across layouts (`heading`, `sub_heading`, `bullets`, `content`, `button`). | ||
| - Ensure every layout supports `background` consistently. | ||
|
|
||
| ### Enforcement | ||
| - **Tools**: Code review, ESLint, CI checks. | ||
| - **Checks**: | ||
| - Templates render from YAML-driven inputs. | ||
| - No hardcoded values where YAML exists. | ||
| - GraphQL queries match component needs; no unused fields. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.