diff --git a/services/web/frontend/js/features/monthly-texlive/labs-widget.tsx b/services/web/frontend/js/features/monthly-texlive/labs-widget.tsx index a7f299a92b..1dfb853cd2 100644 --- a/services/web/frontend/js/features/monthly-texlive/labs-widget.tsx +++ b/services/web/frontend/js/features/monthly-texlive/labs-widget.tsx @@ -95,4 +95,6 @@ const MonthlyTexliveLabsWidget = ({ ) } +export const hidden = () => !isSplitTestEnabled('monthly-texlive') + export default MonthlyTexliveLabsWidget diff --git a/services/web/frontend/js/shared/components/labs/labs-experiments-widget.tsx b/services/web/frontend/js/shared/components/labs/labs-experiments-widget.tsx index ff4a23ae26..c0fdad6aa8 100644 --- a/services/web/frontend/js/shared/components/labs/labs-experiments-widget.tsx +++ b/services/web/frontend/js/shared/components/labs/labs-experiments-widget.tsx @@ -6,7 +6,7 @@ import { postJSON } from '@/infrastructure/fetch-json' import OLButton from '@/shared/components/ol/ol-button' import getMeta from '@/utils/meta' -type IntegrationLinkingWidgetProps = { +export type LabsExperimentWidgetProps = { logo: ReactNode title: string description: string | ReactNode @@ -17,6 +17,7 @@ type IntegrationLinkingWidgetProps = { setErrorMessage: (message: string) => void optedIn: boolean setOptedIn: (optedIn: boolean) => void + feedbackLink?: string } /** @knipignore */ @@ -31,7 +32,8 @@ export function LabsExperimentWidget({ setErrorMessage, optedIn, setOptedIn, -}: IntegrationLinkingWidgetProps) { + feedbackLink, +}: LabsExperimentWidgetProps) { const { t } = useTranslation() const experimentsErrorMessage = t( @@ -83,6 +85,18 @@ export function LabsExperimentWidget({ {disabled && (
{t('experiment_full')}
)} +
+ {optedIn && feedbackLink && ( + + {t('give_feedback')} + + )} +
{labsEnabled && ( diff --git a/services/web/frontend/js/utils/labs-utils.ts b/services/web/frontend/js/utils/labs-utils.ts index 92afea722f..e776c191c7 100644 --- a/services/web/frontend/js/utils/labs-utils.ts +++ b/services/web/frontend/js/utils/labs-utils.ts @@ -2,7 +2,7 @@ import getMeta from './meta' // Should be `never` when no experiments are active. Otherwise it should be a // union of active experiment names e.g. `'experiment1' | 'experiment2'` -export type ActiveExperiment = 'monthly-texlive' +export type ActiveExperiment = 'monthly-texlive' | 'ai-workbench' export const isInExperiment = (experiment: ActiveExperiment): boolean => { const experiments = getMeta('ol-labsExperiments') diff --git a/services/web/frontend/stylesheets/modules/labs.scss b/services/web/frontend/stylesheets/modules/labs.scss index 2e6fdf77ae..896643c3cb 100644 --- a/services/web/frontend/stylesheets/modules/labs.scss +++ b/services/web/frontend/stylesheets/modules/labs.scss @@ -39,7 +39,7 @@ --image-padding: var(--spacing-01); display: grid; - grid-template-columns: var(--image-size) 1fr auto; + grid-template-columns: var(--image-size) 1fr auto auto; gap: var(--spacing-07); align-items: center; padding: var(--spacing-05); @@ -117,3 +117,15 @@ margin-top: var(--spacing-06); } } + +.labs-workbench-logo { + width: 32px; + height: 32px; + padding: var(--spacing-01); + + img { + max-width: 100%; + max-height: 100%; + object-fit: contain; + } +}