From eb5604a51993d3d77d784c688964a3107bd642a9 Mon Sep 17 00:00:00 2001 From: Tom Willmot Date: Mon, 28 Sep 2026 17:23:04 +0200 Subject: [PATCH 1/3] Render H2 profile cards without Mapbox --- src/components/Profile.js | 8 +++++--- src/components/UserBlock.js | 6 +----- src/components/UserHovercard.js | 28 +++++++++++++--------------- 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/components/Profile.js b/src/components/Profile.js index 229a7d29..9d6d6325 100644 --- a/src/components/Profile.js +++ b/src/components/Profile.js @@ -19,7 +19,7 @@ const Field = props => ( ); const LocalTime = props => { - const timeZone = props.user.meta.hm_time_timezone; + const timeZone = props.user.meta.hm_time_timezone || ( props.user.facts && props.user.facts.timezone ); if ( ! timeZone ) { const profileUrl = `${ window.H2Data.site.url }/wp-admin/profile.php?user_id=${ props.user.id }`; return ( @@ -86,7 +86,7 @@ export class Profile extends React.Component { - { user.facts && ( + { user.facts && user.facts.location && window.H2Data.site.mapbox_key && ( + { user.facts && user.facts.work_site && { user.facts.work_site } } + { user.facts && user.facts.pronouns && { user.facts.pronouns } }
- { user.facts && user.facts.long_description.split( '\n' ).map( ( text, idx ) => + { user.facts && user.facts.long_description && user.facts.long_description.split( '\n' ).map( ( text, idx ) =>

{ text }

) }
diff --git a/src/components/UserBlock.js b/src/components/UserBlock.js index 0458d58a..88b9d9d5 100644 --- a/src/components/UserBlock.js +++ b/src/components/UserBlock.js @@ -18,11 +18,7 @@ export default function UserBlock( props ) {

{ user.name }

@{ user.slug }

- { user.facts && ( -

- { user.facts.job_title || 'Unknown Role' } -

- ) } + { user.facts && user.facts.job_title &&

{ user.facts.job_title }

}
); diff --git a/src/components/UserHovercard.js b/src/components/UserHovercard.js index 4188a821..3fda7e3a 100644 --- a/src/components/UserHovercard.js +++ b/src/components/UserHovercard.js @@ -19,7 +19,7 @@ const DESCRIPTION_CLASSES = [ ].join( ' ' ); const LocalTime = props => { - const timeZone = props.user.meta.hm_time_timezone; + const timeZone = props.user.meta.hm_time_timezone || props.user.facts.timezone; if ( ! timeZone ) { return (

@@ -47,10 +47,6 @@ const LocalTime = props => { }; export function UserCard( { user } ) { - const titleClasses = user.facts.job_title - ? 'text-hm-medium-grey' - : 'text-hm-medium-grey italic'; - return (

); } @@ -92,7 +90,7 @@ export default class UserHovercard extends React.Component { render() { const { children, user } = this.props; - if ( ! user.facts || ! window.H2Data.site.mapbox_key ) { + if ( ! user.facts ) { return children; } From ecc97efcb54e885beceea23fc76aa313b2331b8f Mon Sep 17 00:00:00 2001 From: Tom Willmot Date: Thu, 1 Oct 2026 09:00:45 +0200 Subject: [PATCH 2/3] Use Location labels and separate profile field values --- src/components/Profile.js | 6 +++--- src/components/UserHovercard.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/Profile.js b/src/components/Profile.js index 9d6d6325..7682b373 100644 --- a/src/components/Profile.js +++ b/src/components/Profile.js @@ -12,8 +12,8 @@ import Container from './Sidebar/Container'; import UserBlock from './UserBlock'; const Field = props => ( -

- { props.name }: +

+ { props.name }:{ ' ' } { props.children }

); @@ -105,7 +105,7 @@ export class Profile extends React.Component { - { user.facts && user.facts.work_site && { user.facts.work_site } } + { user.facts && user.facts.work_site && { user.facts.work_site } } { user.facts && user.facts.pronouns && { user.facts.pronouns } }
diff --git a/src/components/UserHovercard.js b/src/components/UserHovercard.js index 3fda7e3a..dba1d9a5 100644 --- a/src/components/UserHovercard.js +++ b/src/components/UserHovercard.js @@ -70,7 +70,7 @@ export function UserCard( { user } ) {
- { user.facts.work_site &&

Work site: { user.facts.work_site }

} + { user.facts.work_site &&

Location: { user.facts.work_site }

} { user.facts.pronouns &&

Pronouns: { user.facts.pronouns }

} { user.facts.short_bio &&

{ user.facts.short_bio }

}
From d1160567b63c10acde6915224ab05c924314aade Mon Sep 17 00:00:00 2001 From: Tom Willmot Date: Thu, 1 Oct 2026 16:36:01 +0200 Subject: [PATCH 3/3] Use neutral location name field in profile cards --- src/components/Profile.js | 2 +- src/components/UserHovercard.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Profile.js b/src/components/Profile.js index 7682b373..9edf7ff2 100644 --- a/src/components/Profile.js +++ b/src/components/Profile.js @@ -105,7 +105,7 @@ export class Profile extends React.Component { - { user.facts && user.facts.work_site && { user.facts.work_site } } + { user.facts && user.facts.location_name && { user.facts.location_name } } { user.facts && user.facts.pronouns && { user.facts.pronouns } }
diff --git a/src/components/UserHovercard.js b/src/components/UserHovercard.js index dba1d9a5..f1f8f708 100644 --- a/src/components/UserHovercard.js +++ b/src/components/UserHovercard.js @@ -70,7 +70,7 @@ export function UserCard( { user } ) {
- { user.facts.work_site &&

Location: { user.facts.work_site }

} + { user.facts.location_name &&

Location: { user.facts.location_name }

} { user.facts.pronouns &&

Pronouns: { user.facts.pronouns }

} { user.facts.short_bio &&

{ user.facts.short_bio }

}