From 95203426a3918db48985befff8212a87bfaf0f58 Mon Sep 17 00:00:00 2001 From: dohsimpson Date: Mon, 26 May 2025 22:58:16 -0400 Subject: [PATCH] fix modal and invalid frequency --- CHANGELOG.md | 8 ++++++++ components/AddEditHabitModal.tsx | 9 +++++---- components/HabitItem.tsx | 16 +++++++++------- components/Profile.tsx | 17 +++++++++-------- components/WishlistItem.tsx | 4 ++-- components/ui/dialog.tsx | 2 +- messages/de.json | 1 + messages/en.json | 1 + messages/es.json | 1 + messages/fr.json | 1 + messages/ja.json | 1 + messages/ru.json | 1 + messages/zh.json | 1 + package.json | 2 +- 14 files changed, 42 insertions(+), 23 deletions(-) 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 )}
- )} - + )} - +