No public entries yet.
; @@ -217,7 +281,16 @@ export function ProfilePublicPage({ profile }: { profile: PublicProfile }) { (item): item is string => Boolean(item), ); const bannerStyle = safeImageBackground(profile.bannerImageUrl, profileBannerOverlay); - const avatarStyle = safeImageBackground(profile.avatarImageUrl); + const avatarImageStyle = safeImageBackground(profile.avatarImageUrl); + const hasAvatarImage = avatarImageStyle !== undefined; + const mediaKit = profile.mediaKit ?? { + additionalLogos: [], + logos: [], + assets: [], + compactDisplay: "profile_image" as const, + }; + const avatarAppearance = mediaKit.avatarAppearance ?? defaultAvatarAppearance; + const avatarStyle: CSSProperties = avatarFrameStyle(avatarImageStyle, avatarAppearance); const sourceSubmittedAt = formatSubmittedAt(profile.source?.submittedAt); const sourceDetails = [ profile.source && profile.source.label !== trust ? profile.source.label : null, @@ -246,12 +319,12 @@ export function ProfilePublicPage({ profile }: { profile: PublicProfile }) {Primary logo
+ {mediaKit.primaryLogo ? ( +No public logo yet.
+ )} +Additional logos
+No additional public logos yet.
+ ) : ( + mediaKit.additionalLogos.map((asset, index) => ( +Live preview
+{profile.headline}
: null} +{profile.displayName}
+Search and compact-card preview
+{roundednessLabel(appearance.radiusPercent)}
+Loading appearance settings...
; + } + + if (profiles === null) { + return ( +Appearance settings belong to claimed profiles.
+ + Sign in + +Claim a person or community profile before changing public appearance.
+ + Go to claims + ++ Start with the avatar frame: square to circle, border on or off, and a color that can later plug into the broader profile theme. +
+