diff --git a/CHANGELOG.md b/CHANGELOG.md index 268ec6b..c4edfbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## Version 0.2.19 + +### Fixed + +* settings button not working +* fixed delete dialog modal blocks page interaction (#149) +* disable submit button when frequency is invaid + ## Version 0.2.18 ### Improved diff --git a/components/AddEditHabitModal.tsx b/components/AddEditHabitModal.tsx index 37f6739..53bbc1e 100644 --- a/components/AddEditHabitModal.tsx +++ b/components/AddEditHabitModal.tsx @@ -44,7 +44,7 @@ export default function AddEditHabitModal({ onClose, onSave, habit, isTask }: Ad const [ruleText, setRuleText] = useState(initialRuleText) const { currentUser } = useHelpers() const [isQuickDatesOpen, setIsQuickDatesOpen] = useState(false) - const [ruleError, setRuleError] = useState(null); // State for validation message + const [errorMessage, setErrorMessage] = useState(null); // State for validation message const [selectedUserIds, setSelectedUserIds] = useState((habit?.userIds || []).filter(id => id !== currentUser?.id)) const [usersData] = useAtom(usersAtom) const users = usersData.users @@ -183,9 +183,10 @@ export default function AddEditHabitModal({ onClose, onSave, habit, isTask }: Ad
{(() => { let displayText = ''; - let errorMessage: string | null = null; const { result, message } = convertHumanReadableFrequencyToMachineReadable({ text: ruleText, timezone: settings.system.timezone, isRecurring: isRecurRule }); - errorMessage = message; + if (message !== errorMessage) { // Only update if it changed to avoid re-renders + setErrorMessage(message); + } displayText = convertMachineReadableFrequencyToHumanReadable({ frequency: result, isRecurRule, timezone: settings.system.timezone }) return ( @@ -320,7 +321,7 @@ export default function AddEditHabitModal({ onClose, onSave, habit, isTask }: Ad )}
- )} - + )} - +