[PersonShow] use fieldDefinition for editable fields (#1178)

* [PersonShow] use fieldDefinition for editable fields

* remove unused files

* fix company chip display field
This commit is contained in:
Weiko
2023-08-11 16:36:38 -07:00
committed by GitHub
parent 007e42a2e6
commit a30222fe76
16 changed files with 316 additions and 347 deletions

View File

@ -24,7 +24,7 @@ import { getLogoUrlFromDomainName } from '~/utils';
import { CompanyNameEditableField } from '../../modules/companies/editable-field/components/CompanyNameEditableField';
import { ShowPageContainer } from '../../modules/ui/layout/components/ShowPageContainer';
import { companyShowFieldsDefinition } from './constants/companyShowFieldsDefinition';
import { companyShowFieldDefinition } from './constants/companyShowFieldDefinition';
export function CompanyShow() {
const companyId = useParams().companyId ?? '';
@ -33,11 +33,12 @@ export function CompanyShow() {
const theme = useTheme();
const { data } = useCompanyQuery(companyId);
const company = data?.findUniqueCompany;
const isFavorite =
company?.Favorite && company?.Favorite?.length > 0 ? true : false;
if (!company) return <></>;
const isFavorite =
company.Favorite && company.Favorite?.length > 0 ? true : false;
async function handleFavoriteButtonClick() {
if (isFavorite) deleteCompanyFavorite(companyId);
else insertCompanyFavorite(companyId);
@ -45,7 +46,7 @@ export function CompanyShow() {
return (
<WithTopBarContainer
title={company?.name ?? ''}
title={company.name ?? ''}
hasBackButton
isFavorite={isFavorite}
icon={<IconBuildingSkyscraper size={theme.icon.size.md} />}
@ -54,10 +55,10 @@ export function CompanyShow() {
<ShowPageContainer>
<ShowPageLeftContainer>
<ShowPageSummaryCard
id={company?.id}
logoOrAvatar={getLogoUrlFromDomainName(company?.domainName ?? '')}
title={company?.name ?? 'No name'}
date={company?.createdAt ?? ''}
id={company.id}
logoOrAvatar={getLogoUrlFromDomainName(company.domainName ?? '')}
title={company.name ?? 'No name'}
date={company.createdAt ?? ''}
renderTitleEditComponent={() => (
<CompanyNameEditableField company={company} />
)}
@ -67,7 +68,7 @@ export function CompanyShow() {
value={useUpdateOneCompanyMutation}
>
<EditableFieldEntityIdContext.Provider value={company.id}>
{companyShowFieldsDefinition.map((fieldDefinition) => {
{companyShowFieldDefinition.map((fieldDefinition) => {
return (
<EditableFieldDefinitionContext.Provider
value={fieldDefinition}
@ -84,7 +85,7 @@ export function CompanyShow() {
</ShowPageLeftContainer>
<ShowPageRightContainer>
<Timeline
entity={{ id: company?.id ?? '', type: CommentableType.Company }}
entity={{ id: company.id ?? '', type: CommentableType.Company }}
/>
</ShowPageRightContainer>
</ShowPageContainer>

View File

@ -16,7 +16,7 @@ import {
} from '@/ui/icon';
import { Entity } from '@/ui/input/relation-picker/types/EntityTypeForSelect';
export const companyShowFieldsDefinition: FieldDefinition<FieldMetadata>[] = [
export const companyShowFieldDefinition: FieldDefinition<FieldMetadata>[] = [
{
id: 'domainName',
label: 'Domain name',