mirror of
https://github.com/CompassConnections/Compass.git
synced 2026-07-30 09:48:47 -04:00
Update filter labels for conciseness and consistency across components and translations.
This commit is contained in:
@@ -383,28 +383,28 @@
|
||||
"events.why_description": "Events sind das Herzbedeutungsvoller Verbindungen. Ob online oder in Person, sie schaffen Raum für tiefere Gespräche, gemeinsame Erlebnisse und dauerhafte Beziehungen.",
|
||||
"events.why_organize": "Warum Events organisieren?",
|
||||
"filter.age.age": "Alter",
|
||||
"filter.age.any": "Alle",
|
||||
"filter.age.any": "Alter",
|
||||
"filter.age.label": "Alter",
|
||||
"filter.age.up_to": "bis zu",
|
||||
"filter.age.years": "Jahre",
|
||||
"filter.any": "Alle",
|
||||
"filter.any_cannabis": "Beliebiges Cannabis",
|
||||
"filter.any_causes": "Jedes Anliegen",
|
||||
"filter.any_diet": "Jede Ernährung",
|
||||
"filter.any_drinks": "Jedes Getränk",
|
||||
"filter.any_education": "Alle Bildungsniveaus",
|
||||
"filter.any_interests": "Jedes Interesse",
|
||||
"filter.any_language": "Alle Sprachen",
|
||||
"filter.any_mbti": "Jeder MBTI",
|
||||
"filter.any_neurotype": "Beliebiger Neurotyp",
|
||||
"filter.any_cannabis": "Cannabis",
|
||||
"filter.any_causes": "Moralische Anliegen",
|
||||
"filter.any_diet": "Ernährung",
|
||||
"filter.any_drinks": "Getränke",
|
||||
"filter.any_education": "Bildungsniveau",
|
||||
"filter.any_interests": "Interessen",
|
||||
"filter.any_language": "Sprachen",
|
||||
"filter.any_mbti": "MBTI",
|
||||
"filter.any_neurotype": "Neurotyp",
|
||||
"filter.any_new_users": "Jegliche neue Nutzer",
|
||||
"filter.any_orientation": "Jede Orientierung",
|
||||
"filter.any_politics": "Jede politische Ausrichtung",
|
||||
"filter.any_psychedelics": "Beliebige Psychedelika",
|
||||
"filter.any_relationship": "Jede romantische Beziehung",
|
||||
"filter.any_religion": "Jede Religion",
|
||||
"filter.any_work": "Jede Arbeit",
|
||||
"filter.big5.any": "Beliebige Big 5",
|
||||
"filter.any_orientation": "Orientierung",
|
||||
"filter.any_politics": "Politische Ausrichtung",
|
||||
"filter.any_psychedelics": "Psychedelika",
|
||||
"filter.any_relationship": "Beziehungsstil",
|
||||
"filter.any_religion": "Religion",
|
||||
"filter.any_work": "Arbeit",
|
||||
"filter.big5.any": "Big 5",
|
||||
"filter.big5.custom": "Benutzerdefinierte Big 5",
|
||||
"filter.card_size": "Kartengröße",
|
||||
"filter.card_size.large": "Groß",
|
||||
@@ -412,7 +412,7 @@
|
||||
"filter.card_size.small": "Klein",
|
||||
"filter.clear_all": "Alle löschen",
|
||||
"filter.drinks.per_month": "pro Monat",
|
||||
"filter.gender.any": "Alle",
|
||||
"filter.gender.any": "Geschlecht",
|
||||
"filter.gender.gender": "Geschlecht",
|
||||
"filter.gender.genders": "Geschlechter",
|
||||
"filter.gender.show_more": "Mehr Geschlechter anzeigen",
|
||||
@@ -449,12 +449,12 @@
|
||||
"filter.last_active.3days": "Letzte 3 Tage",
|
||||
"filter.last_active.3months": "Letzte 3 Monate",
|
||||
"filter.last_active.any": "Jederzeit",
|
||||
"filter.last_active.label": "Aktiv",
|
||||
"filter.last_active.label": "Zuletzt aktiv",
|
||||
"filter.last_active.month": "Letzter Monat",
|
||||
"filter.last_active.now": "Jetzt online",
|
||||
"filter.last_active.today": "Heute",
|
||||
"filter.last_active.week": "Letzte Woche",
|
||||
"filter.location": "Wohnhaft",
|
||||
"filter.location": "Standort",
|
||||
"filter.location.any": "überall",
|
||||
"filter.location.search_city": "Stadt suchen...",
|
||||
"filter.location.set_any_city": "Auf jede Stadt einstellen",
|
||||
@@ -464,8 +464,8 @@
|
||||
"filter.neurotype.show_more": "Mehr Neurotypen anzeigen",
|
||||
"filter.orientation.show_more": "Mehr Orientierungen anzeigen",
|
||||
"filter.raised_in": "Aufgewachsen",
|
||||
"filter.relationship.any_connection": "Jede Beziehung",
|
||||
"filter.relationship_status.any": "Jeder romantische Status",
|
||||
"filter.relationship.any_connection": "Beziehung",
|
||||
"filter.relationship_status.any": "Status",
|
||||
"filter.reset": "Zurücksetzen",
|
||||
"filter.selected": "Filter ausgewählt",
|
||||
"filter.selected_plural": "Filter ausgewählt",
|
||||
@@ -486,6 +486,7 @@
|
||||
"filter.show_photos": "Profilfotos anzeigen",
|
||||
"filter.show_seeking": "Was sie suchen",
|
||||
"filter.show_smoking": "Rauchen",
|
||||
"filter.tobacco": "Tabak",
|
||||
"filter.wants_kids.any_preference": "Alle Präferenzen",
|
||||
"filter.wants_kids.doesnt_want_kids": "Möchte keine Kinder",
|
||||
"filter.wants_kids.either": "Egal",
|
||||
|
||||
@@ -383,28 +383,28 @@
|
||||
"events.why_description": "Les événements sont au cœur de relations qui ont du sens. Qu'ils soient en ligne ou en personne, ils créent un espace pour des conversations plus profondes, des expériences partagées et des relations durables.",
|
||||
"events.why_organize": "Pourquoi organiser des événements ?",
|
||||
"filter.age.age": "âge",
|
||||
"filter.age.any": "Tout",
|
||||
"filter.age.any": "Âge",
|
||||
"filter.age.label": "Âge",
|
||||
"filter.age.up_to": "jusqu'à",
|
||||
"filter.age.years": "ans",
|
||||
"filter.any": "Tous",
|
||||
"filter.any_cannabis": "Tout cannabis",
|
||||
"filter.any_causes": "Toute cause",
|
||||
"filter.any_diet": "Tout régime alimentaire",
|
||||
"filter.any_drinks": "Toute boisson",
|
||||
"filter.any_education": "Tous niveaux d'études",
|
||||
"filter.any_interests": "Tout intérêt",
|
||||
"filter.any_language": "Toutes les langues",
|
||||
"filter.any_mbti": "Tout MBTI",
|
||||
"filter.any_neurotype": "Tout neurotype",
|
||||
"filter.any_cannabis": "Cannabis",
|
||||
"filter.any_causes": "Causes morales",
|
||||
"filter.any_diet": "Régime alimentaire",
|
||||
"filter.any_drinks": "Boissons",
|
||||
"filter.any_education": "Niveau d'études",
|
||||
"filter.any_interests": "Intérêts",
|
||||
"filter.any_language": "Langues",
|
||||
"filter.any_mbti": "MBTI",
|
||||
"filter.any_neurotype": "Neurotype",
|
||||
"filter.any_new_users": "Tout nouvel utilisateur",
|
||||
"filter.any_orientation": "Toute orientation",
|
||||
"filter.any_politics": "Toute orientation politique",
|
||||
"filter.any_psychedelics": "Tout psychédélique",
|
||||
"filter.any_relationship": "Toute relation amoureuse",
|
||||
"filter.any_religion": "Toute religion",
|
||||
"filter.any_work": "Tout travail",
|
||||
"filter.big5.any": "Tout Big 5",
|
||||
"filter.any_orientation": "Orientation",
|
||||
"filter.any_politics": "Orientation politique",
|
||||
"filter.any_psychedelics": "Psychédéliques",
|
||||
"filter.any_relationship": "Style de relation",
|
||||
"filter.any_religion": "Religion",
|
||||
"filter.any_work": "Domaine de travail",
|
||||
"filter.big5.any": "Big 5",
|
||||
"filter.big5.custom": "Certains Big 5",
|
||||
"filter.card_size": "Taille de la carte",
|
||||
"filter.card_size.large": "Grand",
|
||||
@@ -412,7 +412,7 @@
|
||||
"filter.card_size.small": "Petit",
|
||||
"filter.clear_all": "Tout effacer",
|
||||
"filter.drinks.per_month": "par mois",
|
||||
"filter.gender.any": "Tout",
|
||||
"filter.gender.any": "Genre",
|
||||
"filter.gender.gender": "genre",
|
||||
"filter.gender.genders": "genres",
|
||||
"filter.gender.show_more": "Afficher plus de genres",
|
||||
@@ -449,12 +449,12 @@
|
||||
"filter.last_active.3days": "3 derniers jours",
|
||||
"filter.last_active.3months": "3 derniers mois",
|
||||
"filter.last_active.any": "N'importe quand",
|
||||
"filter.last_active.label": "Actif",
|
||||
"filter.last_active.label": "Dernière activité",
|
||||
"filter.last_active.month": "Dernier mois",
|
||||
"filter.last_active.now": "En ligne",
|
||||
"filter.last_active.today": "Aujourd'hui",
|
||||
"filter.last_active.week": "Dernière semaine",
|
||||
"filter.location": "Habite",
|
||||
"filter.location": "Lieu",
|
||||
"filter.location.any": "n'importe où",
|
||||
"filter.location.search_city": "Rechercher une ville...",
|
||||
"filter.location.set_any_city": "N'importe quelle ville",
|
||||
@@ -464,8 +464,8 @@
|
||||
"filter.neurotype.show_more": "Afficher plus de neurotypes",
|
||||
"filter.orientation.show_more": "Afficher plus d'orientations",
|
||||
"filter.raised_in": "A grandi",
|
||||
"filter.relationship.any_connection": "Toute relation",
|
||||
"filter.relationship_status.any": "Tout statut romantique",
|
||||
"filter.relationship.any_connection": "Relation",
|
||||
"filter.relationship_status.any": "Statut",
|
||||
"filter.reset": "Réinitialiser",
|
||||
"filter.selected": "filtre sélectionné",
|
||||
"filter.selected_plural": "filtres sélectionnés",
|
||||
@@ -486,6 +486,7 @@
|
||||
"filter.show_photos": "Afficher les photos",
|
||||
"filter.show_seeking": "Ce qu'ils cherchent",
|
||||
"filter.show_smoking": "Fumeur",
|
||||
"filter.tobacco": "Tabac",
|
||||
"filter.wants_kids.any_preference": "N'importe",
|
||||
"filter.wants_kids.doesnt_want_kids": "Ne veut pas d'enfants",
|
||||
"filter.wants_kids.either": "N'importe",
|
||||
|
||||
@@ -26,12 +26,7 @@ export function AgeFilterText(props: {
|
||||
const t = useT()
|
||||
if (noMinAge && noMaxAge) {
|
||||
return (
|
||||
<span>
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.age.any', 'Any')}
|
||||
</span>{' '}
|
||||
<span className="">{t('filter.age.age', 'age')}</span>
|
||||
</span>
|
||||
<span className={clsx('text-semibold', highlightedClass)}>{t('filter.age.any', 'Age')}</span>
|
||||
)
|
||||
}
|
||||
if (noMinAge) {
|
||||
|
||||
@@ -49,9 +49,7 @@ export function Big5FilterText(props: {filters: Partial<FilterFields>; highlight
|
||||
const hasAny = hasAnyBig5Filter(filters)
|
||||
|
||||
if (!hasAny) {
|
||||
return (
|
||||
<span className={clsx(!hasAny && 'text-ink-600')}>{t('filter.big5.any', 'Any Big 5')}</span>
|
||||
)
|
||||
return <span className={clsx(!hasAny && 'text-ink-600')}>{t('filter.big5.any', 'Big 5')}</span>
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -17,7 +17,7 @@ export function CannabisFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_cannabis', 'Any cannabis')}
|
||||
{t('filter.any_cannabis', 'Cannabis')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ export function DietFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_diet', 'Any diet')}
|
||||
{t('filter.any_diet', 'Diet')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ export function DrinksFilterText(props: {
|
||||
if (noMin && noMax) {
|
||||
return (
|
||||
<span>
|
||||
<span className="">{t('filter.any_drinks', 'Any drinks')}</span>
|
||||
<span className="">{t('filter.any_drinks', 'Drinks')}</span>
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ export function EducationFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_education', 'Any education')}
|
||||
{t('filter.any_education', 'Education')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -349,7 +349,7 @@ function Filters(props: {
|
||||
selection={
|
||||
<RelationshipStatusFilterText
|
||||
options={filters.relationship_status as string[]}
|
||||
defaultLabel={t('filter.relationship_status.any', 'Any status')}
|
||||
defaultLabel={t('filter.relationship_status.any', 'Status')}
|
||||
// highlightedClass={
|
||||
// hasAny(filters.relationship_status || undefined)
|
||||
// ? 'text-primary-600'
|
||||
@@ -755,7 +755,7 @@ function Filters(props: {
|
||||
selection={
|
||||
<MbtiFilterText
|
||||
options={filters.mbti as string[] | undefined}
|
||||
defaultLabel={t('filter.any_mbti', 'Any MBTI')}
|
||||
defaultLabel={t('filter.any_mbti', 'MBTI')}
|
||||
// highlightedClass={hasAny(filters.mbti) ? 'text-primary-600' : 'text-ink-900'}
|
||||
/>
|
||||
}
|
||||
@@ -932,7 +932,7 @@ function FilterGroup(props: {
|
||||
const {title, children, openGroup, setOpenGroup, icon} = props
|
||||
const isOpen = openGroup === title
|
||||
// A group is a container for sections, and nothing about the old layout said so: an open "Background"
|
||||
// and its "Any education" / "Any work" children sat at identical indent, weight and colour, so the
|
||||
// and its "Education" / "Work" children sat at identical indent, weight and colour, so the
|
||||
// children read as siblings. The header now takes a filled pill when open and the children hang off
|
||||
// an indented accent rail, which is what actually communicates "these belong to that".
|
||||
return (
|
||||
|
||||
@@ -18,11 +18,8 @@ export function GenderFilterText(props: {gender: Gender[] | undefined; highlight
|
||||
const t = useT()
|
||||
if (!gender || gender.length < 1) {
|
||||
return (
|
||||
<span>
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.gender.any', 'Any')}
|
||||
</span>{' '}
|
||||
<span className="">{t('filter.gender.gender', 'gender')}</span>
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.gender.any', 'Gender')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ export function InterestFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t(`filter.any_${label}`, `Any ${label}`)}
|
||||
{t(`filter.any_${label}`, `${label.charAt(0).toUpperCase()}${label.slice(1)}`)}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ export function LanguageFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_language', 'Any language')}
|
||||
{t('filter.any_language', 'Language')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ export function LastActiveFilterText(props: {
|
||||
return (
|
||||
<Row className="items-center gap-0.5">
|
||||
<span className={highlightedClass}>
|
||||
{t('filter.last_active.label', 'Active')}: {label}
|
||||
{key === DEFAULT_KEY ? t('filter.last_active.label', 'Last active') : label}
|
||||
</span>
|
||||
</Row>
|
||||
)
|
||||
|
||||
@@ -29,16 +29,9 @@ export function LocationFilterText(props: {
|
||||
const t = useT()
|
||||
const locationLabel = labelPrefix
|
||||
? t('filter.raised_in', labelPrefix)
|
||||
: t('filter.location', 'Living')
|
||||
: t('filter.location', 'Location')
|
||||
if (!location) {
|
||||
return (
|
||||
<span>
|
||||
<span className="">{locationLabel} </span>
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.location.any', 'anywhere')}
|
||||
</span>
|
||||
</span>
|
||||
)
|
||||
return <span className={clsx('text-semibold', highlightedClass)}>{locationLabel}</span>
|
||||
}
|
||||
|
||||
const formattedDistance = formatDistance(radius, measurementSystem)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import {CheckIcon} from '@heroicons/react/24/outline'
|
||||
import clsx from 'clsx'
|
||||
import {Profile} from 'common/profiles/profile'
|
||||
import {Row} from 'web/components/layout/row'
|
||||
import {Checkbox} from 'web/components/widgets/checkbox'
|
||||
import {useT} from 'web/lib/locale'
|
||||
|
||||
export function MyMatchesToggle(props: {
|
||||
@@ -18,9 +18,28 @@ export function MyMatchesToggle(props: {
|
||||
|
||||
const label = t('filter.mine_toggle', 'Your filters')
|
||||
|
||||
// Same chip styling as IncompleteProfilesToggle so the two boolean toggles in this panel
|
||||
// read as one consistent control, not a checkbox next to a pill.
|
||||
return (
|
||||
<Row className={clsx('mr-2', checked && 'font-semibold')}>
|
||||
<Checkbox label={label} checked={checked} toggle={setYourFilters} />
|
||||
<Row className="mr-2">
|
||||
<label
|
||||
className={clsx(
|
||||
'group relative inline-flex cursor-pointer select-none items-center gap-1.5 rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-150',
|
||||
'focus-within:ring-2 focus-within:ring-primary-400 focus-within:ring-offset-1 focus-within:ring-offset-canvas-50',
|
||||
checked
|
||||
? 'border-cta bg-cta text-white shadow-[0_2px_8px_rgba(193,127,62,0.28)]'
|
||||
: 'border-canvas-300 bg-canvas-0 text-ink-600 hover:border-primary-400 hover:text-primary-700',
|
||||
)}
|
||||
>
|
||||
<input
|
||||
type="checkbox"
|
||||
className="sr-only"
|
||||
checked={checked}
|
||||
onChange={(e: React.ChangeEvent<HTMLInputElement>) => setYourFilters(e.target.checked)}
|
||||
/>
|
||||
{checked && <CheckIcon className="h-3.5 w-3.5 flex-shrink-0" strokeWidth={3} />}
|
||||
<span className="whitespace-nowrap">{label}</span>
|
||||
</label>
|
||||
</Row>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ export function NeurotypeFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_neurotype', 'Any neurotype')}
|
||||
{t('filter.any_neurotype', 'Neurotype')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ export function OrientationFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_orientation', 'Any orientation')}
|
||||
{t('filter.any_orientation', 'Orientation')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ export function PoliticalFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_politics', 'Any politics')}
|
||||
{t('filter.any_politics', 'Politics')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ export function PsychedelicsFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_psychedelics', 'Any psychedelics')}
|
||||
{t('filter.any_psychedelics', 'Psychedelics')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ export function RelationshipFilterText(props: {
|
||||
if (!relationship || relationshipLength < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.relationship.any_connection', 'Any connection')}
|
||||
{t('filter.relationship.any_connection', 'Connection')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ export function RelationshipStatusFilterText(props: {
|
||||
const t = useT()
|
||||
const length = (options ?? []).length
|
||||
|
||||
const label = defaultLabel || t('filter.any', 'Any Status')
|
||||
const label = defaultLabel || t('filter.any', 'Status')
|
||||
|
||||
if (!options || length < 1) {
|
||||
return <span className={clsx('text-semibold', highlightedClass)}>{label}</span>
|
||||
|
||||
@@ -20,7 +20,7 @@ export function ReligionFilterText(props: {
|
||||
if (!options || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_religion', 'Any religion')}
|
||||
{t('filter.any_religion', 'Religion')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ export function RomanticFilterText(props: {
|
||||
if (!relationship || length < 1) {
|
||||
return (
|
||||
<span className={clsx('text-semibold', highlightedClass)}>
|
||||
{t('filter.any_relationship', 'Any relationship style')}
|
||||
{t('filter.any_relationship', 'Relationship style')}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -15,9 +15,8 @@ export function SmokerFilterText(props: {
|
||||
return (
|
||||
<Row className="items-center gap-0.5">
|
||||
<span className={clsx(highlightedClass, is_smoker != null && 'font-semibold')}>
|
||||
{is_smoker == null && t('profile.smokes', 'Smokes') + ': '}
|
||||
{is_smoker == null
|
||||
? t('common.either', 'Either')
|
||||
? t('filter.tobacco', 'Tobacco')
|
||||
: is_smoker
|
||||
? mobile
|
||||
? t('common.yes', 'Yes')
|
||||
|
||||
Reference in New Issue
Block a user