Skip to content

Commit

Permalink
updated addplan modal to support empty plan name
Browse files Browse the repository at this point in the history
  • Loading branch information
denniwang committed Jan 28, 2025
1 parent d1cfe06 commit 65ca248
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions packages/frontend/components/Plan/AddPlanModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,13 @@ export const AddPlanModal: React.FC<AddPlanModalProps> = ({
const { onOpen, onClose: onCloseDisplay, isOpen } = useDisclosure();
const { supportedMajorsData, error: supportedMajorsError } =
useSupportedMajors();

// Generate default plan title using formatted date and time
const generateDefaultPlanTitle = () => {
const now = new Date();
return `Plan ${now.toLocaleDateString()} ${now.toLocaleTimeString()}`;
};

const {
register,
handleSubmit,
Expand Down Expand Up @@ -87,7 +94,7 @@ export const AddPlanModal: React.FC<AddPlanModalProps> = ({
const onSubmitHandler = async (payload: CreatePlanDtoWithoutSchedule) => {
const schedule = createEmptySchedule();
const newPlan: CreatePlanDto = {
name: payload.name,
name: payload.name || generateDefaultPlanTitle(),
catalogYear: isNoMajorSelected ? undefined : payload.catalogYear,
major: isNoMajorSelected ? undefined : payload.major,
concentration: isNoMajorSelected ? undefined : payload.concentration,
Expand Down Expand Up @@ -161,13 +168,12 @@ export const AddPlanModal: React.FC<AddPlanModalProps> = ({
yearSupportedMajors?.[majorName ?? ""]?.verified ?? false;

const isValidForm =
(title &&
catalogYear &&
(catalogYear &&
majorName &&
(!isConcentrationRequired || concentration) &&
(!isValidatedMajor ? agreeToBetaMajor : true)) ||
// Valid plan for no major selected
(title && isNoMajorSelected);
isNoMajorSelected;

const noMajorHelperLabel = (
<Stack>
Expand Down Expand Up @@ -227,10 +233,9 @@ export const AddPlanModal: React.FC<AddPlanModalProps> = ({
label="Title"
id="name"
type="text"
placeholder="My Plan"
placeholder={generateDefaultPlanTitle()}
error={errors.name}
{...register("name", {
required: "Title is required",
pattern: noLeadOrTrailWhitespacePattern,
})}
/>
Expand Down

0 comments on commit 65ca248

Please sign in to comment.