From 0c258ee9ef7c5714f7dfce08c9b5bdb8c7f7da78 Mon Sep 17 00:00:00 2001 From: Gimle Larpes Date: Fri, 30 May 2025 21:42:21 +0200 Subject: [PATCH] Add "Date & Time" subheading, cleanup after merge --- src/app/features/settings/general/General.tsx | 155 ++++++++++-------- 1 file changed, 84 insertions(+), 71 deletions(-) diff --git a/src/app/features/settings/general/General.tsx b/src/app/features/settings/general/General.tsx index 26b080fd..e647920a 100644 --- a/src/app/features/settings/general/General.tsx +++ b/src/app/features/settings/general/General.tsx @@ -302,7 +302,6 @@ function PageZoomInput() { function Appearance() { const [systemTheme, setSystemTheme] = useSetting(settingsAtom, 'useSystemTheme'); const [twitterEmoji, setTwitterEmoji] = useSetting(settingsAtom, 'twitterEmoji'); - const [hour24Clock, setHour24Clock] = useSetting(settingsAtom, 'hour24Clock'); return ( @@ -339,13 +338,96 @@ function Appearance() { } /> + + ); +} +function SelectDateFormat() { + // ADD TEXT INPUT AND RELATED LOGIC-- ADD LIVE PREVIEW: e.g. [formatted current date] + const [menuCords, setMenuCords] = useState(); + const [dateFormatString, setDateFormatString] = useSetting(settingsAtom, 'dateFormatString'); + const dateFormatItems = useDateFormatItems(); + + const handleMenu: MouseEventHandler = (evt) => { + setMenuCords(evt.currentTarget.getBoundingClientRect()); + }; + + const handleSelect = (format: DateFormat) => { + setDateFormatString(format); + setMenuCords(undefined); + }; + + return ( + <> + + setMenuCords(undefined), + clickOutsideDeactivates: true, + isKeyForward: (evt: KeyboardEvent) => + evt.key === 'ArrowDown' || evt.key === 'ArrowRight', + isKeyBackward: (evt: KeyboardEvent) => + evt.key === 'ArrowUp' || evt.key === 'ArrowLeft', + escapeDeactivates: stopPropagation, + }} + > + + + {dateFormatItems.map((item) => ( + handleSelect(item.format)} + > + {item.name} + + ))} + + + + } + /> + + ); +} + +function DateAndTime() { + const [hour24Clock, setHour24Clock] = useSetting(settingsAtom, 'hour24Clock'); + + return ( + + Date & Time } /> + + + } /> + ); } @@ -522,76 +604,6 @@ function SelectMessageSpacing() { ); } -function SelectDateFormat() { - // ADD TEXT INPUT AND RELATED LOGIC-- ADD LIVE PREVIEW - const [menuCords, setMenuCords] = useState(); - const [dateFormatString, setDateFormatString] = useSetting(settingsAtom, 'dateFormatString'); - const dateFormatItems = useDateFormatItems(); - - const handleMenu: MouseEventHandler = (evt) => { - setMenuCords(evt.currentTarget.getBoundingClientRect()); - }; - - const handleSelect = (format: DateFormat) => { - setDateFormatString(format); - setMenuCords(undefined); - }; - - return ( - <> - - setMenuCords(undefined), - clickOutsideDeactivates: true, - isKeyForward: (evt: KeyboardEvent) => - evt.key === 'ArrowDown' || evt.key === 'ArrowRight', - isKeyBackward: (evt: KeyboardEvent) => - evt.key === 'ArrowUp' || evt.key === 'ArrowLeft', - escapeDeactivates: stopPropagation, - }} - > - - - {dateFormatItems.map((item) => ( - handleSelect(item.format)} - > - {item.name} - - ))} - - - - } - /> - - ); -} - function Messages() { const [legacyUsernameColor, setLegacyUsernameColor] = useSetting( settingsAtom, @@ -716,6 +728,7 @@ export function General({ requestClose }: GeneralProps) { +