1
0
Fork 0
forked from Mirrors/gomuks

web/rightpanel: use border-bottom instead of hr for separators

This commit is contained in:
Tulir Asokan 2025-02-25 20:48:39 +02:00
parent b7cc6aff86
commit bdae0c416f
3 changed files with 18 additions and 24 deletions

View file

@ -91,6 +91,12 @@ div.right-panel-content.user {
word-break: break-word; word-break: break-word;
} }
div.userid, div.extended-profile, div.devices, div.user-moderation, div.mutual-rooms, div.errors {
border-bottom: 1px solid var(--border-color);
padding-bottom: .5rem;
margin-bottom: .5rem;
}
div.extended-profile { div.extended-profile {
display: grid; display: grid;
gap: 0.25rem; gap: 0.25rem;

View file

@ -4,7 +4,7 @@ import { PronounSet, UserProfile } from "@/api/types"
import { ensureArray, ensureString } from "@/util/validation.ts" import { ensureArray, ensureString } from "@/util/validation.ts"
interface ExtendedProfileProps { interface ExtendedProfileProps {
profile: UserProfile profile: UserProfile | null
refreshProfile: () => void refreshProfile: () => void
client: Client client: Client
userID: string userID: string
@ -105,18 +105,15 @@ const UserExtendedProfile = ({ profile, refreshProfile, client, userID }: Extend
const pronouns = ensureArray(profile["io.fsky.nyx.pronouns"]) as PronounSet[] const pronouns = ensureArray(profile["io.fsky.nyx.pronouns"]) as PronounSet[]
const userTimeZone = ensureString(profile["us.cloke.msc4175.tz"]) const userTimeZone = ensureString(profile["us.cloke.msc4175.tz"])
return <> return <div className="extended-profile">
<hr/> {userTimeZone && <ClockElement tz={userTimeZone} />}
<div className="extended-profile"> {userID === client.userID &&
{userTimeZone && <ClockElement tz={userTimeZone} />} <SetTimeZoneElement tz={userTimeZone} client={client} refreshProfile={refreshProfile} />}
{userID === client.userID && {pronouns.length > 0 && <>
<SetTimeZoneElement tz={userTimeZone} client={client} refreshProfile={refreshProfile} />} <div>Pronouns:</div>
{pronouns.length > 0 && <> <div>{pronouns.map(pronounSet => ensureString(pronounSet.summary)).join(", ")}</div>
<div>Pronouns:</div> </>}
<div>{pronouns.map(pronounSet => ensureString(pronounSet.summary)).join(", ")}</div> </div>
</>}
</div>
</>
} }
export default UserExtendedProfile export default UserExtendedProfile

View file

@ -70,22 +70,13 @@ const UserInfo = ({ userID }: UserInfoProps) => {
</div> </div>
<div className="displayname" title={displayname}>{displayname}</div> <div className="displayname" title={displayname}>{displayname}</div>
<div className="userid" title={userID}>{userID}</div> <div className="userid" title={userID}>{userID}</div>
{globalProfile && <UserExtendedProfile <UserExtendedProfile profile={globalProfile} refreshProfile={refreshProfile} client={client} userID={userID}/>
profile={globalProfile} refreshProfile={refreshProfile} client={client} userID={userID}
/>}
<hr/>
<DeviceList client={client} room={roomCtx?.store} userID={userID}/> <DeviceList client={client} room={roomCtx?.store} userID={userID}/>
<hr/>
{userID !== client.userID && <> {userID !== client.userID && <>
<MutualRooms client={client} userID={userID}/> <MutualRooms client={client} userID={userID}/>
<hr/>
<UserModeration client={client} room={roomCtx?.store} member={memberEvt} userID={userID}/> <UserModeration client={client} room={roomCtx?.store} member={memberEvt} userID={userID}/>
<hr/>
</>} </>}
{errors?.length ? <> <UserInfoError errors={errors}/>
<UserInfoError errors={errors}/>
<hr/>
</> : null}
</> </>
} }