mirror of
https://github.com/hex248/sprint.git
synced 2026-02-08 02:33:01 +00:00
skipOrgCheck on avatar component
This commit is contained in:
@@ -49,6 +49,7 @@ export default function Avatar({
|
|||||||
size,
|
size,
|
||||||
textClass = "text-xs",
|
textClass = "text-xs",
|
||||||
strong = false,
|
strong = false,
|
||||||
|
skipOrgCheck = false,
|
||||||
className,
|
className,
|
||||||
}: {
|
}: {
|
||||||
avatarURL?: string | null;
|
avatarURL?: string | null;
|
||||||
@@ -57,6 +58,7 @@ export default function Avatar({
|
|||||||
size?: number;
|
size?: number;
|
||||||
textClass?: string;
|
textClass?: string;
|
||||||
strong?: boolean;
|
strong?: boolean;
|
||||||
|
skipOrgCheck?: boolean;
|
||||||
className?: string;
|
className?: string;
|
||||||
}) {
|
}) {
|
||||||
// if the username matches the authed user, use their avatarURL and name (avoid stale data)
|
// if the username matches the authed user, use their avatarURL and name (avoid stale data)
|
||||||
@@ -69,13 +71,15 @@ export default function Avatar({
|
|||||||
? FALLBACK_COLOURS[hashStringToIndex(username, FALLBACK_COLOURS.length)]
|
? FALLBACK_COLOURS[hashStringToIndex(username, FALLBACK_COLOURS.length)]
|
||||||
: "bg-muted";
|
: "bg-muted";
|
||||||
|
|
||||||
|
const showAvatar = skipOrgCheck || selectedOrganisation?.Organisation.features.userAvatars;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={cn(
|
className={cn(
|
||||||
"flex items-center justify-center rounded-full",
|
"flex items-center justify-center rounded-full",
|
||||||
"text-white font-medium select-none",
|
"text-white font-medium select-none",
|
||||||
name && "border",
|
name && "border",
|
||||||
(!avatarURL || !selectedOrganisation?.Organisation.features.userAvatars) && backgroundClass,
|
(!avatarURL || !showAvatar) && backgroundClass,
|
||||||
|
|
||||||
"transition-colors",
|
"transition-colors",
|
||||||
`w-${size || 6}`,
|
`w-${size || 6}`,
|
||||||
@@ -83,7 +87,7 @@ export default function Avatar({
|
|||||||
className,
|
className,
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{selectedOrganisation?.Organisation.features.userAvatars && avatarURL ? (
|
{showAvatar && avatarURL ? (
|
||||||
<img
|
<img
|
||||||
src={avatarURL}
|
src={avatarURL}
|
||||||
alt="Avatar"
|
alt="Avatar"
|
||||||
|
|||||||
@@ -222,6 +222,7 @@ export default function LogInForm() {
|
|||||||
username={username || undefined}
|
username={username || undefined}
|
||||||
avatarURL={avatarURL}
|
avatarURL={avatarURL}
|
||||||
onAvatarUploaded={setAvatarUrl}
|
onAvatarUploaded={setAvatarUrl}
|
||||||
|
skipOrgCheck
|
||||||
className="mb-2"
|
className="mb-2"
|
||||||
/>
|
/>
|
||||||
{avatarURL && (
|
{avatarURL && (
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ export function UploadAvatar({
|
|||||||
username,
|
username,
|
||||||
avatarURL,
|
avatarURL,
|
||||||
onAvatarUploaded,
|
onAvatarUploaded,
|
||||||
|
skipOrgCheck = false,
|
||||||
className,
|
className,
|
||||||
}: {
|
}: {
|
||||||
name?: string;
|
name?: string;
|
||||||
@@ -20,6 +21,7 @@ export function UploadAvatar({
|
|||||||
avatarURL?: string | null;
|
avatarURL?: string | null;
|
||||||
onAvatarUploaded: (avatarURL: string) => void;
|
onAvatarUploaded: (avatarURL: string) => void;
|
||||||
label?: string;
|
label?: string;
|
||||||
|
skipOrgCheck?: boolean;
|
||||||
className?: string;
|
className?: string;
|
||||||
}) {
|
}) {
|
||||||
const [uploading, setUploading] = useState(false);
|
const [uploading, setUploading] = useState(false);
|
||||||
@@ -71,6 +73,7 @@ export function UploadAvatar({
|
|||||||
size={24}
|
size={24}
|
||||||
textClass={"text-4xl"}
|
textClass={"text-4xl"}
|
||||||
strong
|
strong
|
||||||
|
skipOrgCheck={skipOrgCheck}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{!uploading && showEdit && (
|
{!uploading && showEdit && (
|
||||||
|
|||||||
Reference in New Issue
Block a user