(
({ value, onClick }, ref) => (
-
- {value && humanReadableDate(new Date(value as string))}
-
+
+ {value && formatToHumanReadableDate(new Date(value as string))}
+
),
);
@@ -39,7 +43,7 @@ type DatePickerContainerProps = {
children: React.ReactNode;
};
-const DatePickerContainer = ({ children }: DatePickerContainerProps) => {
+export const DatePickerContainer = ({ children }: DatePickerContainerProps) => {
return {children};
};
@@ -48,15 +52,15 @@ type OwnProps = {
onChange: (newDate: Date) => void;
};
-export function InplaceInputDateEditMode({ onChange, value }: OwnProps) {
+export function InplaceInputDate({ onChange, value }: OwnProps) {
return (
-
+
}
customCalendarContainer={DatePickerContainer}
/>
-
+
);
}
diff --git a/front/src/modules/ui/inplace-inputs/components/InplaceInputDateDisplayMode.tsx b/front/src/modules/ui/inplace-inputs/components/InplaceInputDateDisplayMode.tsx
index 5a9f826fa..eb1b949fe 100644
--- a/front/src/modules/ui/inplace-inputs/components/InplaceInputDateDisplayMode.tsx
+++ b/front/src/modules/ui/inplace-inputs/components/InplaceInputDateDisplayMode.tsx
@@ -1,9 +1,9 @@
-import { humanReadableDate } from '@/utils/utils';
+import { formatToHumanReadableDate } from '@/utils/utils';
type OwnProps = {
value: Date;
};
export function InplaceInputDateDisplayMode({ value }: OwnProps) {
- return {value && humanReadableDate(value)}
;
+ return {value && formatToHumanReadableDate(value)}
;
}
diff --git a/front/src/modules/ui/inplace-inputs/components/InplaceInputText.tsx b/front/src/modules/ui/inplace-inputs/components/InplaceInputText.tsx
new file mode 100644
index 000000000..5c84c64a4
--- /dev/null
+++ b/front/src/modules/ui/inplace-inputs/components/InplaceInputText.tsx
@@ -0,0 +1,36 @@
+import styled from '@emotion/styled';
+
+import { textInputStyle } from '@/ui/themes/effects';
+
+import { InplaceInputContainer } from './InplaceInputContainer';
+
+export const InplaceInputTextInput = styled.input`
+ margin: 0;
+ width: 100%;
+ ${textInputStyle}
+`;
+
+type OwnProps = {
+ placeholder?: string;
+ value?: string;
+ onChange?: (newValue: string) => void;
+ autoFocus?: boolean;
+};
+
+export function InplaceInputText({
+ placeholder,
+ value,
+ onChange,
+ autoFocus,
+}: OwnProps) {
+ return (
+
+ onChange?.(e.target.value)}
+ />
+
+ );
+}
diff --git a/front/src/modules/ui/themes/effects.ts b/front/src/modules/ui/themes/effects.ts
index 3f5575127..46e45414b 100644
--- a/front/src/modules/ui/themes/effects.ts
+++ b/front/src/modules/ui/themes/effects.ts
@@ -9,11 +9,15 @@ export const overlayBackground = (props: { theme: ThemeType }) =>
box-shadow: ${props.theme.boxShadow.strong};
`;
-export const textInputStyle = (props: any) =>
+export const textInputStyle = (props: { theme: ThemeType }) =>
css`
background-color: transparent;
border: none;
color: ${props.theme.font.color.primary};
+ font-family: ${props.theme.font.family};
+ font-size: ${props.theme.font.size.md};
+
+ font-weight: ${props.theme.font.weight.regular};
outline: none;
padding: ${props.theme.spacing(0)} ${props.theme.spacing(2)};
diff --git a/front/src/modules/utils/utils.ts b/front/src/modules/utils/utils.ts
index c05fa5ce8..0831916e3 100644
--- a/front/src/modules/utils/utils.ts
+++ b/front/src/modules/utils/utils.ts
@@ -1,10 +1,14 @@
-export const humanReadableDate = (date: Date) => {
+import { parseDate } from './datetime/date-utils';
+
+export function formatToHumanReadableDate(date: Date | string) {
+ const parsedJSDate = parseDate(date).toJSDate();
+
return new Intl.DateTimeFormat(undefined, {
month: 'short',
day: 'numeric',
year: 'numeric',
- }).format(date);
-};
+ }).format(parsedJSDate);
+}
export const getLogoUrlFromDomainName = (domainName?: string): string => {
return `https://api.faviconkit.com/${domainName}/144`;
diff --git a/front/src/pages/companies/CompanyShow.tsx b/front/src/pages/companies/CompanyShow.tsx
index fdcec17b7..4da987e95 100644
--- a/front/src/pages/companies/CompanyShow.tsx
+++ b/front/src/pages/companies/CompanyShow.tsx
@@ -2,11 +2,14 @@ import { useParams } from 'react-router-dom';
import { useTheme } from '@emotion/react';
import { Timeline } from '@/comments/components/timeline/Timeline';
+import { CompanyAccountOwnerEditableField } from '@/companies/fields/components/CompanyAccountOwnerEditableField';
+import { CompanyAddressEditableField } from '@/companies/fields/components/CompanyAddressEditableField';
+import { CompanyCreatedAtEditableField } from '@/companies/fields/components/CompanyCreatedAtEditableField';
+import { CompanyDomainNameEditableField } from '@/companies/fields/components/CompanyDomainNameEditableField';
+import { CompanyEmployeesEditableField } from '@/companies/fields/components/CompanyEmployeesEditableField';
import { useCompanyQuery } from '@/companies/services';
-import { RawLink } from '@/ui/components/links/RawLink';
import { PropertyBox } from '@/ui/components/property-box/PropertyBox';
-import { PropertyBoxItem } from '@/ui/components/property-box/PropertyBoxItem';
-import { IconBuildingSkyscraper, IconLink, IconMap } from '@/ui/icons/index';
+import { IconBuildingSkyscraper } from '@/ui/icons/index';
import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
import { ShowPageLeftContainer } from '@/ui/layout/show-page/containers/ShowPageLeftContainer';
import { ShowPageRightContainer } from '@/ui/layout/show-page/containers/ShowPageRightContainer';
@@ -22,48 +25,33 @@ export function CompanyShow() {
const theme = useTheme();
+ if (!company) return <>>;
+
return (
}
>
- <>
-
-
-
- <>
- }
- value={
-
- {company?.domainName}
-
- }
- />
- }
- value={company?.address ? company?.address : 'No address'}
- />
- >
-
-
-
-
-
- >
+
+
+
+
+
+
+
+
+
+
+
+
+
);
}