diff --git a/README.md b/README.md index 3f38c153..24238669 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

-logo -logo +logo +logo

**Compass Connect** is an AI chatbot designed to assist job-seekers in exploring and discovering their skills. diff --git a/config/CUSTOMIZATION.md b/config/CUSTOMIZATION.md index bf3ac1a1..d96259be 100644 --- a/config/CUSTOMIZATION.md +++ b/config/CUSTOMIZATION.md @@ -19,6 +19,7 @@ Only options exposed in these sections are customizable. Core application logic, ## App Name & Tab Title - `branding.appName` — name displayed throughout the application +- `branding.country` — country name shown in dashboard (e.g. "opportunities in Zambia"); defaults to "your country" when unset - `branding.browserTabTitle` — text shown in the browser tab ## SEO Metadata diff --git a/config/default.json b/config/default.json index 8a65669d..f8449aa5 100644 --- a/config/default.json +++ b/config/default.json @@ -1,6 +1,7 @@ { "branding": { "appName": "Njila", + "country": "Zambia", "browserTabTitle": "Njila", "metaDescription": "Welcome to Njila! An AI-powered career assistant that helps jobseekers identify and showcase their skills. Join now to create a digital profile and connect with new opportunities.", "seo": { diff --git a/config/inject-config.py b/config/inject-config.py index 308662f4..c6d8362b 100644 --- a/config/inject-config.py +++ b/config/inject-config.py @@ -27,6 +27,7 @@ FRONTEND_ENV_MAP: Dict[str, str] = { 'GLOBAL_PRODUCT_NAME': 'branding.appName', + 'GLOBAL_COUNTRY_NAME': 'branding.country', 'FRONTEND_BROWSER_TAB_TITLE': 'branding.browserTabTitle', 'FRONTEND_META_DESCRIPTION': 'branding.metaDescription', 'FRONTEND_LOGO_URL': 'branding.assets.logo', diff --git a/config/njira.json b/config/njira.json index 325bff45..e99bb71b 100644 --- a/config/njira.json +++ b/config/njira.json @@ -1,6 +1,7 @@ { "branding": { "appName": "Njila", + "country": "Zambia", "browserTabTitle": "Njila", "metaDescription": "Welcome to Njila. An AI-powered career assistant that helps jobseekers identify and showcase their skills. Join now to create a digital profile and connect with new opportunities.", "seo": { diff --git a/frontend-new/README.md b/frontend-new/README.md index 01c9d6dc..81685bdb 100644 --- a/frontend-new/README.md +++ b/frontend-new/README.md @@ -68,6 +68,7 @@ To develop this application locally, follow these steps: - `FRONTEND_DISABLE_REGISTRATION`: (**Optional**) A boolean value to disable the registration entirely. - `FRONTEND_DISABLE_SOCIAL_AUTH`: (**Optional**) A boolean value to disable social authentication options on the login and registration pages. - `FRONTEND_FEATURES`: (**optional**) A JSON like dictionary with the features enabled status and configurations specific to each feature. + - `FRONTEND_HIDE_PROGRAM_SKILLS`: (**Optional**) A boolean value to hide the program-skills section in 3 places: the home dashboard sidebar, the skills-discovery chat sidebar, and (as "Education Skills") the profile page. Shown by default; set to `true` to hide it in all three. - `FRONTEND_SUPPORTED_LOCALES`:(**Mandatory**) A JSON array of enabled locale codes (e.g., ["en-GB", "en-US","es-ES","es-AR", "fr-FR"]). Refer to the constant [SupportedLocales](./src/i18n/constants.ts#SupportedLocales) for more about the supported locales. They must follow [IETF BCP 47](https://www.ietf.org/rfc/bcp/bcp47.txt) format. - `FRONTEND_DEFAULT_LOCALE`:(**Mandatory**) Default UI language to use if the user preference is not set. It must be one of the supported locales. diff --git a/frontend-new/public/data/env.example.js b/frontend-new/public/data/env.example.js index 490d0613..68e336f6 100644 --- a/frontend-new/public/data/env.example.js +++ b/frontend-new/public/data/env.example.js @@ -85,6 +85,10 @@ window.tabiyaConfig = { // CV Upload feature flag (optional, defaults to false if not set) GLOBAL_ENABLE_CV_UPLOAD: btoa("true"), + // Hides the program-skills section in 3 places: home dashboard sidebar, build your profile + // chat sidebar, and (as "Education Skills") the profile page. Shown by default; "true" to hide. + FRONTEND_HIDE_PROGRAM_SKILLS: btoa("false"), + // Optional features settings. // ################################################################ // # Optional Features settings @@ -95,6 +99,8 @@ window.tabiyaConfig = { // # Branding Settings // ################################################################ GLOBAL_PRODUCT_NAME: btoa("Compass"), + // Country name shown in user-facing dashboard copy (optional; defaults to "your country" if unset) + GLOBAL_COUNTRY_NAME: btoa("Zambia"), FRONTEND_BROWSER_TAB_TITLE: btoa("Compass"), FRONTEND_META_DESCRIPTION: btoa( "Welcome to Compass! An AI-powered career assistant that helps jobseekers identify and showcase their skills." diff --git a/frontend-new/src/_test_utilities/envServiceMock.ts b/frontend-new/src/_test_utilities/envServiceMock.ts index bda16b7a..95398d1a 100644 --- a/frontend-new/src/_test_utilities/envServiceMock.ts +++ b/frontend-new/src/_test_utilities/envServiceMock.ts @@ -15,6 +15,7 @@ jest.mock("src/envService", () => ({ getSupportedLocales: jest.fn(() => JSON.stringify(["en-US"])), getDefaultLocale: jest.fn(() => "en-US"), getProductName: jest.fn(() => "mockProduct"), + getCountryName: jest.fn(() => "your country"), getBrowserTabTitle: jest.fn(() => "Mocked Browser Tab Title"), getMetaDescription: jest.fn(() => "Mocked Meta Description"), getSeoEnvVar: jest.fn(() => "{}"), @@ -31,6 +32,7 @@ jest.mock("src/envService", () => ({ getGtmEnabled: jest.fn(() => "false"), getChatAvatarUrl: jest.fn(() => ""), getFaqTutorialVideoUrl: jest.fn(() => ""), + getProgramSkillsVisibility: jest.fn(() => true), getIllustrationUrls: jest.fn(() => ({ loginHero: { src: "/climber.svg" }, loginFeature1: { src: "/conversation.svg" }, diff --git a/frontend-new/src/envService.test.ts b/frontend-new/src/envService.test.ts index 34d4b20b..263c862c 100644 --- a/frontend-new/src/envService.test.ts +++ b/frontend-new/src/envService.test.ts @@ -30,6 +30,8 @@ import { getSkillsReportOutputConfigEnvVar, getFaqTutorialVideoUrl, getPartnerLogos, + getCountryName, + getProgramSkillsVisibility, } from "./envService"; import { getRandomString } from "./_test_utilities/specialCharacters"; @@ -273,3 +275,65 @@ describe("Ensure Required Environment Variables", () => { expect(console.warn).not.toHaveBeenCalled(); }); }); + +describe("GLOBAL_COUNTRY_NAME Getter (getCountryName) tests", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("should return the default 'your country' and warn when GLOBAL_COUNTRY_NAME is not set", () => { + // GIVEN the GLOBAL_COUNTRY_NAME environment variable is not set + Object.defineProperty(window, "tabiyaConfig", { + value: {}, + writable: true, + }); + + // WHEN getCountryName is called + const actualCountryName = getCountryName(); + + // THEN expect it to return the generic default + expect(actualCountryName).toBe("your country"); + // AND expect a warning to have been logged + expect(console.warn).toHaveBeenCalledWith("Country name not set, keeping the default"); + }); + + test("should return the configured value when GLOBAL_COUNTRY_NAME is set", () => { + // GIVEN the GLOBAL_COUNTRY_NAME environment variable is set to a base64 encoded value + Object.defineProperty(window, "tabiyaConfig", { + value: { + GLOBAL_COUNTRY_NAME: btoa("Zambia"), + }, + writable: true, + }); + + // WHEN getCountryName is called + const actualCountryName = getCountryName(); + + // THEN expect it to return the decoded value without warning + expect(actualCountryName).toBe("Zambia"); + expect(console.warn).not.toHaveBeenCalled(); + }); +}); + +describe("FRONTEND_HIDE_PROGRAM_SKILLS Getter (getProgramSkillsVisibility) tests", () => { + test.each([ + ["unset", {}, true], + ["empty", { FRONTEND_HIDE_PROGRAM_SKILLS: btoa("") }, true], + ["'false'", { FRONTEND_HIDE_PROGRAM_SKILLS: btoa("false") }, true], + ["'true'", { FRONTEND_HIDE_PROGRAM_SKILLS: btoa("true") }, false], + ["'TRUE' (case-insensitive)", { FRONTEND_HIDE_PROGRAM_SKILLS: btoa("TRUE") }, false], + ["a non-boolean value", { FRONTEND_HIDE_PROGRAM_SKILLS: btoa("something") }, true], + ])("should resolve visibility correctly when the flag is %s", (_description, config, expectedVisibility) => { + // GIVEN the FRONTEND_HIDE_PROGRAM_SKILLS environment variable is in the given state + Object.defineProperty(window, "tabiyaConfig", { + value: config, + writable: true, + }); + + // WHEN getProgramSkillsVisibility is called + const actualVisibility = getProgramSkillsVisibility(); + + // THEN expect it to reflect whether the section should be shown + expect(actualVisibility).toBe(expectedVisibility); + }); +}); diff --git a/frontend-new/src/envService.ts b/frontend-new/src/envService.ts index 6ea02f6d..fec8e75c 100644 --- a/frontend-new/src/envService.ts +++ b/frontend-new/src/envService.ts @@ -40,6 +40,8 @@ export enum EnvVariables { FRONTEND_GTM_ENABLED = "FRONTEND_GTM_ENABLED", FRONTEND_FAQ_TUTORIAL_VIDEO_URL = "FRONTEND_FAQ_TUTORIAL_VIDEO_URL", FRONTEND_ILLUSTRATIONS = "FRONTEND_ILLUSTRATIONS", + FRONTEND_HIDE_PROGRAM_SKILLS = "FRONTEND_HIDE_PROGRAM_SKILLS", + GLOBAL_COUNTRY_NAME = "GLOBAL_COUNTRY_NAME", } export const requiredEnvVariables = [ @@ -224,6 +226,16 @@ export const getProductName = () => { return envAppName; }; +export const getCountryName = () => { + const envCountryName = getEnv(EnvVariables.GLOBAL_COUNTRY_NAME); + if (!envCountryName) { + console.warn("Country name not set, keeping the default"); + return "your country"; + } + + return envCountryName; +}; + export const getBrowserTabTitle = () => getEnv(EnvVariables.FRONTEND_BROWSER_TAB_TITLE); export const getMetaDescription = () => getEnv(EnvVariables.FRONTEND_META_DESCRIPTION); @@ -238,6 +250,9 @@ export const getGtmEnabled = () => getEnv(EnvVariables.FRONTEND_GTM_ENABLED); export const getFaqTutorialVideoUrl = () => getEnv(EnvVariables.FRONTEND_FAQ_TUTORIAL_VIDEO_URL); +export const getProgramSkillsVisibility = () => + getEnv(EnvVariables.FRONTEND_HIDE_PROGRAM_SKILLS).toLowerCase() !== "true"; + export const getLogoUrl = () => getEnv(EnvVariables.FRONTEND_LOGO_URL); /** diff --git a/frontend-new/src/home/components/Footer/__snapshots__/Footer.test.tsx.snap b/frontend-new/src/home/components/Footer/__snapshots__/Footer.test.tsx.snap index 49d928b1..afabba69 100644 --- a/frontend-new/src/home/components/Footer/__snapshots__/Footer.test.tsx.snap +++ b/frontend-new/src/home/components/Footer/__snapshots__/Footer.test.tsx.snap @@ -75,7 +75,7 @@ exports[`Footer should render the footer container, logos, links, and collaborat class="MuiTypography-root MuiTypography-body1 css-b00ug-MuiTypography-root" data-testid="footer-collaboration-a7f3d2b1-8e4c-4a9f-b6d5-3c1e2f7a8b9d" > - mockProduct is a free career guidance tool offered by the Zambia Ministry of Technology and Science, built in partnership with the World Bank Group and Tabiya. + mockProduct is a free career guidance tool offered by the {{country}} Ministry of Technology and Science, built in partnership with the World Bank Group and Tabiya.

diff --git a/frontend-new/src/home/components/Sidebar/HomeSidebar.tsx b/frontend-new/src/home/components/Sidebar/HomeSidebar.tsx index abe6a258..6ddc4a4a 100644 --- a/frontend-new/src/home/components/Sidebar/HomeSidebar.tsx +++ b/frontend-new/src/home/components/Sidebar/HomeSidebar.tsx @@ -5,6 +5,7 @@ import Sidebar from "src/theme/Sidebar/Sidebar"; import { useWorkSkills } from "src/experiences/hooks/useWorkSkills"; import { useExperiencesDrawer } from "src/experiences/ExperiencesDrawerProvider"; import { useUserProfileContext } from "src/profile/UserProfileContext"; +import { getProgramSkillsVisibility } from "src/envService"; import SectionTitle from "src/home/components/Sidebar/SectionTitle"; import ChipList from "src/home/components/Sidebar/ChipList"; import ViewCVCard from "src/home/components/Sidebar/ViewCVCard"; @@ -42,6 +43,8 @@ const HomeSidebar: React.FC = ({ showViewCvButton = true }) => const quaternaryBg = theme.palette.quaternary.main; const quaternaryText = theme.palette.quaternary.contrastText; + const isProgramSkillsVisible = getProgramSkillsVisibility(); + const handleViewCV = () => void openExperiencesDrawer(); return ( @@ -60,20 +63,22 @@ const HomeSidebar: React.FC = ({ showViewCvButton = true }) => expandButtonTestId={DATA_TEST_ID.HOME_SIDEBAR_SKILLS_FROM_WORK_EXPAND_BUTTON} /> - - {t("home.sidebar.home.skillsFromTEVET")} - - + {isProgramSkillsVisible && ( + + {t("home.sidebar.home.skillsFromTEVET")} + + + )} {showViewCvButton && ( {t("home.sidebar.home.myExperience")} diff --git a/frontend-new/src/home/components/Sidebar/SkillsDiscoverySidebar.tsx b/frontend-new/src/home/components/Sidebar/SkillsDiscoverySidebar.tsx index 636f9875..96653b3b 100644 --- a/frontend-new/src/home/components/Sidebar/SkillsDiscoverySidebar.tsx +++ b/frontend-new/src/home/components/Sidebar/SkillsDiscoverySidebar.tsx @@ -2,6 +2,7 @@ import React, { useCallback, useEffect, useRef, useState } from "react"; import { Box, useTheme } from "@mui/material"; import { useTranslation } from "react-i18next"; import Sidebar from "src/theme/Sidebar/Sidebar"; +import { getProgramSkillsVisibility } from "src/envService"; import SidebarService from "src/home/components/Sidebar/SidebarService"; import type { SkillsData } from "src/home/components/Sidebar/SidebarService"; import ChatProgressBar from "src/chat/chatProgressbar/ChatProgressBar"; @@ -84,10 +85,11 @@ const SkillsDiscoverySidebar: React.FC = ({ current }; }, [load, refreshToken]); + const isProgramSkillsVisible = getProgramSkillsVisibility(); const workSkills = data?.skills ?? []; const hasMore = workSkills.length > COLLAPSE_AFTER; const visibleWorkSkills = hasMore && !expanded ? workSkills.slice(0, COLLAPSE_AFTER) : workSkills; - const hasAnySkills = workSkills.length > 0 || programmeSkills.length > 0; + const hasAnySkills = workSkills.length > 0 || (isProgramSkillsVisible && programmeSkills.length > 0); return ( @@ -189,7 +191,7 @@ const SkillsDiscoverySidebar: React.FC = ({ current )} {/* Programme skills */} - {programmeSkills.length > 0 && ( + {isProgramSkillsVisible && programmeSkills.length > 0 && ( {t("home.sidebar.skillsDiscovery.fromTEVET")} diff --git a/frontend-new/src/i18n/i18n.ts b/frontend-new/src/i18n/i18n.ts index 5ed71efa..1aa9459d 100644 --- a/frontend-new/src/i18n/i18n.ts +++ b/frontend-new/src/i18n/i18n.ts @@ -5,7 +5,7 @@ import { DEFAULT_LOCALE, FALL_BACK_LOCALE, Locale, SupportedLocales } from "./co import { constructLocaleResources } from "./utils"; import { ConfigurationError } from "../error/commonErrors"; import { parseEnvSupportedLocales } from "./languageContextMenu/parseEnvSupportedLocales"; -import { getProductName } from "src/envService"; +import { getProductName, getCountryName } from "src/envService"; // --- Import translations --- import enGb from "./locales/en-GB/translation.json"; @@ -62,6 +62,9 @@ const envSupportedLocales = parseEnvSupportedLocales(); // Get product name from environment variable const productName = getProductName(); +// Get the country name from the environment variable (defaults to a generic "your country") +const countryName = getCountryName(); + i18n .use(LanguageDetector) .use(initReactI18next) @@ -94,6 +97,7 @@ i18n escapeValue: false, defaultVariables: { appName: productName, + country: countryName, }, }, }); diff --git a/frontend-new/src/i18n/locales/en-GB/translation.json b/frontend-new/src/i18n/locales/en-GB/translation.json index 23ad6f7a..57dcfab2 100644 --- a/frontend-new/src/i18n/locales/en-GB/translation.json +++ b/frontend-new/src/i18n/locales/en-GB/translation.json @@ -310,7 +310,7 @@ "feature1Title": "Discover your strengths", "feature1Body": "Find out what skills you already have — from your training, your work, and your life.", "feature2Title": "Build a CV that gets noticed", - "feature2Body": "Create a professional CV tailored to what employers in Zambia are looking for.", + "feature2Body": "Create a professional CV tailored to what employers in {{country}} are looking for.", "feature3Title": "Find your path", "feature3Body": "Explore in-demand careers, understand what qualifications you need, and match to real job openings." }, @@ -978,7 +978,7 @@ "dashboard": "Your Career Hub", "backToDashboard": "Back to dashboard", "welcomeBack": "Welcome back, {{name}}", - "subtitle": "{{appName}} is the bridge between what you've learned and where you're headed. Chat with AI to surface your skills, prep for interviews, and explore real career routes across Zambia.", + "subtitle": "{{appName}} is the bridge between what you've learned and where you're headed. Chat with AI to surface your skills, prep for interviews, and explore real career routes across {{country}}.", "profileStrength": "Your current profile strength is {{progress}}%.", "profileStrengthHint": "That's a strong start — try My Skills & Interests to surface more about what you know and enjoy.", "seeProfile": "See profile →", @@ -987,7 +987,7 @@ "hero": { "headline1": "Let's discover", "headline2": "Your skills & strengths", - "body": "Your guided path from skills to your first job. Start by discovering what you bring to the table — then explore careers, build career readiness, and find real opportunities in Zambia.", + "body": "Your guided path from skills to your first job. Start by discovering what you bring to the table — then explore careers, build career readiness, and find real opportunities in {{country}}.", "illustrationAlt": "Person at a signpost on a path, exploring career directions" }, "cta": { @@ -998,7 +998,7 @@ "explorePathsDesc": "Explore the sectors and careers you are interested in - salaries, qualifications pathways, training programs, top employers.", "explorePathsCta": "Explore Career Paths", "jobMatchesTitle": "Job Matches", - "jobMatchesDesc": "Real openings across Zambia, matched to what you can do right now.", + "jobMatchesDesc": "Real openings across {{country}}, matched to what you can do right now.", "jobMatchesCta": "Browse your jobs" }, "jobReadySection": { @@ -1109,7 +1109,7 @@ "jobReadinessDesc": "Build job readiness through guided AI modules — from understanding your professional identity and CV writing to interviews, workplace readiness, and entrepreneurship.", "careerExplorerDesc": "Explore career pathways in Energy, Mining, Agriculture and more — with salary data and qualification routes.", "knowledgeHubDesc": "Explore sector profiles, salary benchmarks, and TEVET qualification pathways all in one place.", - "jobMatchingDesc": "See how your skills match to real job openings and explore labour market insights across Zambia.", + "jobMatchingDesc": "See how your skills match to real job openings and explore labour market insights across {{country}}.", "continue": "Continue", "completed": "Completed", "soon": "Soon", @@ -1120,7 +1120,7 @@ "termsOfUse": "Terms of Use", "accessibility": "Accessibility", "contact": "Contact", - "collaboration": "{{appName}} is a free career guidance tool offered by the Zambia Ministry of Technology and Science, built in partnership with the World Bank Group and Tabiya.", + "collaboration": "{{appName}} is a free career guidance tool offered by the {{country}} Ministry of Technology and Science, built in partnership with the World Bank Group and Tabiya.", "compassConnectLine1": "This is a demo deployment of Compass Connect — a customizable, open-source career guidance tool built by Tabiya.", "compassConnectLine2": "Built on Compass, Tabiya's open-source conversational tool for jobseekers.", "worldBankLogoAlt": "World Bank Group Logo", diff --git a/frontend-new/src/i18n/locales/en-US/translation.json b/frontend-new/src/i18n/locales/en-US/translation.json index df71c34f..4133a440 100644 --- a/frontend-new/src/i18n/locales/en-US/translation.json +++ b/frontend-new/src/i18n/locales/en-US/translation.json @@ -310,7 +310,7 @@ "feature1Title": "Discover your strengths", "feature1Body": "Find out what skills you already have — from your training, your work, and your life.", "feature2Title": "Build a CV that gets noticed", - "feature2Body": "Create a professional CV tailored to what employers in Zambia are looking for.", + "feature2Body": "Create a professional CV tailored to what employers in {{country}} are looking for.", "feature3Title": "Find your path", "feature3Body": "Explore in-demand careers, understand what qualifications you need, and match to real job openings." }, @@ -978,7 +978,7 @@ "dashboard": "Your Career Hub", "backToDashboard": "Back to dashboard", "welcomeBack": "Welcome back, {{name}}", - "subtitle": "{{appName}} is the bridge between what you've learned and where you're headed. Chat with AI to surface your skills, prep for interviews, and explore real career routes across Zambia.", + "subtitle": "{{appName}} is the bridge between what you've learned and where you're headed. Chat with AI to surface your skills, prep for interviews, and explore real career routes across {{country}}.", "profileStrength": "Your current profile strength is {{progress}}%.", "profileStrengthHint": "That's a strong start — try My Skills & Interests to surface more about what you know and enjoy.", "seeProfile": "See profile →", @@ -987,7 +987,7 @@ "hero": { "headline1": "Let's discover", "headline2": "Your skills & strengths", - "body": "Your guided path from skills to your first job. Start by discovering what you bring to the table — then explore careers, build career readiness, and find real opportunities in Zambia.", + "body": "Your guided path from skills to your first job. Start by discovering what you bring to the table — then explore careers, build career readiness, and find real opportunities in {{country}}.", "illustrationAlt": "Person at a signpost on a path, exploring career directions" }, "cta": { @@ -998,7 +998,7 @@ "explorePathsDesc": "Explore the sectors and careers you are interested in - salaries, qualifications pathways, training programs, top employers.", "explorePathsCta": "Explore Career Paths", "jobMatchesTitle": "Job Matches", - "jobMatchesDesc": "Real openings across Zambia, matched to what you can do right now.", + "jobMatchesDesc": "Real openings across {{country}}, matched to what you can do right now.", "jobMatchesCta": "Browse your jobs" }, "jobReadySection": { @@ -1109,7 +1109,7 @@ "jobReadinessDesc": "Build job readiness through guided AI modules — from understanding your professional identity and CV writing to interviews, workplace readiness, and entrepreneurship.", "careerExplorerDesc": "Explore career pathways in Energy, Mining, Agriculture and more — with salary data and qualification routes.", "knowledgeHubDesc": "Explore sector profiles, salary benchmarks, and TEVET qualification pathways all in one place.", - "jobMatchingDesc": "See how your skills match to real job openings and explore labour market insights across Zambia.", + "jobMatchingDesc": "See how your skills match to real job openings and explore labour market insights across {{country}}.", "continue": "Continue", "completed": "Completed", "soon": "Soon", @@ -1120,7 +1120,7 @@ "termsOfUse": "Terms of Use", "accessibility": "Accessibility", "contact": "Contact", - "collaboration": "{{appName}} is a free career guidance tool offered by the Zambia Ministry of Technology and Science, built in partnership with the World Bank Group and Tabiya.", + "collaboration": "{{appName}} is a free career guidance tool offered by the {{country}} Ministry of Technology and Science, built in partnership with the World Bank Group and Tabiya.", "compassConnectLine1": "This is a demo deployment of Compass Connect — a customizable, open-source career guidance tool built by Tabiya.", "compassConnectLine2": "Built on Compass, Tabiya's open-source conversational tool for jobseekers.", "worldBankLogoAlt": "World Bank Group Logo", diff --git a/frontend-new/src/i18n/locales/es-AR/translation.json b/frontend-new/src/i18n/locales/es-AR/translation.json index 0cec3093..403aa50e 100644 --- a/frontend-new/src/i18n/locales/es-AR/translation.json +++ b/frontend-new/src/i18n/locales/es-AR/translation.json @@ -310,7 +310,7 @@ "feature1Title": "Descubrí tus fortalezas", "feature1Body": "Descubrí qué habilidades ya tenés — de tu formación, tu trabajo y tu vida.", "feature2Title": "Creá un CV que destaque", - "feature2Body": "Creá un CV profesional adaptado a lo que buscan los empleadores en Zambia.", + "feature2Body": "Creá un CV profesional adaptado a lo que buscan los empleadores en {{country}}.", "feature3Title": "Encontrá tu camino", "feature3Body": "Explorá carreras demandadas, entendé qué calificaciones necesitás y conectate con ofertas reales." }, @@ -1086,7 +1086,7 @@ "hero": { "headline1": "Descubramos", "headline2": "Tus habilidades y fortalezas", - "body": "Tu camino guiado desde las habilidades hasta tu primer empleo. Empezá descubriendo lo que aportás: después explorá carreras, desarrollá tu preparación laboral y encontrá oportunidades reales en Zambia.", + "body": "Tu camino guiado desde las habilidades hasta tu primer empleo. Empezá descubriendo lo que aportás: después explorá carreras, desarrollá tu preparación laboral y encontrá oportunidades reales en {{country}}.", "illustrationAlt": "Persona en un poste de señales en un camino, explorando direcciones profesionales" }, "cta": { @@ -1097,7 +1097,7 @@ "explorePathsDesc": "Explorá los sectores y carreras que te interesan: salarios, trayectorias de calificación, programas de formación y principales empleadores.", "explorePathsCta": "Explorar trayectorias profesionales", "jobMatchesTitle": "Coincidencias de empleo", - "jobMatchesDesc": "Vacantes reales en Zambia, ajustadas a lo que podés hacer ahora mismo.", + "jobMatchesDesc": "Vacantes reales en {{country}}, ajustadas a lo que podés hacer ahora mismo.", "jobMatchesCta": "Explorá tus empleos" }, "jobReadySection": { @@ -1208,7 +1208,7 @@ "jobReadinessDesc": "Desarrollá habilidades esenciales para el trabajo a través de módulos guiados por IA — desde redacción de CV hasta práctica de entrevistas.", "careerExplorerDesc": "Explorá caminos profesionales en Energía, Minería, Agricultura y más — con datos salariales y rutas de calificación.", "knowledgeHubDesc": "Explorá perfiles sectoriales, referencias salariales y rutas de calificación TEVET en un solo lugar.", - "jobMatchingDesc": "Mirá cómo tus habilidades coinciden con ofertas de trabajo reales y explorá información del mercado laboral en Zambia.", + "jobMatchingDesc": "Mirá cómo tus habilidades coinciden con ofertas de trabajo reales y explorá información del mercado laboral en {{country}}.", "continue": "Continuar", "completed": "Completado", "soon": "Pronto", @@ -1219,7 +1219,7 @@ "termsOfUse": "Términos de Uso", "accessibility": "Accesibilidad", "contact": "Contacto", - "collaboration": "{{appName}} es una herramienta gratuita de orientación profesional ofrecida por el Ministerio de Tecnología y Ciencia de Zambia, desarrollada en colaboración con el Grupo del Banco Mundial y Tabiya.", + "collaboration": "{{appName}} es una herramienta gratuita de orientación profesional ofrecida por el Ministerio de Tecnología y Ciencia de {{country}}, desarrollada en colaboración con el Grupo del Banco Mundial y Tabiya.", "compassConnectLine1": "Esta es una implementación de demostración de Compass Connect — una herramienta de orientación profesional personalizable y de código abierto, desarrollada por Tabiya.", "compassConnectLine2": "Construida sobre Compass, la herramienta conversacional de código abierto de Tabiya para personas en búsqueda de empleo.", "worldBankLogoAlt": "Logo del Grupo Banco Mundial", diff --git a/frontend-new/src/i18n/locales/es-ES/translation.json b/frontend-new/src/i18n/locales/es-ES/translation.json index aab5219d..6d0219fb 100644 --- a/frontend-new/src/i18n/locales/es-ES/translation.json +++ b/frontend-new/src/i18n/locales/es-ES/translation.json @@ -310,7 +310,7 @@ "feature1Title": "Descubre tus fortalezas", "feature1Body": "Descubre qué habilidades ya tienes — de tu formación, tu trabajo y tu vida.", "feature2Title": "Crea un CV que destaque", - "feature2Body": "Crea un CV profesional adaptado a lo que buscan los empleadores en Zambia.", + "feature2Body": "Crea un CV profesional adaptado a lo que buscan los empleadores en {{country}}.", "feature3Title": "Encuentra tu camino", "feature3Body": "Explora carreras demandadas, entiende qué cualificaciones necesitas y conéctate con ofertas reales." }, @@ -993,7 +993,7 @@ "hero": { "headline1": "Descubramos", "headline2": "Tus habilidades y fortalezas", - "body": "Tu camino guiado desde las habilidades hasta tu primer empleo. Empieza descubriendo lo que aportas: luego explora carreras, desarrolla tu preparación profesional y encuentra oportunidades reales en Zambia.", + "body": "Tu camino guiado desde las habilidades hasta tu primer empleo. Empieza descubriendo lo que aportas: luego explora carreras, desarrolla tu preparación profesional y encuentra oportunidades reales en {{country}}.", "illustrationAlt": "Persona en un poste de señales en un camino, explorando direcciones profesionales" }, "cta": { @@ -1004,7 +1004,7 @@ "explorePathsDesc": "Explora los sectores y carreras que te interesan: salarios, itinerarios de cualificación, programas de formación y principales empleadores.", "explorePathsCta": "Explorar trayectorias profesionales", "jobMatchesTitle": "Coincidencias de empleo", - "jobMatchesDesc": "Ofertas reales en Zambia, ajustadas a lo que puedes hacer ahora mismo.", + "jobMatchesDesc": "Ofertas reales en {{country}}, ajustadas a lo que puedes hacer ahora mismo.", "jobMatchesCta": "Explora tus empleos" }, "jobReadySection": { @@ -1115,7 +1115,7 @@ "jobReadinessDesc": "Desarrolla habilidades esenciales para el trabajo a través de módulos guiados por IA — desde redacción de CV hasta práctica de entrevistas.", "careerExplorerDesc": "Explora caminos profesionales en Energía, Minería, Agricultura y más — con datos salariales y rutas de cualificación.", "knowledgeHubDesc": "Explora perfiles sectoriales, referencias salariales y rutas de cualificación TEVET en un solo lugar.", - "jobMatchingDesc": "Comprueba cómo tus habilidades coinciden con ofertas de trabajo reales y explora información del mercado laboral en Zambia.", + "jobMatchingDesc": "Comprueba cómo tus habilidades coinciden con ofertas de trabajo reales y explora información del mercado laboral en {{country}}.", "continue": "Continuar", "completed": "Completado", "soon": "Pronto", @@ -1126,7 +1126,7 @@ "termsOfUse": "Términos de Uso", "accessibility": "Accesibilidad", "contact": "Contacto", - "collaboration": "{{appName}} es una herramienta gratuita de orientación profesional ofrecida por el Ministerio de Tecnología y Ciencia de Zambia, desarrollada en colaboración con el Grupo del Banco Mundial y Tabiya.", + "collaboration": "{{appName}} es una herramienta gratuita de orientación profesional ofrecida por el Ministerio de Tecnología y Ciencia de {{country}}, desarrollada en colaboración con el Grupo del Banco Mundial y Tabiya.", "compassConnectLine1": "Esta es una implementación de demostración de Compass Connect — una herramienta de orientación profesional personalizable y de código abierto, creada por Tabiya.", "compassConnectLine2": "Construida sobre Compass, la herramienta conversacional de código abierto de Tabiya para personas que buscan empleo.", "worldBankLogoAlt": "Logo del Grupo Banco Mundial", diff --git a/frontend-new/src/i18n/locales/ny-ZM/translation.json b/frontend-new/src/i18n/locales/ny-ZM/translation.json index db347716..f8d27eae 100644 --- a/frontend-new/src/i18n/locales/ny-ZM/translation.json +++ b/frontend-new/src/i18n/locales/ny-ZM/translation.json @@ -310,7 +310,7 @@ "feature1Title": "Senzani mphamvu zanu", "feature1Body": "Dziwani nzeru zimene muli nazo kale — kuchokera ku maphunziro anu, ntchito yanu, ndi moyo wanu.", "feature2Title": "Mangani CV yovumbulika", - "feature2Body": "Pangani CV yaukadaulo yomwe imagwirizana ndi zomwe ogwira ntchito ku Zambia akufuna.", + "feature2Body": "Pangani CV yaukadaulo yomwe imagwirizana ndi zomwe ogwira ntchito ku {{country}} akufuna.", "feature3Title": "Pezani njila yanu", "feature3Body": "Yang'anani ntchito zofunika, mutsekese zofunikira, ndipo linganizani ndi mwayi woona wa ntchito." }, @@ -984,7 +984,7 @@ "dashboard": "Malo Anu a Ntchito", "backToDashboard": "Bwererani ku dashibodi", "welcomeBack": "Takulandirani, {{name}}", - "subtitle": "{{appName}} ndi mlatho pakati pa zomwe mwaphunzira ndi komwe mukupita. Lankhulani ndi AI kuti mupeze luso lanu, mukonzekere mafunso antchito, ndikufufuza njila za ntchito ku Zambia.", + "subtitle": "{{appName}} ndi mlatho pakati pa zomwe mwaphunzira ndi komwe mukupita. Lankhulani ndi AI kuti mupeze luso lanu, mukonzekere mafunso antchito, ndikufufuza njila za ntchito ku {{country}}.", "profileStrength": "Mphamvu ya mbiri yanu ndi {{progress}}%.", "profileStrengthHint": "Ndi chiyambi chabwino — yesani Luso ndi Zomwe Ndimakonda kuti mudziwe zambiri za zomwe mukudziwa ndikusangalala nazo.", "seeProfile": "Onani mbiri →", @@ -993,7 +993,7 @@ "hero": { "headline1": "Tiyeni tipeze", "headline2": "Maluso & mphamvu zanu", - "body": "{{appName}} yanu yowongolera kuchokera ku luso kupita kuntchito yanu yoyamba. Yambani pozindikira zomwe mumabweretsa - kenako fufuzani ntchito, konzekerani ntchito, ndikupeza mwayi weniweni ku Zambia.", + "body": "{{appName}} yanu yowongolera kuchokera ku luso kupita kuntchito yanu yoyamba. Yambani pozindikira zomwe mumabweretsa - kenako fufuzani ntchito, konzekerani ntchito, ndikupeza mwayi weniweni ku {{country}}.", "illustrationAlt": "Munthu ali pachikwangwani panjila, kuyang'ana njila zantchito" }, "cta": { @@ -1004,7 +1004,7 @@ "explorePathsDesc": "Fufuzani magawo ndi ntchito zomwe mukukondwera nazo - malipiro, njila za ziyeneretso, mapulogalamu a maphunziro, ndi olemba ntchito akuluakulu.", "explorePathsCta": "Fufuzani njila za ntchito", "jobMatchesTitle": "Ntchito zogwirizana", - "jobMatchesDesc": "Mwayi weniweni ku Zambia yonse, wogwirizana ndi zomwe mungathe kuchita pano.", + "jobMatchesDesc": "Mwayi weniweni ku {{country}} yonse, wogwirizana ndi zomwe mungathe kuchita pano.", "jobMatchesCta": "Fufuzani ntchito zanu" }, "jobReadySection": { @@ -1115,7 +1115,7 @@ "jobReadinessDesc": "Phunzirani luso lofunikira la ntchito kudzera mu ma module otsogoleredwa ndi AI — kuyambira kulemba CV mpaka kuchita mafunso oyeserera.", "careerExplorerDesc": "Fufuzani njila za ntchito mu Mphamvu, Migodi, Ulimi ndi zina — ndi chidziwitso cha malipiro ndi njila zoyenera.", "knowledgeHubDesc": "Fufuzani mbiri ya magawo, malipiro, ndi njila za maphunziro a TEVET pamalo amodzi.", - "jobMatchingDesc": "Onani momwe luso lanu limafanana ndi maudindo a ntchito enieni ndikufufuza chidziwitso cha msika wa ntchito ku Zambia.", + "jobMatchingDesc": "Onani momwe luso lanu limafanana ndi maudindo a ntchito enieni ndikufufuza chidziwitso cha msika wa ntchito ku {{country}}.", "continue": "Pitirizani", "completed": "Zatha", "soon": "Posachedwa", @@ -1126,7 +1126,7 @@ "termsOfUse": "Malamulo a Ntchito", "accessibility": "Kufikira", "contact": "Lumikizani", - "collaboration": "{{appName}} ndi chida chaulere cha malangizo a ntchito choperekedwa ndi Unduna wa Ukadaulo ndi Sayansi ku Zambia, chomangidwa mogwirizana ndi World Bank Group ndi Tabiya.", + "collaboration": "{{appName}} ndi chida chaulere cha malangizo a ntchito choperekedwa ndi Unduna wa Ukadaulo ndi Sayansi ku {{country}}, chomangidwa mogwirizana ndi World Bank Group ndi Tabiya.", "compassConnectLine1": "Iyi ndi ntchito yosonyeza ya Compass Connect — chida cha malangizo a ntchito chosintha ndi cholera mwaufulu, chomangidwa ndi Tabiya.", "compassConnectLine2": "Chomangidwa pa Compass, chida cha Tabiya chosakanizira ndi anthu ofunafuna ntchito.", "worldBankLogoAlt": "Chizindikiro cha Gulu la World Bank", diff --git a/frontend-new/src/i18n/locales/pt-MZ/translation.json b/frontend-new/src/i18n/locales/pt-MZ/translation.json index b42837c2..a1535a80 100644 --- a/frontend-new/src/i18n/locales/pt-MZ/translation.json +++ b/frontend-new/src/i18n/locales/pt-MZ/translation.json @@ -310,7 +310,7 @@ "feature1Title": "Descubra os seus pontos fortes", "feature1Body": "Descubra que competências já possui — da sua formação, do seu trabalho e da sua vida.", "feature2Title": "Construa um CV que seja notado", - "feature2Body": "Crie um CV profissional adaptado ao que os empregadores em Moçambique procuram.", + "feature2Body": "Crie um CV profissional adaptado ao que os empregadores em {{country}} procuram.", "feature3Title": "Encontre o seu caminho", "feature3Body": "Explore carreiras com grande procura, compreenda de que qualificações necessita e encontre ofertas de emprego reais." }, @@ -978,7 +978,7 @@ "dashboard": "O Seu Centro de Carreira", "backToDashboard": "Voltar ao painel principal", "welcomeBack": "Bem-vindo de volta, {{name}}", - "subtitle": "O {{appName}} é a ponte entre o que aprendeu e para onde se dirige. Converse com a IA para destacar as suas competências, preparar-se para entrevistas e explorar rotas de carreira reais em Moçambique.", + "subtitle": "O {{appName}} é a ponte entre o que aprendeu e para onde se dirige. Converse com a IA para destacar as suas competências, preparar-se para entrevistas e explorar rotas de carreira reais em {{country}}.", "profileStrength": "A força atual do seu perfil é de {{progress}}%.", "profileStrengthHint": "É um bom começo — experimente Minhas Competências e Interesses para destacar mais sobre o que sabe e de que gosta.", "seeProfile": "Ver perfil →", @@ -987,7 +987,7 @@ "hero": { "headline1": "Vamos descobrir", "headline2": "As suas competências e pontos fortes", - "body": "O seu caminho guiado das competências para o seu primeiro emprego. Comece por descobrir o que traz consigo — depois explore carreiras, desenvolva a preparação para a carreira e encontre oportunidades reais em Moçambique.", + "body": "O seu caminho guiado das competências para o seu primeiro emprego. Comece por descobrir o que traz consigo — depois explore carreiras, desenvolva a preparação para a carreira e encontre oportunidades reais em {{country}}.", "illustrationAlt": "Pessoa num sinal de sinalização num caminho, explorando direções de carreira" }, "cta": { @@ -998,7 +998,7 @@ "explorePathsDesc": "Explore os setores e carreiras em que está interessado - salários, percursos de qualificação, programas de formação, principais empregadores.", "explorePathsCta": "Explorar Percursos de Carreira", "jobMatchesTitle": "Correspondências de Emprego", - "jobMatchesDesc": "Ofertas reais em todo o Moçambique, correspondentes ao que pode fazer agora.", + "jobMatchesDesc": "Ofertas reais em todo o {{country}}, correspondentes ao que pode fazer agora.", "jobMatchesCta": "Explorar os seus empregos" }, "jobReadySection": { @@ -1109,7 +1109,7 @@ "jobReadinessDesc": "Desenvolva a preparação para o emprego através de módulos guiados por IA — desde a compreensão da sua identidade profissional e escrita de CV até entrevistas, preparação para o local de trabalho e empreendedorismo.", "careerExplorerDesc": "Explore o percurso de carreira em Energia em Moçambique — com qualificações CNQP, principais empregadores e oportunidades de formação.", "knowledgeHubDesc": "Explore perfis setoriais, referências salariais e percursos de qualificação CNQP, tudo num só lugar.", - "jobMatchingDesc": "Veja como as suas competências correspondem a ofertas de emprego reais e explore perspetivas do mercado de trabalho em Moçambique.", + "jobMatchingDesc": "Veja como as suas competências correspondem a ofertas de emprego reais e explore perspetivas do mercado de trabalho em {{country}}.", "continue": "Continuar", "completed": "Concluído", "soon": "Em breve", @@ -1120,7 +1120,7 @@ "termsOfUse": "Termos de Utilização", "accessibility": "Acessibilidade", "contact": "Contacto", - "collaboration": "{{appName}} é uma ferramenta gratuita de orientação profissional oferecida pelo Ministério da Educação e Cultura de Moçambique, desenvolvida em parceria com o Grupo Banco Mundial e a Tabiya.", + "collaboration": "{{appName}} é uma ferramenta gratuita de orientação profissional oferecida pelo Ministério da Educação e Cultura de {{country}}, desenvolvida em parceria com o Grupo Banco Mundial e a Tabiya.", "compassConnectLine1": "Esta é uma implementação de demonstração do Compass Connect — uma ferramenta de orientação profissional personalizável e de código aberto, desenvolvida pela Tabiya.", "compassConnectLine2": "Construída sobre o Compass, a ferramenta conversacional de código aberto da Tabiya para candidatos a emprego.", "worldBankLogoAlt": "Logótipo do Grupo Banco Mundial", diff --git a/frontend-new/src/i18n/locales/sw-KE/translation.json b/frontend-new/src/i18n/locales/sw-KE/translation.json index 88cb4665..9ec3c294 100644 --- a/frontend-new/src/i18n/locales/sw-KE/translation.json +++ b/frontend-new/src/i18n/locales/sw-KE/translation.json @@ -310,7 +310,7 @@ "feature1Title": "Gundua nguvu zako", "feature1Body": "Jua ni ujuzi gani tayari una nao — kutoka mafunzo yako, kazi yako, na maisha yako.", "feature2Title": "Unda CV inayoonekana", - "feature2Body": "Unda CV ya kitaalamu inayolingana na kinachotafutwa na waajiri Zambia.", + "feature2Body": "Unda CV ya kitaalamu inayolingana na kinachotafutwa na waajiri {{country}}.", "feature3Title": "Pata njia yako", "feature3Body": "Chunguza kazi zinazohitajika, elewa sifa zipi unazohitaji, na linganisha na nafasi halisi za kazi." }, @@ -984,7 +984,7 @@ "dashboard": "Kituo Chako cha Kazi", "backToDashboard": "Rudi kwenye dashibodi", "welcomeBack": "Karibu tena, {{name}}", - "subtitle": "{{appName}} ni daraja kati ya ulichojifunza na unakoelekea. Zungumza na AI ili kugundua ujuzi wako, kujiandaa kwa mahojiano, na kuchunguza njia za kazi nchini Zambia.", + "subtitle": "{{appName}} ni daraja kati ya ulichojifunza na unakoelekea. Zungumza na AI ili kugundua ujuzi wako, kujiandaa kwa mahojiano, na kuchunguza njia za kazi nchini {{country}}.", "profileStrength": "Nguvu ya wasifu wako sasa ni {{progress}}%.", "profileStrengthHint": "Ni mwanzo mzuri — jaribu Ujuzi na Mapendeleo Yangu ili kugundua zaidi kuhusu unachokijua na kufurahia.", "seeProfile": "Tazama wasifu →", @@ -993,7 +993,7 @@ "hero": { "headline1": "Hebu tugundue", "headline2": "Ujuzi wako na nguvu zako", - "body": "Njia yako iliyoongozwa kutoka kwa ujuzi hadi kazi yako ya kwanza. Anza kwa kugundua unachokileta — kisha chunguza kazi, jenga utayari wa kazi, na upate fursa halisi nchini Zambia.", + "body": "Njia yako iliyoongozwa kutoka kwa ujuzi hadi kazi yako ya kwanza. Anza kwa kugundua unachokileta — kisha chunguza kazi, jenga utayari wa kazi, na upate fursa halisi nchini {{country}}.", "illustrationAlt": "Mtu kwenye kigango cha njia, akichunguza mwelekeo wa kazi" }, "cta": { @@ -1004,7 +1004,7 @@ "explorePathsDesc": "Chunguza sekta na kazi unazovutiwa nazo - mishahara, njia za sifa, programu za mafunzo, waajiri wakuu.", "explorePathsCta": "Chunguza njia za kazi", "jobMatchesTitle": "Kazi zinazolingana", - "jobMatchesDesc": "Nafasi halisi kote Zambia, zinalingana na unachoweza kufanya sasa hivi.", + "jobMatchesDesc": "Nafasi halisi kote {{country}}, zinalingana na unachoweza kufanya sasa hivi.", "jobMatchesCta": "Vinjari kazi zako" }, "jobReadySection": { @@ -1115,7 +1115,7 @@ "jobReadinessDesc": "Jenga ujuzi muhimu wa kazi kupitia moduli zinazoongozwa na AI — kutoka kuandika CV hadi mazoezi ya mahojiano.", "careerExplorerDesc": "Chunguza njia za kazi katika Nishati, Madini, Kilimo na zaidi — na data ya mishahara na njia za sifa.", "knowledgeHubDesc": "Chunguza wasifu wa sekta, viwango vya mishahara, na njia za sifa za TEVET mahali pamoja.", - "jobMatchingDesc": "Angalia jinsi ujuzi wako unavyolingana na nafasi za kazi halisi na chunguza maarifa ya soko la ajira nchini Zambia.", + "jobMatchingDesc": "Angalia jinsi ujuzi wako unavyolingana na nafasi za kazi halisi na chunguza maarifa ya soko la ajira nchini {{country}}.", "continue": "Endelea", "completed": "Imekamilika", "soon": "Hivi Karibuni", @@ -1126,7 +1126,7 @@ "termsOfUse": "Sheria za Matumizi", "accessibility": "Ufikiaji", "contact": "Wasiliana", - "collaboration": "{{appName}} ni zana ya bure ya mwongozo wa kazi inayotolewa na Wizara ya Teknolojia na Sayansi ya Zambia, iliyojengwa kwa ushirikiano na Kundi la Benki ya Dunia na Tabiya.", + "collaboration": "{{appName}} ni zana ya bure ya mwongozo wa kazi inayotolewa na Wizara ya Teknolojia na Sayansi ya {{country}}, iliyojengwa kwa ushirikiano na Kundi la Benki ya Dunia na Tabiya.", "compassConnectLine1": "Hii ni utumaji wa maonyesho wa Compass Connect — zana ya mwongozo wa kazi inayoweza kubinafsishwa ya chanzo wazi, iliyojengwa na Tabiya.", "compassConnectLine2": "Imejengwa juu ya Compass, zana ya mazungumzo ya chanzo wazi ya Tabiya kwa watafuta kazi.", "worldBankLogoAlt": "Nembo ya Kundi la Benki ya Dunia", diff --git a/frontend-new/src/profile/components/SkillsDiscoveredCard/SkillsDiscoveredCard.tsx b/frontend-new/src/profile/components/SkillsDiscoveredCard/SkillsDiscoveredCard.tsx index c72de354..967e12b0 100644 --- a/frontend-new/src/profile/components/SkillsDiscoveredCard/SkillsDiscoveredCard.tsx +++ b/frontend-new/src/profile/components/SkillsDiscoveredCard/SkillsDiscoveredCard.tsx @@ -2,6 +2,7 @@ import React from "react"; import { Box, Typography, Skeleton, Chip, useTheme, Divider } from "@mui/material"; import { useTranslation } from "react-i18next"; import { Skill } from "src/experiences/experienceService/experiences.types"; +import { getProgramSkillsVisibility } from "src/envService"; const uniqueId = "skills-discovered-card-c8f4a5b6-9d1e-2f3a-4b5c-6d7e8f9a1b2c"; @@ -129,6 +130,10 @@ export const SkillsDiscoveredCard: React.FC = ({ const educationSubtitle = [program, school].filter(Boolean).join(" \u00B7 "); + // "Education Skills" is the profile-page view of the program-skills section; + // shown together with its dashboard and chat-sidebar counterparts via FRONTEND_HIDE_PROGRAM_SKILLS. + const isProgramSkillsVisible = getProgramSkillsVisibility(); + return ( = ({ }} data-testid={DATA_TEST_ID.SKILLS_CARD} > - + {isProgramSkillsVisible && ( + <> + - + + + )} ",""] # Branding GLOBAL_PRODUCT_NAME=/.*/ +# Country name shown in user-facing dashboard copy (optional; defaults to "your country" if unset) +GLOBAL_COUNTRY_NAME=/.*/ FRONTEND_BROWSER_TAB_TITLE=/.*/ FRONTEND_META_DESCRIPTION=/.*/ FRONTEND_LOGO_URL=/.*/