-
Notifications
You must be signed in to change notification settings - Fork 4.4k
KTL-3869: kmp landing: case studies #5220
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
KTL-3869: kmp landing: case studies #5220
Conversation
6f6e6c0 to
17d467e
Compare
data/case-studies/case-studies.yml
Outdated
| carousel: | ||
| logo: /images/case-studies/duolingo-logo.svg | ||
| link: 'https://youtu.be/RJtiFt5pbfs' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that the carousel's logo is often the same as the main one.
What do you think making it optional? Use the main one if there's no special one for carousel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ fixed
See data/case-studies/case-studies.yml
Examples
- If case doesn't have
carouselit will not be shown in carousel. (not all logos are ready) - Custom logo only:
carousel: logo: /images/case-studies/carousel/google.svg
- All default settings ready for carusel:
carousel: true
- With custom link AND/OR:
carousel: logo: /images/case-studies/carousel/aws.svg link: https://www.youtube.com/live/Ar73Axsz2YA?si=E2qlkuznF9B2MXou&t=2766
Also
I've add alternateLogo as logo for dark background.
It has a special logic for carousel logo: customer-logo-marquee/multiplatform-logos.ts
But i'm not sure it will be clear for operators of yaml
5c9977f to
dae3587
Compare
17d467e to
b9c97b7
Compare
b9c97b7 to
8aaaea8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, i wait your response.
data/case-studies/case-studies.yml
Outdated
| carousel: | ||
| logo: /images/case-studies/duolingo-logo.svg | ||
| link: 'https://youtu.be/RJtiFt5pbfs' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ fixed
See data/case-studies/case-studies.yml
Examples
- If case doesn't have
carouselit will not be shown in carousel. (not all logos are ready) - Custom logo only:
carousel: logo: /images/case-studies/carousel/google.svg
- All default settings ready for carusel:
carousel: true
- With custom link AND/OR:
carousel: logo: /images/case-studies/carousel/aws.svg link: https://www.youtube.com/live/Ar73Axsz2YA?si=E2qlkuznF9B2MXou&t=2766
Also
I've add alternateLogo as logo for dark background.
It has a special logic for carousel logo: customer-logo-marquee/multiplatform-logos.ts
But i'm not sure it will be clear for operators of yaml
nikpachoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👏👏👏
5275b6c to
09a83cb
Compare
…se studies provider functionality - Introduce `MultiplatformCaseStudies` component and integrate with the `FilteredCasesProvider`. - Implement new filtering logic with customizable `FilterOptions` for case studies. - Add `RouterCasesProvider` for dynamic filters from router query parameters. - Update `multiplatform/index.tsx` to include the new filtered case studies section. - Refactor `case-studies/index.tsx` to utilize `RouterCasesProvider` for better data handling and maintainability. # Conflicts: # pages/multiplatform/index.tsx
- Move `CustomerLogoMarqueeSection` and related assets to `components` for improved modularity. - Refactor `CustomerLogoMarqueeSection` to accept dynamic `items` prop instead of hardcoded data. - Update `server-side` and `multiplatform` page implementations to use the updated component. - Enhance maintainability by restructuring logo data into `server-side-logos` with proper typings.
…udies - Refactor `use-filtered-cases.tsx` to adjust preprocessing and filtering order for better data handling. - Enhance `grid.tsx` with immutable types (`as const` and `Object.freeze`) for stricter typing. - Update `CASES_HIGHLIGHTED` logic to reverse order and limit the number of highlighted items dynamically.
…ection integration - Add responsive styles for customer logo block using new CSS module. - Update `CustomerLogoMarqueeSection` to support `className` prop for flexibility. - Integrate updated `className` prop in `CustomerLogos` module.
…rnate logos - Introduce `mode` prop for `CaseStudyCard` to enable dark mode styling. - Add support for `alternateLogo` in `case-studies.yml` to provide dark mode assets. - Update `CaseStudiesGrid` and `CaseStudies` components to handle `rock` mode display. - Implement centralized logo logic in `CaseStudyCardText` for better asset selection. - Enhance CSS for dark and light themes in `case-studies-card.module.css`. - Add `Explore more customer stories` button with navigation logic in `CaseStudies`.
…e case studies data - Refactor `multiplatform-logos.ts` to improve link and logo selection logic with support for alternate assets and YouTube links. - Simplify and standardize `carousel` field usage in `case-studies.yml` by consolidating properties and reducing redundancy. - Ensure consistent handling of logos and links for multiplatform case studies.
… layout - Refactor `CaseStudiesGrid` to support `className` prop and improve composability. - Introduce `CaseStudiesSection` for wrapping grid layout in a semantic section. - Update `grid.module.css` with new responsive styles for section and grid containers. - Add responsive button sizing in `CaseStudies` using `useMS` hook.
…tyling - Replace `<div>` with semantic tags like `<section>` and `<article>` for better accessibility and structure across multiplatform components. - Add responsive styling to FAQ and customer logo sections for consistency. - Integrate `faq-block.module.css` for improved layout and maintainability of FAQ component. # Conflicts: # blocks/multiplatform/choose-share/blocks/where/index.tsx
- Introduce `alternateLogo` field for dark background assets in `case-studies.json`. - Add `carousel` field with support for enabling or customizing homepage carousel visuals. - Update YAML documentation with examples and guidelines for new fields.
caa25c7 to
e518350
Compare
…dies KTL-3869: kmp landing: case studies
…dies KTL-3869: kmp landing: case studies
…dies KTL-3869: kmp landing: case studies
This pull request refactors the case studies and customer logo marquee features to improve reusability and composability across multiple landing pages.
It introduces context-based filtering for case studies, modularizes the customer logo marquee component, and updates usage in relevant landing pages.
Case Studies Filtering and Context Refactor
CaseStudiesContext) and provider components (FilteredCasesProvider,RouterCasesProvider) for filtered case studies, enabling flexible filtering and preprocessing of case study data via context instead of direct hooks.RouterCasesProviderfor context-based filtering, simplifying data flow and enabling easier composition.Customer Logo Marquee Modularization
components/customer-logo-marquee), now accepting a list of logo items as a prop rather than using internal static data.server-side-logos.ts), typed with the newLogoIteminterface, and updated imports accordingly.