diff --git a/web/components/profiles/profiles-home.tsx b/web/components/profiles/profiles-home.tsx index d30ecd1d..3d35f3c4 100644 --- a/web/components/profiles/profiles-home.tsx +++ b/web/components/profiles/profiles-home.tsx @@ -12,12 +12,13 @@ import {useGetter} from 'web/hooks/use-getter' import {usePersistentInMemoryState} from 'web/hooks/use-persistent-in-memory-state' import {useUser} from 'web/hooks/use-user' import {api} from 'web/lib/api' -import {useBookmarkedSearches} from "web/hooks/use-bookmarked-searches"; -import {useFilters} from "web/components/filters/use-filters"; +import {useBookmarkedSearches} from "web/hooks/use-bookmarked-searches" +import {useFilters} from "web/components/filters/use-filters" +import {useT} from "web/lib/locale"; export function ProfilesHome() { - const user = useUser(); - const you = useProfile(); + const user = useUser() + const you = useProfile() const { filters, @@ -26,37 +27,38 @@ export function ProfilesHome() { setYourFilters, isYourFilters, locationFilterProps, - } = useFilters(you ?? undefined); + } = useFilters(you ?? undefined) - const [profiles, setProfiles] = usePersistentInMemoryState(undefined, 'profiles'); - const [profileCount, setProfileCount] = usePersistentInMemoryState(undefined, 'profile-count'); + const [profiles, setProfiles] = usePersistentInMemoryState(undefined, 'profiles') + const [profileCount, setProfileCount] = usePersistentInMemoryState(undefined, 'profile-count') const {bookmarkedSearches, refreshBookmarkedSearches} = useBookmarkedSearches(user?.id) - const [isLoadingMore, setIsLoadingMore] = useState(false); - const [isReloading, setIsReloading] = useState(false); + const [isLoadingMore, setIsLoadingMore] = useState(false) + const [isReloading, setIsReloading] = useState(false) + const t = useT() // const [debouncedAgeRange, setRawAgeRange] = useState({ // min: filters.pref_age_min ?? PREF_AGE_MIN, // max: filters.pref_age_max ?? PREF_AGE_MAX, - // }); + // }) // - // const debouncedSetAge = useCallback(debounce((state) => setRawAgeRange(state), 50), []); + // const debouncedSetAge = useCallback(debounce((state) => setRawAgeRange(state), 50), []) // // useEffect(() => { - // if (!user) return; - // debouncedSetAge({min: filters.pref_age_min ?? PREF_AGE_MIN, max: filters.pref_age_max ?? PREF_AGE_MAX}); - // }, [filters.pref_age_min, filters.pref_age_max]); + // if (!user) return + // debouncedSetAge({min: filters.pref_age_min ?? PREF_AGE_MIN, max: filters.pref_age_max ?? PREF_AGE_MAX}) + // }, [filters.pref_age_min, filters.pref_age_max]) - const id = useRef(0); + const id = useRef(0) useEffect(() => { - if (!user) return; - setIsReloading(true); - const current = ++id.current; + if (!user) return + setIsReloading(true) + const current = ++id.current const args = removeNullOrUndefinedProps({ limit: 20, compatibleWithUserId: user?.id, ...filters - }); - console.debug('Refreshing profiles, filters:', args); + }) + console.debug('Refreshing profiles, filters:', args) api('get-profiles', args as any) .then(({profiles, count}) => { if (current === id.current) { @@ -65,43 +67,43 @@ export function ProfilesHome() { } }) .finally(() => { - if (current === id.current) setIsReloading(false); - }); - }, [filters]); + if (current === id.current) setIsReloading(false) + }) + }, [filters]) const {data: starredUsers, refresh: refreshStars} = useGetter('star', user?.id, getStars) const starredUserIds = starredUsers?.map((u) => u.id) const compatibleProfiles = useCompatibleProfiles(user?.id) - // const displayProfiles = profiles && orderProfiles(profiles, starredUserIds); + // const displayProfiles = profiles && orderProfiles(profiles, starredUserIds) const displayProfiles = profiles const loadMore = useCallback(async () => { - if (!profiles || isLoadingMore) return false; + if (!profiles || isLoadingMore) return false try { - setIsLoadingMore(true); - const lastProfile = profiles[profiles.length - 1]; + setIsLoadingMore(true) + const lastProfile = profiles[profiles.length - 1] const result = await api('get-profiles', removeNullOrUndefinedProps({ limit: 20, compatibleWithUserId: user?.id, after: lastProfile?.id.toString(), ...filters - }) as any); - if (result.profiles.length === 0) return false; - setProfiles((prev) => (prev ? [...prev, ...result.profiles] : result.profiles)); - return true; + }) as any) + if (result.profiles.length === 0) return false + setProfiles((prev) => (prev ? [...prev, ...result.profiles] : result.profiles)) + return true } catch (err) { - console.error('Failed to load more profiles', err); - return false; + console.error('Failed to load more profiles', err) + return false } finally { - setIsLoadingMore(false); + setIsLoadingMore(false) } - }, [profiles, filters, isLoadingMore, setProfiles]); + }, [profiles, filters, isLoadingMore, setProfiles]) return ( <> {/*{user && !profile && }*/} - People + {t("profiles.title", "People")} )} - ); + ) } diff --git a/web/messages/fr.json b/web/messages/fr.json index 354601a1..fb6802f4 100644 --- a/web/messages/fr.json +++ b/web/messages/fr.json @@ -410,18 +410,18 @@ "messages.seo.description": "Vos messages", "messages.input_placeholder": "Envoyer un message", "messages.menu.see_members": "Voir les membres", - "messages.menu.mute_1_day": "Couper le son pendant 1 jour", - "messages.menu.mute_forever": "Couper le son définitivement", + "messages.menu.mute_1_day": "Couper notifs pendant 1 jour", + "messages.menu.mute_forever": "Couper notifs définitivement", "messages.menu.leave_chat": "Quitter la conversation", "messages.action.edit": "Modifier", "messages.action.delete": "Supprimer", "messages.action.add_reaction": "Ajouter une réaction", - "messages.toast.muting_1_day.loading": "Couper le son pour 1 jour...", - "messages.toast.muting_1_day.success": "Son coupé pour 1 jour", - "messages.toast.muting_1_day.error": "Échec de la coupure du son", - "messages.toast.muting_forever.loading": "Couper le son définitivement...", - "messages.toast.muting_forever.success": "Son coupé définitivement", - "messages.toast.muting_forever.error": "Échec de la coupure du son", + "messages.toast.muting_1_day.loading": "Couper notifs pour 1 jour...", + "messages.toast.muting_1_day.success": "Notifs coupées pour 1 jour", + "messages.toast.muting_1_day.error": "Échec de la coupure des notifs", + "messages.toast.muting_forever.loading": "Couper notifs définitivement...", + "messages.toast.muting_forever.success": "Notifs coupées définitivement", + "messages.toast.muting_forever.error": "Échec de la coupure des notifs", "messages.empty": "Vous n'avez pas encore de messages.", "messages.delete_confirm": "Êtes-vous sûr de vouloir supprimer ce message ?", "messages.deleted": "Message supprimé", @@ -434,5 +434,6 @@ "messages.toast.edit_failed": "Échec de la modification du message.", "messages.toast.send_failed": "Échec de l'envoi du message. Veuillez réessayer plus tard ou contacter le support si le problème persiste.", "aboutsettings.copied": "Copié !", - "aboutsettings.copy_info": "Copier les infos" + "aboutsettings.copy_info": "Copier les infos", + "profiles.title": "Personnes" } \ No newline at end of file