Fix Opportunities page bug, make image urls support base64 (#547)

This commit is contained in:
Charles Bochet
2023-07-08 18:43:55 -07:00
committed by GitHub
parent 795bead1bb
commit 691da0ef57
9 changed files with 28 additions and 17 deletions

View File

@ -1,3 +1,5 @@
import { QueryMode } from '~/generated/graphql';
import { ActiveTableFilter } from '../types/ActiveTableFilter';
export function turnFilterIntoWhereClause(filter: ActiveTableFilter) {
@ -8,6 +10,7 @@ export function turnFilterIntoWhereClause(filter: ActiveTableFilter) {
return {
[filter.field]: {
contains: filter.value,
mode: QueryMode.Insensitive,
},
};
case 'does-not-contain':
@ -15,6 +18,7 @@ export function turnFilterIntoWhereClause(filter: ActiveTableFilter) {
[filter.field]: {
not: {
contains: filter.value,
mode: QueryMode.Insensitive,
},
},
};

View File

@ -4,7 +4,7 @@ import { useRecoilState } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
import { ImageInput } from '@/ui/components/inputs/ImageInput';
import { GET_CURRENT_USER } from '@/users/queries';
import { getImageAbsoluteURI } from '@/users/utils/getProfilePictureAbsoluteURI';
import { getImageAbsoluteURIOrBase64 } from '@/users/utils/getProfilePictureAbsoluteURI';
import {
useRemoveProfilePictureMutation,
useUploadProfilePictureMutation,
@ -39,7 +39,7 @@ export function ProfilePictureUploader() {
return (
<ImageInput
picture={getImageAbsoluteURI(currentUser?.avatarUrl)}
picture={getImageAbsoluteURIOrBase64(currentUser?.avatarUrl)}
onUpload={onUpload}
onRemove={onRemove}
/>

View File

@ -4,7 +4,7 @@ import { useRecoilState } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
import { ImageInput } from '@/ui/components/inputs/ImageInput';
import { GET_CURRENT_USER } from '@/users/queries';
import { getImageAbsoluteURI } from '@/users/utils/getProfilePictureAbsoluteURI';
import { getImageAbsoluteURIOrBase64 } from '@/users/utils/getProfilePictureAbsoluteURI';
import {
useRemoveWorkspaceLogoMutation,
useUploadWorkspaceLogoMutation,
@ -34,7 +34,7 @@ export function WorkspaceLogoUploader() {
return (
<ImageInput
picture={getImageAbsoluteURI(
picture={getImageAbsoluteURIOrBase64(
currentUser?.workspaceMember?.workspace.logo,
)}
onUpload={onUpload}

View File

@ -2,7 +2,7 @@ import styled from '@emotion/styled';
import { useRecoilValue } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
import { getImageAbsoluteURI } from '@/users/utils/getProfilePictureAbsoluteURI';
import { getImageAbsoluteURIOrBase64 } from '@/users/utils/getProfilePictureAbsoluteURI';
import NavCollapseButton from './NavCollapseButton';
@ -59,7 +59,7 @@ function NavWorkspaceButton() {
<StyledLogo
logo={
currentWorkspace?.logo
? getImageAbsoluteURI(currentWorkspace.logo)
? getImageAbsoluteURIOrBase64(currentWorkspace.logo)
: DEFAULT_LOGO
}
></StyledLogo>

View File

@ -1,5 +1,10 @@
export function getImageAbsoluteURI(imageRelativePath?: string | null) {
return imageRelativePath
? `${process.env.REACT_APP_FILES_URL}/${imageRelativePath}`
: null;
export function getImageAbsoluteURIOrBase64(imageUrl?: string | null) {
if (!imageUrl) {
return null;
}
if (imageUrl?.startsWith('data:')) {
return imageUrl;
}
return `${process.env.REACT_APP_FILES_URL}/${imageUrl}`;
}

View File

@ -1,7 +1,7 @@
import styled from '@emotion/styled';
import { Avatar } from '@/users/components/Avatar';
import { getImageAbsoluteURI } from '@/users/utils/getProfilePictureAbsoluteURI';
import { getImageAbsoluteURIOrBase64 } from '@/users/utils/getProfilePictureAbsoluteURI';
import { User } from '~/generated/graphql';
const StyledContainer = styled.div`
@ -48,7 +48,9 @@ export function WorkspaceMemberCard({ workspaceMember }: OwnProps) {
<StyledContainer>
<AvatarContainer>
<Avatar
avatarUrl={getImageAbsoluteURI(workspaceMember.user.avatarUrl)}
avatarUrl={getImageAbsoluteURIOrBase64(
workspaceMember.user.avatarUrl,
)}
placeholder={workspaceMember.user.firstName || ''}
type="squared"
size={40}