Co-authored-by: Camille Moussu <cmoussu@linagora.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import { SlotLabelContentArg } from "@fullcalendar/core";
|
||||
import moment from "moment-timezone";
|
||||
import { refreshSingularCalendar } from "../../Event/utils/eventUtils";
|
||||
import { ThunkDispatch } from "@reduxjs/toolkit";
|
||||
import { useI18n } from "cozy-ui/transpiled/react/providers/I18n";
|
||||
|
||||
export const updateSlotLabelVisibility = (
|
||||
currentTime: Date,
|
||||
@@ -58,13 +59,24 @@ export const eventToFullCalendarFormat = (
|
||||
filteredTempEvents: CalendarEvent[],
|
||||
userId: string | undefined
|
||||
) => {
|
||||
const { t } = useI18n();
|
||||
return filteredEvents
|
||||
.concat(filteredTempEvents.map((e) => ({ ...e, temp: true })))
|
||||
.map((e) => {
|
||||
if (e.calId.split("/")[0] === userId) {
|
||||
return { ...e, colors: e.color, editable: true };
|
||||
return {
|
||||
...e,
|
||||
title: e.title ? e.title : t("event.untitled"),
|
||||
colors: e.color,
|
||||
editable: true,
|
||||
};
|
||||
}
|
||||
return { ...e, colors: e.color, editable: false };
|
||||
return {
|
||||
...e,
|
||||
title: e.title ? e.title : t("event.untitled"),
|
||||
colors: e.color,
|
||||
editable: false,
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -323,7 +323,6 @@ export default function EventFormFields({
|
||||
// Validation logic
|
||||
const validateForm = React.useCallback(() => {
|
||||
return validateEventForm({
|
||||
title,
|
||||
startDate,
|
||||
startTime,
|
||||
endDate,
|
||||
@@ -410,14 +409,7 @@ export default function EventFormFields({
|
||||
|
||||
return (
|
||||
<>
|
||||
<FieldWithLabel
|
||||
label={
|
||||
<>
|
||||
{t("event.form.title")} <span style={{ color: "red" }}>*</span>
|
||||
</>
|
||||
}
|
||||
isExpanded={showMore}
|
||||
>
|
||||
<FieldWithLabel label={t("event.form.title")} isExpanded={showMore}>
|
||||
<TextField
|
||||
fullWidth
|
||||
label={!showMore ? t("event.form.title") : ""}
|
||||
@@ -426,8 +418,6 @@ export default function EventFormFields({
|
||||
onChange={(e) => {
|
||||
setTitle(e.target.value);
|
||||
}}
|
||||
error={!!validation.errors.title}
|
||||
helperText={validation.errors.title}
|
||||
size="small"
|
||||
margin="dense"
|
||||
inputRef={titleInputRef}
|
||||
|
||||
@@ -4,7 +4,6 @@ import { combineDateTime } from "./dateTimeHelpers";
|
||||
* Validation parameters for event form
|
||||
*/
|
||||
export interface ValidationParams {
|
||||
title: string;
|
||||
startDate: string;
|
||||
startTime: string;
|
||||
endDate: string;
|
||||
@@ -21,7 +20,6 @@ export interface ValidationParams {
|
||||
export interface ValidationResult {
|
||||
isValid: boolean;
|
||||
errors: {
|
||||
title: string;
|
||||
dateTime: string;
|
||||
};
|
||||
}
|
||||
@@ -33,7 +31,6 @@ export interface ValidationResult {
|
||||
*/
|
||||
export function validateEventForm(params: ValidationParams): ValidationResult {
|
||||
const {
|
||||
title,
|
||||
startDate,
|
||||
startTime,
|
||||
endDate,
|
||||
@@ -44,9 +41,6 @@ export function validateEventForm(params: ValidationParams): ValidationResult {
|
||||
showMore = false,
|
||||
} = params;
|
||||
|
||||
const isTitleValid = title.trim().length > 0;
|
||||
const shouldShowTitleError = showValidationErrors && !isTitleValid;
|
||||
|
||||
let isDateTimeValid = true;
|
||||
let dateTimeError = "";
|
||||
|
||||
@@ -154,12 +148,11 @@ export function validateEventForm(params: ValidationParams): ValidationResult {
|
||||
}
|
||||
}
|
||||
|
||||
const isValid = isTitleValid && isDateTimeValid;
|
||||
const isValid = isDateTimeValid;
|
||||
|
||||
return {
|
||||
isValid,
|
||||
errors: {
|
||||
title: shouldShowTitleError ? "Title is required" : "",
|
||||
dateTime: showValidationErrors ? dateTimeError : "",
|
||||
},
|
||||
};
|
||||
|
||||
@@ -254,6 +254,7 @@ export function Menubar({
|
||||
value={lang}
|
||||
onChange={(e) => {
|
||||
dispatch(setLanguage(e.target.value));
|
||||
handleLangClose();
|
||||
}}
|
||||
variant="outlined"
|
||||
aria-label={t("menubar.languageSelector")}
|
||||
|
||||
Reference in New Issue
Block a user