Skip to content

refactor(watch): change watch footer to match jesusfilm.org#5422

Merged
tataihono merged 19 commits into
mainfrom
tataihono/eng-1939-changing-the-footer-to-match-jesusfilmorg
Mar 5, 2025
Merged

refactor(watch): change watch footer to match jesusfilm.org#5422
tataihono merged 19 commits into
mainfrom
tataihono/eng-1939-changing-the-footer-to-match-jesusfilmorg

Conversation

@tataihono
Copy link
Copy Markdown
Contributor

@tataihono tataihono commented Mar 4, 2025

This PR implements the new footer design for the Watch site to match jesusfilm.org as specified in the PRD. It includes: new Footer component implementation, updated FooterLink component, removal of old components, comprehensive PRD documentation, and updated tests.

Changes

Documentation

  • Created a comprehensive PRD (Product Requirements Document) for the Watch Site Footer Redesign in prds/ENG-1939.md
  • Added a README file for the PRDs directory in prds/A-README.md explaining the purpose and structure of PRDs

Code Cleanup

  • Removed the old footer components (FooterLinks, FooterLogos, FooterSocials) that were no longer needed

Implementation

  • Updated the Footer component to match the jesusfilm.org design
  • Enhanced the FooterLink component to support both text and image links
  • Added new footer assets (social media icons and logo)
  • Updated tests to verify the new implementation

Summary by CodeRabbit

  • New Features
    • Redesigned footer with dynamic navigation links, social media icons, updated contact/legal information, a prominent "Give Now" button, and a newsletter sign-up.
  • Refactor
    • Consolidated multiple footer sections into a unified, responsive layout.
  • Style
    • Enhanced spacing, alignment, and overall visual presentation for optimal display across devices.

@linear
Copy link
Copy Markdown

linear Bot commented Mar 4, 2025

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 4, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This pull request reworks the Watch site footer. The changes include a major update to the Footer component and its tests, introducing dynamic rendering from internal link arrays and a unified FooterLink component. Several legacy footer subcomponents and their tests (FooterLinks, FooterLogos, FooterSocials) have been removed. In addition, the FooterLink component was enhanced with an optional styling property and adjusted default settings, and localization keys have been restructured. New documentation files outlining product requirements for the footer redesign have also been added.

Changes

File(s) Change Summary
apps/.../Footer.spec.tsx, apps/.../Footer.tsx Overhauled Footer component and tests: introduced dynamic navigation and social link arrays, integrated donation and newsletter buttons, updated layout using responsive components, and switched from absolute to relative URLs.
apps/.../FooterLink.tsx, apps/.../FooterLink.spec.tsx Enhanced FooterLink component: added optional sx prop for custom styling, changed default variant from 'body1' to 'h6', updated image dimensions and URL format, and added tests for style application and rel attribute.
apps/.../(FooterLinks, FooterLogos, FooterSocials)/... Removed legacy footer subcomponents, their corresponding tests, and index exports to consolidate the footer implementation.
libs/.../apps-watch.json Restructured localization keys: added keys such as "Share", "Giving", "Partners", detailed contact information, privacy policy, and legal statement; removed outdated keys like "Resources and Tools", "How to Help", and "Apps".
prds/*.md Added new PRD documentation (A-README.md and ENG-1939.md) that outlines the design, functional, and non-functional requirements for the redesigned footer.

Sequence Diagram(s)

sequenceDiagram
    participant U as User
    participant B as Browser
    participant F as Footer Component
    participant FL as FooterLink Component

    U->>B: Request page view
    B->>F: Load and render Footer
    F->>FL: Iterate through navigationLinks and render each link
    F->>FL: Iterate through socialLinks and render each link
    F-->>B: Return complete Footer with Donation & Newsletter elements
    U->>B: Interact with rendered links/buttons
Loading

Warning

There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

apps/watch/src/components/Footer/Footer.tsx

Oops! Something went wrong! :(

ESLint: 8.57.1

TypeError: Key "rules": Key "react/jsx-indent": Could not find plugin "react".
at throwRuleNotFoundError (/node_modules/eslint/lib/config/rule-validator.js:66:11)
at RuleValidator.validate (/node_modules/eslint/lib/config/rule-validator.js:128:17)
at [finalizeConfig] (/node_modules/eslint/lib/config/flat-config-array.js:337:23)
at FlatConfigArray.getConfig (/node_modules/@humanwhocodes/config-array/api.js:1036:55)
at /node_modules/eslint/lib/eslint/flat-eslint.js:812:40
at Array.map ()
at FlatESLint.lintFiles (/node_modules/eslint/lib/eslint/flat-eslint.js:810:23)
at async Object.execute (/node_modules/eslint/lib/cli.js:421:23)
at async main (/node_modules/eslint/bin/eslint.js:152:22)


📜 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 997cd60 and 55487de.

⛔ Files ignored due to path filters (5)
  • apps/watch/public/watch/assets/footer/facebook.svg is excluded by !**/*.svg
  • apps/watch/public/watch/assets/footer/instagram.svg is excluded by !**/*.svg
  • apps/watch/public/watch/assets/footer/jesus-film-logo.png is excluded by !**/*.png
  • apps/watch/public/watch/assets/footer/x-twitter.svg is excluded by !**/*.svg
  • apps/watch/public/watch/assets/footer/youtube.svg is excluded by !**/*.svg
📒 Files selected for processing (2)
  • apps/watch/src/components/Footer/Footer.tsx (2 hunks)
  • libs/locales/en/apps-watch.json (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings

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.
    • Generate unit testing code for this file.
    • 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 generate unit testing code for this file.
    • @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 generate unit testing code.
    • @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.

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 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.

@tataihono tataihono self-assigned this Mar 4, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2025

Warnings
⚠️ ❗ Big PR (1000 changes)

(change count - 1000): Pull Request size seems relatively large. If Pull Request contains multiple changes, split each into separate PR will helps faster, easier review.

Generated by 🚫 dangerJS against 55487de

@tataihono tataihono added priority: now type: feat Brand new functionality, features, pages, workflows, endpoints, etc. effort: 1 labels Mar 4, 2025
@tataihono tataihono added this to the 2025 - 01 Cycle milestone Mar 4, 2025
@tataihono tataihono requested a review from edmonday March 4, 2025 10:13
@tataihono tataihono changed the title ENG-1939: Changing the footer to match jesusfilm.org refactor: change watch footer to match jesusfilm.org Mar 4, 2025
@github-actions github-actions Bot temporarily deployed to Preview - watch March 4, 2025 10:13 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - videos-admin March 4, 2025 10:13 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - journeys-admin March 4, 2025 10:13 Inactive
@tataihono tataihono added type: refactor refactoring production code, eg. renaming a variable) and removed type: feat Brand new functionality, features, pages, workflows, endpoints, etc. labels Mar 4, 2025
@github-actions github-actions Bot temporarily deployed to Preview - arclight March 4, 2025 10:13 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - journeys March 4, 2025 10:13 Inactive
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
watch ✅ Ready watch preview Wed Mar 5 21:52:45 NZDT 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
arclight ✅ Ready arclight preview Wed Mar 5 21:51:40 NZDT 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
journeys ✅ Ready journeys preview Wed Mar 5 21:51:28 NZDT 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
videos-admin ✅ Ready videos-admin preview Wed Mar 5 21:52:07 NZDT 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
journeys-admin ✅ Ready journeys-admin preview Wed Mar 5 21:53:03 NZDT 2025

Copy link
Copy Markdown
Contributor

@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: 1

🧹 Nitpick comments (9)
apps/watch/src/components/DownloadDialog/DownloadDialog.tsx (1)

94-94: Improved code robustness with optional chaining.

Adding optional chaining (?.) when accessing mobileCinematicHigh from images[0] prevents potential runtime errors if images[0] is undefined. This enhances the application's stability and is a best practice for defensive programming.

Consider extending this pattern to other potentially nullable references in the component, such as imageAlt[0] in line 105, for consistent error handling:

-                  alt={imageAlt[0].value}
+                  alt={imageAlt[0]?.value ?? ''}
libs/journeys/ui/src/components/SearchBar/SearchDropdown/SearchbarDropdown.tsx (1)

123-123: Consider using theme-based spacing for better maintainability

Replacing theme-based spacing with hard-coded pixel values reduces maintainability. If theme spacing changes in the future, this component won't automatically adapt.

- padding: `3px 6px 0 8px`,
+ padding: `${theme.spacing(0.375)} ${theme.spacing(0.75)} 0 ${theme.spacing(1)}`,
apps/watch/src/components/Footer/Footer.spec.tsx (2)

72-81: Consider adding a test ID for the Give Now button.

While testing by text content works, adding a specific test ID to the Give Now button in the component would make the test more resilient to text changes.

- const giveNowButtons = screen.getAllByText('Give Now')
+ const giveNowButtons = screen.getAllByTestId('give-now-button')

And in the component:

<Button data-testid="give-now-button">Give Now</Button>

83-97: Contact information test could be more robust.

The current test simply checks for the presence of text. Consider adding more specific tests for proper formatting and structure of the address information.

- const addressLines = screen.getAllByText('100 Lake Hart Drive')
+ const addressSection = screen.getByTestId('contact-info')
+ expect(addressSection).toHaveTextContent('100 Lake Hart Drive')
+ expect(addressSection).toHaveTextContent('Orlando, FL, 32832')
apps/watch/src/components/VideosPage/FilterList/LanguagesFilter/LanguagesFilter.tsx (1)

28-35: Consider adding more spacing between language items.

For better readability, especially when both local and native names are displayed, consider adding some padding between the typography elements.

- <Stack>
+ <Stack spacing={0.5}>
prds/ENG-1939.md (2)

15-60: Comprehensive functional requirements with responsive design considerations

The functional requirements are detailed and specific, covering all necessary elements for the footer redesign including logo, social media integration, navigation, CTAs, and responsive design. This provides clear guidance for implementation.

There is a minor grammatical issue in line 59 where it appears a preposition might be missing before "across all device sizes", but this doesn't affect the understanding of the requirement.

- Maintain proper layout and readability across all device sizes
+ Maintain proper layout and readability across all device sizes
🧰 Tools
🪛 LanguageTool

[uncategorized] ~36-~36: Possible missing preposition found.
Context: ..." button in the top right position - Link to the donation page on jesusfilm.org ...

(AI_HYDRA_LEO_MISSING_TO)


[misspelling] ~40-~40: Did you mean “hard”?
Context: ...y the organization's address: "100 Lake Hart Drive, Orlando, FL, 32832" - Include...

(HART_HARD)


[uncategorized] ~59-~59: Possible missing preposition found.
Context: ...g to both desktop and mobile views - Maintain proper layout and readability across al...

(AI_HYDRA_LEO_MISSING_TO)


161-161: Minor grammatical issue in testing strategy

There's a minor grammatical issue with "device sizes" - the noun "device" should be pluralized or have an article.

- Ensure proper display across various device sizes
+ Ensure proper display across various device sizes
🧰 Tools
🪛 LanguageTool

[grammar] ~161-~161: Possible agreement error. The noun ‘device’ seems to be countable; consider using: “various devices”.
Context: ...Testing**: Ensure proper display across various device sizes 3. Accessibility Testing: Val...

(MANY_NN)

apps/watch/src/components/Footer/Footer.tsx (2)

143-157: Implement data-testid for the Give Now button

The "Give Now" button is missing a data-testid attribute which would be helpful for testing.

  <Button
    component="a"
    href="/how-to-help/ways-to-donate/give-now/?amount=&frequency=single&campaign-code=NXWJPO&designation-number=2592320&thankYouRedirect=/dev/special/thank-you-refer/social-share/"
    variant="contained"
    color="primary"
    size="small"
+   data-testid="GiveNowButton"
    sx={{
      p: '8px 13px 7px',
      borderRadius: 20,
      lineHeight: '1.1334',
      height: '34px'
    }}
  >
    {t('Give Now')}
  </Button>

210-226: Add data-testid for newsletter button

The newsletter signup button is missing a data-testid attribute which would be helpful for testing.

  <Button
    component="a"
    href="/email/"
    variant="contained"
    size="small"
+   data-testid="NewsletterButton"
    sx={{
      backgroundColor: '#333',
      color: 'white',
      p: '8px 13px 7px',
      borderRadius: 20,
      lineHeight: '1.1334',
      height: '34px'
    }}
  >
    {t('Sign Up For Our Newsletter')}
  </Button>
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 76ee4e7 and e1bf584.

⛔ Files ignored due to path filters (32)
  • apps/watch/pages/fonts/Apercu-Pro-Bold.woff2 is excluded by !**/*.woff2
  • apps/watch/pages/fonts/Apercu-Pro-BoldItalic.woff2 is excluded by !**/*.woff2
  • apps/watch/pages/fonts/Apercu-Pro-Medium.woff2 is excluded by !**/*.woff2
  • apps/watch/pages/fonts/Apercu-Pro-MediumItalic.woff2 is excluded by !**/*.woff2
  • apps/watch/pages/fonts/Apercu-Pro-Regular.woff2 is excluded by !**/*.woff2
  • apps/watch/public/footer/facebook.svg is excluded by !**/*.svg
  • apps/watch/public/footer/instagram.svg is excluded by !**/*.svg
  • apps/watch/public/footer/jesus-film-logo.png is excluded by !**/*.png
  • apps/watch/public/footer/x-twitter.svg is excluded by !**/*.svg
  • apps/watch/public/footer/youtube.svg is excluded by !**/*.svg
  • apps/watch/public/watch/assets/fonts/apercu_bold.eot is excluded by !**/*.eot
  • apps/watch/public/watch/assets/fonts/apercu_bold.otf is excluded by !**/*.otf
  • apps/watch/public/watch/assets/fonts/apercu_bold.svg is excluded by !**/*.svg
  • apps/watch/public/watch/assets/fonts/apercu_bold.ttf is excluded by !**/*.ttf
  • apps/watch/public/watch/assets/fonts/apercu_bold.woff is excluded by !**/*.woff
  • apps/watch/public/watch/assets/fonts/apercu_bold.woff2 is excluded by !**/*.woff2
  • apps/watch/public/watch/assets/fonts/apercu_light.eot is excluded by !**/*.eot
  • apps/watch/public/watch/assets/fonts/apercu_light.svg is excluded by !**/*.svg
  • apps/watch/public/watch/assets/fonts/apercu_light.ttf is excluded by !**/*.ttf
  • apps/watch/public/watch/assets/fonts/apercu_light.woff is excluded by !**/*.woff
  • apps/watch/public/watch/assets/fonts/apercu_light.woff2 is excluded by !**/*.woff2
  • apps/watch/public/watch/assets/fonts/apercu_regular.otf is excluded by !**/*.otf
  • apps/watch/public/watch/assets/fonts/apercu_regular.svg is excluded by !**/*.svg
  • apps/watch/public/watch/assets/fonts/apercu_regular.ttf is excluded by !**/*.ttf
  • apps/watch/public/watch/assets/fonts/apercu_regular.woff is excluded by !**/*.woff
  • apps/watch/public/watch/assets/fonts/apercu_regular.woff2 is excluded by !**/*.woff2
  • apps/watch/src/components/Footer/FooterLogos/assets/cru.svg is excluded by !**/*.svg
  • apps/watch/src/components/Footer/FooterLogos/assets/jesus-film.svg is excluded by !**/*.svg
  • apps/watch/src/components/Footer/FooterSocials/assets/facebook.svg is excluded by !**/*.svg
  • apps/watch/src/components/Footer/FooterSocials/assets/instagram.svg is excluded by !**/*.svg
  • apps/watch/src/components/Footer/FooterSocials/assets/twitter.svg is excluded by !**/*.svg
  • apps/watch/src/components/Footer/FooterSocials/assets/youtube.svg is excluded by !**/*.svg
📒 Files selected for processing (28)
  • apps/watch/pages/_app.tsx (4 hunks)
  • apps/watch/public/watch/assets/fonts/fonts.css (0 hunks)
  • apps/watch/src/components/DownloadDialog/DownloadDialog.tsx (1 hunks)
  • apps/watch/src/components/Footer/Footer.spec.tsx (1 hunks)
  • apps/watch/src/components/Footer/Footer.tsx (1 hunks)
  • apps/watch/src/components/Footer/FooterLink/FooterLink.spec.tsx (1 hunks)
  • apps/watch/src/components/Footer/FooterLink/FooterLink.tsx (3 hunks)
  • apps/watch/src/components/Footer/FooterLinks/FooterLinks.spec.tsx (0 hunks)
  • apps/watch/src/components/Footer/FooterLinks/FooterLinks.tsx (0 hunks)
  • apps/watch/src/components/Footer/FooterLinks/index.ts (0 hunks)
  • apps/watch/src/components/Footer/FooterLogos/FooterLogos.spec.tsx (0 hunks)
  • apps/watch/src/components/Footer/FooterLogos/FooterLogos.tsx (0 hunks)
  • apps/watch/src/components/Footer/FooterLogos/index.ts (0 hunks)
  • apps/watch/src/components/Footer/FooterSocials/FooterSocials.spec.tsx (0 hunks)
  • apps/watch/src/components/Footer/FooterSocials/FooterSocials.tsx (0 hunks)
  • apps/watch/src/components/Footer/FooterSocials/index.ts (0 hunks)
  • apps/watch/src/components/VideoCard/VideoCard.tsx (5 hunks)
  • apps/watch/src/components/VideoContentPage/VideoContent/VideoContent.tsx (1 hunks)
  • apps/watch/src/components/VideoContentPage/VideoHero/VideoHeroOverlay/VideoHeroOverlay.tsx (1 hunks)
  • apps/watch/src/components/VideosPage/FilterList/FilterList.tsx (3 hunks)
  • apps/watch/src/components/VideosPage/FilterList/LanguagesFilter/LanguagesFilter.tsx (1 hunks)
  • libs/journeys/ui/src/components/SearchBar/SearchDropdown/SearchbarDropdown.tsx (2 hunks)
  • libs/journeys/ui/src/components/SearchBar/SearchDropdown/Suggestions/Suggestion/Suggestion.tsx (1 hunks)
  • libs/locales/en/apps-watch.json (0 hunks)
  • libs/shared/ui/src/libs/themes/website/tokens/components.tsx (2 hunks)
  • libs/shared/ui/src/libs/themes/website/tokens/typography.ts (4 hunks)
  • prds/A-README.md (1 hunks)
  • prds/ENG-1939.md (1 hunks)
💤 Files with no reviewable changes (11)
  • apps/watch/src/components/Footer/FooterSocials/index.ts
  • apps/watch/src/components/Footer/FooterLogos/index.ts
  • libs/locales/en/apps-watch.json
  • apps/watch/public/watch/assets/fonts/fonts.css
  • apps/watch/src/components/Footer/FooterLogos/FooterLogos.spec.tsx
  • apps/watch/src/components/Footer/FooterLinks/index.ts
  • apps/watch/src/components/Footer/FooterLinks/FooterLinks.tsx
  • apps/watch/src/components/Footer/FooterLogos/FooterLogos.tsx
  • apps/watch/src/components/Footer/FooterSocials/FooterSocials.tsx
  • apps/watch/src/components/Footer/FooterSocials/FooterSocials.spec.tsx
  • apps/watch/src/components/Footer/FooterLinks/FooterLinks.spec.tsx
✅ Files skipped from review due to trivial changes (1)
  • prds/A-README.md
🧰 Additional context used
🪛 LanguageTool
prds/ENG-1939.md

[uncategorized] ~36-~36: Possible missing preposition found.
Context: ..." button in the top right position - Link to the donation page on jesusfilm.org ...

(AI_HYDRA_LEO_MISSING_TO)


[misspelling] ~40-~40: Did you mean “hard”?
Context: ...y the organization's address: "100 Lake Hart Drive, Orlando, FL, 32832" - Include...

(HART_HARD)


[uncategorized] ~59-~59: Possible missing preposition found.
Context: ...g to both desktop and mobile views - Maintain proper layout and readability across al...

(AI_HYDRA_LEO_MISSING_TO)


[grammar] ~161-~161: Possible agreement error. The noun ‘device’ seems to be countable; consider using: “various devices”.
Context: ...Testing**: Ensure proper display across various device sizes 3. Accessibility Testing: Val...

(MANY_NN)

⏰ Context from checks skipped due to timeout of 90000ms (15)
  • GitHub Check: visual-test (22)
  • GitHub Check: danger (22)
  • GitHub Check: danger (22)
  • GitHub Check: danger (22)
  • GitHub Check: Deploy Preview and Test (watch, 5422/merge, pull_request, 22)
  • GitHub Check: Deploy Preview and Test (videos-admin, 5422/merge, pull_request, 22)
  • GitHub Check: Deploy Preview and Test (journeys-admin, 5422/merge, pull_request, 22)
  • GitHub Check: Deploy Preview and Test (journeys, 5422/merge, pull_request, 22)
  • GitHub Check: Deploy Preview and Test (arclight, 5422/merge, pull_request, 22)
  • GitHub Check: test (22, 3/3)
  • GitHub Check: test (22, 2/3)
  • GitHub Check: build (22)
  • GitHub Check: test (22, 1/3)
  • GitHub Check: lint (22)
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (57)
apps/watch/pages/_app.tsx (4)

6-7: Good addition of Next.js font system.

The integration of the Next.js font system with next/font/google and next/font/local is an excellent approach for managing typography in your application.


28-61: Well-structured font configuration with comprehensive weight and style coverage.

The font configuration is thorough and well-structured:

  • notoSerif is properly configured with specific weights and subsets
  • apercuPro is comprehensively defined with multiple weights and styles, including regular, medium, medium italic, bold, and bold italic variants

This robust configuration ensures consistent typography across the application.


89-95: Effective implementation of CSS variables for font families.

The global styles approach using CSS variables is a best practice that:

  1. Makes the fonts accessible throughout the application
  2. Maintains a single source of truth for font definitions
  3. Enables easy theme switching and consistency
<style jsx global>{`
  :root {
    --font-noto-serif: ${notoSerif.style.fontFamily};
    --font-apercu-pro: ${apercuPro.style.fontFamily};
  }
`}</style>

This implementation aligns with modern CSS architecture principles.


96-159: Component structure preserved while enhancing font management.

The component structure has been properly maintained while integrating the new font system. The wrapping with React fragments allows for the addition of global styles without disrupting the component hierarchy.

apps/watch/src/components/VideoContentPage/VideoHero/VideoHeroOverlay/VideoHeroOverlay.tsx (1)

147-147: Typography variant update enhances visual hierarchy.

Changing the typography variant from "body1" to "h6" for the video duration improves the visual hierarchy and ensures consistency with the typography system across the application. This aligns with the footer redesign objectives mentioned in the PR.

apps/watch/src/components/VideoContentPage/VideoContent/VideoContent.tsx (2)

124-126: Enhanced visual prominence of discussion question indices.

Increasing the minHeight and minWidth from 38 to 42 pixels for the circular index container improves the visual presence and readability of the discussion question numbers, making them more prominent in the UI.


132-132: Typography hierarchy improvement for question numbering.

Changing the typography variant from "h6" to "h5" for the question index numbers enhances the typographic hierarchy and ensures better visual prominence. This change works well with the increased container size and aligns with the font system updates introduced in the application.

libs/journeys/ui/src/components/SearchBar/SearchDropdown/Suggestions/Suggestion/Suggestion.tsx (3)

38-40: Typography variant and weight update for better semantics

The change from numeric font weight (1000) to semantic weight ("bold") improves readability and maintainability. The addition of the h6 variant also provides better semantic structure to the component.


41-45: Typography variant update improves hierarchy

Adding the h6 variant to this Typography component ensures consistent heading styles with other components while maintaining the existing padding and text wrapping behavior.


47-48: Consistent typography hierarchy applied

Changing the variant from body1 to h6 maintains visual consistency with the other typography elements in this component, creating a more cohesive design.

libs/shared/ui/src/libs/themes/website/tokens/components.tsx (2)

78-78: Consistent font family application using CSS variables

The addition of the font family using CSS variables aligns with modern CSS practices and ensures consistent typography across input components. This supports the footer redesign objective mentioned in the PR by maintaining typographic consistency.


89-89: Consistent font application for input labels

Similar to the input component, adding the font family using CSS variables to the input labels ensures visual consistency. This is a good practice for maintaining design system coherence.

libs/journeys/ui/src/components/SearchBar/SearchDropdown/SearchbarDropdown.tsx (1)

153-161: Improved layout structure for tabs

The restructuring of the LocalTabsHeader component with flexbox properties improves alignment and visual hierarchy. The addition of justifyContent: "center" ensures better centered alignment of the tab content.

apps/watch/src/components/VideosPage/FilterList/FilterList.tsx (3)

158-158: Consistent typography for better visual hierarchy

Adding the h6 variant to the "Languages" label improves the visual hierarchy and maintains consistency with the typography updates across the application.


170-170: Consistent typography for better visual hierarchy

Adding the h6 variant to the "Subtitles" label maintains consistency with other headings in the component.


183-183: Consistent typography for better visual hierarchy

Adding the h6 variant to the "Title" label completes the consistent styling approach across all filter categories, creating a cohesive visual experience.

apps/watch/src/components/Footer/FooterLink/FooterLink.tsx (5)

2-2: Good addition of SxProps import.

This import correctly supports the new styling capabilities being added to the component.


19-19: Good addition of the sx prop to the component interface.

Adding the sx prop allows for flexible styling customization from parent components, enhancing the component's reusability.


31-32: Good code formatting with improved readability.

The proper line breaks and parameter organization make the component more readable and maintainable.


45-47: Good implementation of Typography with sx prop.

The Typography component correctly uses the sx prop and properly handles the component's content.


25-25:

Details

❓ Verification inconclusive

Default variant change from 'body1' to 'h6' needs verification.

This is a significant change that affects the visual styling of all footer links that don't explicitly override the variant. Ensure this aligns with the new footer design in the PRD and verify it looks correct across all instances.


🏁 Script executed:

#!/bin/bash
# Search for all usage of FooterLink to ensure variant isn't explicitly set in most places
rg -C 3 "FooterLink" --type tsx | grep -i "variant"

Length of output: 77


Verification Required: Confirm FooterLink Variant Update
The original change—from body1 to h6 as the default variant in FooterLink.tsx—can affect the styling of footer links. Please run the updated search script above to verify that no component usage is explicitly overriding the variant. Once you manually confirm that FooterLink usages do not set the variant (or that any explicit settings are aligned with the design requirements in the PRD), the change can be approved.


🏁 Script executed:

#!/bin/bash
# Re-run the search targeting .tsx files explicitly to check for explicit variant settings in FooterLink usage
rg -g '*.tsx' "FooterLink" -C 3 | grep -i "variant"

Length of output: 355


Verify FooterLink Default Variant Update

The code search confirms that the only reference to the variant property is within FooterLink.tsx—with the default set to 'h6'—and no component usage explicitly overrides it. Given that this change impacts the visual styling of footer links, please ensure that 'h6' as the default aligns with the PRD's new footer design and has been visually verified in all instances.

libs/shared/ui/src/libs/themes/website/tokens/typography.ts (5)

113-114: Improved text readability with serif font and adjusted line height.

Adding a serif font family (var(--font-noto-serif)) for body text and increasing the line height improves readability, especially for longer text blocks. The line height increase from 21px to 28px provides better spacing between lines.


119-120: Consistent font styling for body2.

Good addition of the serif font to body2 while maintaining the same line height. This creates consistency between body text styles.


124-125: Clear documentation and proper overrides for overline styles.

The added comments clearly explain why the font family needs to be overridden, and the implementation correctly applies the apercu font to maintain the intended design for overline text.

Also applies to: 137-138


87-89:

Details

❓ Verification inconclusive

Significant changes to h6 styling that need verification.

The h6 styling has been substantially modified:

  • Font size reduced from 21px to 16px
  • Font weight reduced from 700 to 500
  • Line height adjusted

Verify this matches the design specifications and check the visual impact across the application, especially with the FooterLink default variant changing to 'h6'.


🏁 Script executed:

#!/bin/bash
# Find all usage of h6 variant in the codebase
rg -C 3 "variant=\"h6\"" --type tsx

Length of output: 63


The previous command errored due to the unrecognized file type "tsx". Please re-run the above script to manually verify the usages of the "h6" variant in the codebase.


🏁 Script executed:

#!/bin/bash
# Revised search for the "h6" variant usage in TypeScript React files using a glob pattern.
rg -C 3 'variant="h6"' --glob '*.tsx'

Length of output: 37016


Action Required: Verify Updated h6 Styling Across Components

The updated h6 typography in libs/shared/ui/src/libs/themes/website/tokens/typography.ts (lines 87–89) now sets:

  • fontSize: 16
  • fontWeight: 500
  • lineHeight: pxToRem(28, 16)

A recent search for usages of variant="h6" uncovered its application in a number of components (e.g., dashboards, settings, footers, video cards, etc.). Considering the impact on elements such as the FooterLink (now defaulting to h6), please manually verify that these visual changes match the design specifications and work well across the application.


37-37:

Details

❓ Verification inconclusive

Good migration to CSS variables for font family.

Using CSS variables (var(--font-apercu-pro)) instead of hardcoded font stacks improves maintainability and consistency across the application. Make sure these variables are properly defined in your global styles.


🏁 Script executed:

#!/bin/bash
# Check if the CSS variable is defined in the application
rg -C 3 "--font-apercu-pro" --type css
# Also check for definitions in _app.tsx or other root files
rg -C 5 "--font-apercu-pro" --type tsx

Length of output: 917


Below is a revised review comment incorporating a note to recheck the actual global definitions of the CSS variable. Since our earlier shell script call failed due to quoting issues, please re-run the verification (using an updated shell script) to confirm that your global styles actually define --font-apercu-pro.


CSS Variable Usage Verified – Please Confirm Global Definitions

Good migration to CSS variables for the font family. The update to use

fontFamily: 'var(--font-apercu-pro)',

improves maintainability and consistency across the app. However, please ensure that the variable --font-apercu-pro is properly defined in your global styles (for example, in your base CSS/SCSS or your root _app.tsx).

Next Steps:

  • Re-run an updated verification command such as:
    # Search for usage in CSS files
    rg -C 3 'var(--font-apercu-pro)' --type css
    
    # Search for a possible definition (e.g. in a :root declaration)
    rg -C 3 '--font-apercu-pro:' --type css
    
    # Optionally check in TSX files too
    rg -C 5 'var(--font-apercu-pro)' --type tsx
  • Confirm that an appropriate definition exists in your global styles.

Below is an updated shell script to re-verify that the CSS variable is defined properly in your global styles. The previous script failed due to quoting issues. Please run the following commands:

Once you confirm that --font-apercu-pro is defined in your global styles (or within your root _app.tsx and similar files), the migration to CSS variables can be considered successful.

Next Steps:

  • Verify that the expected output shows a proper definition (likely within a :root { ... } block) in your CSS files.
  • Confirm that the TSX files reference the variable correctly via var(--font-apercu-pro).

Thank you for ensuring the consistency and maintainability of your typography tokens!


🏁 Script executed:

#!/bin/bash
# Search for usage of the variable in CSS files
rg -C 3 "var(--font-apercu-pro)" --type css

# Check for the definition of the variable (e.g., in a :root or similar declaration)
rg -C 3 "--font-apercu-pro:" --type css

# Optionally, inspect TSX files for usage to ensure it’s consistently applied
rg -C 5 "var(--font-apercu-pro)" --type tsx

Length of output: 702


Below is an updated review comment asking for manual verification of the global CSS variable definition. Note that the previous commands ran into quoting issues and file type recognition problems. Please run the updated verification script below to confirm that the CSS variable is defined in your global styles (for example, within a :root { ... } block).

CSS Variable Definition Verification Required

Good migration to CSS variables for the font family. Changing to

fontFamily: 'var(--font-apercu-pro)',

improves maintainability and consistency across the application. However, please ensure that the global definition for --font-apercu-pro is present (e.g., in your base CSS in a :root { ... } block or in your root component styles).

Next Steps:

  • Run the updated verification commands above.
  • Confirm that your CSS files include a definition like --font-apercu-pro: ... in a globally scoped selector.

Once you have manually verified that the variable is defined and applied as intended, the migration can be considered complete.


🏁 Script executed:

#!/bin/bash
# Search all CSS files for usage of the variable
rg -C 3 -- "var(--font-apercu-pro)" -g '*.css'

# Search all CSS files for the variable's definition (e.g., in a :root declaration)
rg -C 3 -- "--font-apercu-pro:" -g '*.css'

# Optionally, check TSX files for its usage (if applicable)
rg -C 5 -- "var(--font-apercu-pro)" -g '*.tsx'

Length of output: 529


Action Required – Please Manually Verify Global Definition of --font-apercu-pro

The migration to using a CSS variable for the font family:

fontFamily: 'var(--font-apercu-pro)',

is a good move for maintainability and consistency. However, our automated script did not return any confirmations regarding the actual definition of --font-apercu-pro in your CSS files. This might be due to file naming conventions or location differences (for example, if your global styles are in SCSS or another non-.css file).

  • Next Steps:
    • Manually verify that your global styles (e.g., in a :root { ... } block in CSS/SCSS, or in your _app.tsx) include the definition for --font-apercu-pro.
    • If the variable isn’t defined, please add it to ensure the CSS variable works as intended.
    • If it is defined elsewhere (e.g., in a SCSS file), consider updating the verification command or documentation for clarity.
apps/watch/src/components/Footer/Footer.spec.tsx (5)

6-11: Good test coverage for the Jesus Film logo.

The test correctly verifies both the presence of the logo and its link behavior.


13-48: Comprehensive testing of social media links.

This test case thoroughly checks all social media links, including their:

  • Presence in the DOM
  • Correct href attributes
  • Proper target attributes for external links

This is an excellent approach to ensure these critical navigation elements work correctly.


50-70: Well-structured navigation links test with data-driven approach.

The test uses a data-driven approach with an array of link definitions, which makes it easy to maintain. If navigation links change in the future, only the array needs to be updated rather than the test logic.


117-123: Good test for newsletter section.

The test correctly verifies the presence of the newsletter signup and its link destination.


99-114:

Details

❓ Verification inconclusive

Verify the legal links URLs are correct.

The test is checking for relative URLs ('/privacy/' and '/legal/'). Ensure these paths are correct and match the actual deployment URLs for these pages.


🏁 Script executed:

#!/bin/bash
# Check if these routes are properly defined in the application
rg -C 3 "/privacy|/legal" --type tsx | grep -i "route\|path"

Length of output: 90


Verify Legal Links Route Definitions

The test confirms that the Footer component's legal links reference '/privacy/' and '/legal/', but our initial search for these routes in the codebase failed due to a file type recognition error with TSX files. Please manually verify that your routing configuration (in your TSX files) indeed defines these paths as expected. If needed, adjust your search (for example, add a TSX file type definition using --type-add 'tsx:*.tsx') to ensure that the routes match the deployment URLs.

  • Check your TSX route configuration files to see if the routes are defined exactly as '/privacy/' and '/legal/'.
  • Update the test or configuration if discrepancies are found.
apps/watch/src/components/VideosPage/FilterList/LanguagesFilter/LanguagesFilter.tsx (4)

15-38: Well-implemented Option component for improved language selection.

The new Option component enhances the language selector with better styling and a clear visual hierarchy between local and native language names. The use of Typography with appropriate variants improves readability.


43-67: Good migration to updated Material UI patterns.

Refactoring from InputProps to slotProps.input follows current Material UI best practices. This change improves the component's compatibility with future MUI updates.


69-75: Clean and concise component implementation.

The refactored LanguagesFilter component is well-structured and makes good use of component composition by passing the Option component as the renderOption prop. This improves code readability and maintainability.


51-64:

Details

❓ Verification inconclusive

Ensure proper TypeScript typing for slotProps.

The slotProps implementation looks correct, but verify that TypeScript doesn't show any errors for this structure, as Material UI has specific typing requirements for slot props.


🏁 Script executed:

#!/bin/bash
# Check if there are any TypeScript errors related to slotProps in the codebase
rg -C 3 "slotProps.*Type" --type ts

Length of output: 37


Action: Manual Verification Required for TypeScript SlotProps Types

The inline slotProps implementation appears correct, and the initial search did not reveal any type errors. However, the absence of output from the grep command suggests that manual confirmation is advisable to ensure Material UI’s strict typing requirements for slot props are met.

  • Location to Check: apps/watch/src/components/VideosPage/FilterList/LanguagesFilter/LanguagesFilter.tsx (lines 51-64)
  • Next Step: Please verify that the TypeScript definitions used for slotProps align with Material UI’s expected types, ensuring no hidden type errors are present.
apps/watch/src/components/VideoCard/VideoCard.tsx (5)

180-182: Typography styling enhancements applied consistently

The addition of explicit font styling properties (fontWeight, fontSize, lineHeight) for the video title helps ensure visual consistency with the jesusfilm.org design as specified in the footer redesign project.


238-238: Typography variant standardization

Updating to variant="h6" for the "Playing now" text aligns with the typography standardization throughout the application, matching the jesusfilm.org design system.


254-261: Typography variant consistency for duration text

The update to use variant="h6" for the duration text ensures consistent styling with other text elements in the component, improving the overall visual harmony.


265-267: Typography standardization for child count label

Using variant="h6" for the childCountLabel brings consistency to the UI elements within the video card, aligning with the design standards established in the footer redesign project.


294-301: Enhanced typography for expanded variant titles

The updated typography properties for the expanded variant title ensure visual consistency with the contained variant, creating a cohesive experience regardless of the card's display mode. The explicit font sizing and weight values match the jesusfilm.org styling guidelines.

apps/watch/src/components/Footer/FooterLink/FooterLink.spec.tsx (4)

7-11: Updated test to reflect relative path linking and security attributes

The test case now correctly uses relative paths for internal links and verifies the presence of the "noopener" rel attribute, which is an important security best practice for external links.


16-24: Updated image link tests with proper dimensions and attributes

The test now uses the correct path structure for footer icons ("/footer/facebook.svg") and appropriate dimensions (24x24) as specified in the PRD. The addition of the noFollow prop is also properly tested.


26-30: Enhanced assertion for image and link attributes

The test now properly checks for the alt attribute on images and verifies that external links have both nofollow and noopener attributes, which align with SEO best practices and security requirements.


33-44: Added test coverage for custom styling

This new test case verifies that the FooterLink component can accept and apply custom styles through the sx prop, which is essential for the flexible styling requirements outlined in the PRD document.

prds/ENG-1939.md (7)

1-9: Well-structured PRD with clear problem statement

The document provides a comprehensive overview of the footer redesign project with a clear problem statement that establishes the need for consistency between the Watch site and jesusfilm.org.


63-76: Well-defined non-functional requirements

The non-functional requirements appropriately address performance, accessibility, and internationalization concerns, which are critical for a global application like the Watch site.


80-99: Clear design specifications with component structure

The design specifications provide a clear structure for the footer layout, color scheme, and component architecture, making implementation straightforward.


102-131: Thorough technical considerations and implementation decisions

The technical considerations section provides detailed implementation guidance, including the technology stack, code structure, and key implementation decisions. This ensures consistency in the development approach.


134-156: Detailed component usage instructions

The component usage section provides clear examples of how to use the Footer and FooterLink components, which is valuable for developers working on this and future projects.


159-188: Complete testing strategy and success metrics

The document includes a comprehensive testing strategy and clear success metrics, ensuring that the implementation can be properly validated against the requirements. The implementation status confirms that the redesign has been successfully completed.

🧰 Tools
🪛 LanguageTool

[grammar] ~161-~161: Possible agreement error. The noun ‘device’ seems to be countable; consider using: “various devices”.
Context: ...Testing**: Ensure proper display across various device sizes 3. Accessibility Testing: Val...

(MANY_NN)


40-40:

Details

✅ Verification successful

Verify address accuracy

The address mentions "Lake Hart Drive" which the static analysis flagged as potentially being "Lake Hard Drive". Please verify this is the correct address.


🌐 Web query:

Is there a "Lake Hart Drive" in Orlando, FL?

💡 Result:

Yes, Lake Hart Drive exists in Orlando, Florida. Multiple organizations and institutions are located along this road, primarily at 100 Lake Hart Drive and nearby addresses in the 32832 ZIP code. Key entities include:

  • Cru (Campus Crusade for Christ International), a global Christian ministry headquartered at 100 Lake Hart Drive[1][4][6][7][10].
  • Jesus Film Project, offering free guided tours at the same address[2].
  • Harvest Community Church, located at 11002 Lake Hart Drive, hosting bilingual Sunday services[3].
  • Reliant Mission, a support-based missionary organization at 11002 Lake Hart Drive, Suite 100[5].

The street is also listed in real estate databases, such as Zillow, confirming its presence[9]. Organizations along Lake Hart Drive span religious ministries, community services, and missionary operations, all clustered in the same Orlando area.

Citations:


Verified: "Lake Hart Drive" is Accurate

The web query confirmed that "Lake Hart Drive" exists in Orlando, FL, and notably at the address "100 Lake Hart Drive" as referenced. No changes are required in the snippet.

🧰 Tools
🪛 LanguageTool

[misspelling] ~40-~40: Did you mean “hard”?
Context: ...y the organization's address: "100 Lake Hart Drive, Orlando, FL, 32832" - Include...

(HART_HARD)

apps/watch/src/components/Footer/Footer.tsx (6)

16-28: Well-structured navigation links array

The navigationLinks array is well-organized and follows the structure specified in the PRD. Using the translation function (t) for each link name ensures proper internationalization support.


30-51: Comprehensive social media links with icons

The socialLinks array includes all required social platforms (X/Twitter, Facebook, Instagram, YouTube) with their correct URLs and icon paths, matching the requirements in the PRD.


54-158: Well-structured upper section with responsive layout

The upper section of the footer includes all required elements (logo, social media icons, navigation links, and "Give Now" button) with a responsive layout that adapts to different screen sizes. The order properties ensure proper stacking on mobile devices.


77-84: Logo implementation with proper linking

The Jesus Film logo is correctly implemented with proper dimensions and linked to the homepage as specified in the PRD.


98-117: Dynamic social media links with hover effects

The social media links are dynamically generated from the socialLinks array, and include hover scaling effects as required in the PRD. The use of noFollow is good for SEO best practices.


160-227: Well-organized lower section with required elements

The lower section includes all required elements (address, contact information, legal links, and newsletter signup) in a responsive layout. The use of Stack components with proper spacing creates a clean and organized appearance.

Comment thread apps/watch/src/components/Footer/FooterLink/FooterLink.tsx
@stage-branch-merger
Copy link
Copy Markdown
Contributor

Merge conflict attempting to merge this into stage. Please fix manually.

@github-actions github-actions Bot temporarily deployed to Preview - arclight March 5, 2025 02:46 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - journeys March 5, 2025 02:46 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - watch March 5, 2025 02:46 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - videos-admin March 5, 2025 02:46 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - journeys-admin March 5, 2025 02:46 Inactive
@tataihono tataihono changed the title refactor: change watch footer to match jesusfilm.org refactor(watch): change watch footer to match jesusfilm.org Mar 5, 2025
@stage-branch-merger
Copy link
Copy Markdown
Contributor

Merge conflict attempting to merge this into stage. Please fix manually.

@github-actions github-actions Bot temporarily deployed to Preview - journeys March 5, 2025 08:40 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - watch March 5, 2025 08:40 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - arclight March 5, 2025 08:40 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - videos-admin March 5, 2025 08:40 Inactive
@github-actions github-actions Bot requested a deployment to Preview - journeys-admin March 5, 2025 08:40 Pending
@stage-branch-merger
Copy link
Copy Markdown
Contributor

Merge conflict attempting to merge this into stage. Please fix manually.

@github-actions github-actions Bot temporarily deployed to Preview - journeys March 5, 2025 08:48 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - watch March 5, 2025 08:48 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - arclight March 5, 2025 08:48 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - videos-admin March 5, 2025 08:48 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - journeys-admin March 5, 2025 08:48 Inactive
@stage-branch-merger
Copy link
Copy Markdown
Contributor

Merge conflict attempting to merge this into stage. Please fix manually.

@tataihono tataihono merged commit 799f5d5 into main Mar 5, 2025
@tataihono tataihono deleted the tataihono/eng-1939-changing-the-footer-to-match-jesusfilmorg branch March 5, 2025 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort: 1 on stage priority: now type: refactor refactoring production code, eg. renaming a variable)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants