Skip to content

feat: add React multilingual intranet switcher sample - #6484

Open
vystartasv wants to merge 3 commits into
pnp:mainfrom
vystartasv:feat/react-multilingual-intranet-switcher
Open

feat: add React multilingual intranet switcher sample#6484
vystartasv wants to merge 3 commits into
pnp:mainfrom
vystartasv:feat/react-multilingual-intranet-switcher

Conversation

@vystartasv

Copy link
Copy Markdown
Contributor

Description

Adds a read-only React multilingual intranet switcher sample for SPFx 1.23.2.

What changed

  • Uses bounded local JSON configuration for locale-specific navigation labels and descriptions.
  • Selects exact browser locale, language fallback, then configured default.
  • Requires explicit user selection through an accessible Fluent UI language selector.
  • Accepts only same-origin HTTP(S) links and rejects unsafe/external URLs.
  • Performs no translation, API calls, SharePoint reads, or tenant mutations.

Validation

  • npm ci
  • npm test — 6 Mocha tests passed; SPFx lint, TypeScript, Sass, and webpack validation passed.
  • gulp bundle --ship — passed.
  • gulp package-solution --ship — production .sppkg created successfully.
  • Diff, metadata, config, and secret scans passed.

A non-fatal source-map warning appears in the DEBUG pipeline from generated SCSS mapping; SHIP bundle and package complete without it.

Tenant validation requested

Please test with two or more configured locales on a SharePoint Online site, including managed paths, unsupported browser locales, malformed configuration, unsafe links, keyboard navigation, responsive layout, and users without special API permissions. Real tenant screenshots are welcome; none are fabricated locally.

@vystartasv

Copy link
Copy Markdown
Contributor Author

Could someone with a SharePoint Online tenant please validate PR #6484 with two or more configured locales and add real screenshots if possible?

Please check:

  • Exact locale selection, language fallback, and configured-default fallback.
  • Managed-path SharePoint URLs.
  • Unsafe, malformed, protocol-relative, and external URL rejection.
  • Malformed or oversized configuration behavior.
  • Keyboard navigation, visible focus, responsive layout, and screen-reader labels.
  • Behavior for users without additional API permissions.

This sample is deliberately read-only and configuration-driven. It does not translate content or call a translation service. No tenant screenshots are fabricated locally.

@github-actions

Copy link
Copy Markdown
Contributor

Validation failed!

File: samples/react-multilingual-intranet-switcher/assets/sample.json

  • Missing 'thumbnails' property!

@github-actions

Copy link
Copy Markdown
Contributor

Sample PR validation for #6484

⚠️ Validation status: warnings

We automatically validate all pull requests against our contribution guidance to ensure that all samples provide a consistent experience to our community.

In order to merge this PR in a timely manner, the following criteria must be met:

Validation Status
Pull request affects only one folder ✅ Succeeded
Sample folder name follows naming convention ✅ Succeeded
README.md contains visitor stat image ⚠️ Warning
Sample requires a .nvmrc file ✅ Succeeded
Sample requires a README.md ✅ Succeeded
Sample requires a screenshot .png in assets folder ⚠️ Warning
No .sppkg file ✅ Succeeded
No node_modules folder ✅ Succeeded
No lib folder ✅ Succeeded
No upgrade reports ✅ Succeeded

@vystartasv please address the above issues and push new changes to this branch.
For more information, see the contribution guidance.

@github-actions

Copy link
Copy Markdown
Contributor

Sample PR validation for #6484

⚠️ Validation status: warnings

We automatically validate all pull requests against our contribution guidance to ensure that all samples provide a consistent experience to our community.

In order to merge this PR in a timely manner, the following criteria must be met:

Validation Status
Pull request affects only one folder ✅ Succeeded
Sample folder name follows naming convention ✅ Succeeded
README.md contains visitor stat image ⚠️ Warning
Sample requires a .nvmrc file ✅ Succeeded
Sample requires a README.md ✅ Succeeded
Sample requires a screenshot .png in assets folder ⚠️ Warning
No .sppkg file ✅ Succeeded
No node_modules folder ✅ Succeeded
No lib folder ✅ Succeeded
No upgrade reports ✅ Succeeded

@vystartasv please address the above issues and push new changes to this branch.
For more information, see the contribution guidance.

@github-actions

Copy link
Copy Markdown
Contributor

Sample PR validation for #6484

⚠️ Validation status: warnings

We automatically validate all pull requests against our contribution guidance to ensure that all samples provide a consistent experience to our community.

In order to merge this PR in a timely manner, the following criteria must be met:

Validation Status
Pull request affects only one folder ✅ Succeeded
Sample folder name follows naming convention ✅ Succeeded
README.md contains visitor stat image ✅ Succeeded
Sample requires a .nvmrc file ✅ Succeeded
Sample requires a README.md ✅ Succeeded
Sample requires a screenshot .png in assets folder ⚠️ Warning
No .sppkg file ✅ Succeeded
No node_modules folder ✅ Succeeded
No lib folder ✅ Succeeded
No upgrade reports ✅ Succeeded

@vystartasv please address the above issues and push new changes to this branch.
For more information, see the contribution guidance.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant