diff --git a/web/components/layout/modal.tsx b/web/components/layout/modal.tsx
index 7129f9b7..8fb995bd 100644
--- a/web/components/layout/modal.tsx
+++ b/web/components/layout/modal.tsx
@@ -4,7 +4,7 @@ import clsx from 'clsx'
import {Fragment, ReactNode, useEffect, useRef} from 'react'
export const MODAL_CLASS =
- 'items-center gap-4 rounded-md bg-canvas-50 sm:px-8 px-4 pt-6 pb-2 text-ink-1000 h-[calc(100dvh-var(--hloss)-120px)] sm:h-[calc(95dvh-var(--hloss)-120px)] '
+ 'items-center gap-4 rounded-xl bg-canvas-50 sm:px-8 px-4 pt-6 pb-2 text-ink-1000 h-[calc(100dvh-var(--hloss)-120px)] sm:h-[calc(95dvh-var(--hloss)-120px)] '
export const SCROLLABLE_MODAL_CLASS = '!overflow-auto'
// From https://tailwindui.com/components/application-ui/overlays/modals
diff --git a/web/components/searches/button.tsx b/web/components/searches/button.tsx
index 8a66f7b3..7626c52a 100644
--- a/web/components/searches/button.tsx
+++ b/web/components/searches/button.tsx
@@ -89,47 +89,58 @@ function ButtonModal(props: {
size={'lg'}
>
- {t('saved_searches.title', 'Saved Searches')}
+
+ {t('saved_searches.title', 'Saved Searches')}
+
{bookmarkedSearches?.length ? (
<>
-
+
{t(
'saved_searches.notification_note',
"We'll notify you daily when new people match your searches below.",
)}
-
+
{(bookmarkedSearches || []).map((search) => (
-
-
- {formatFilters(
- search.search_filters as Partial
,
- search.location as locationType,
- choicesIdsToLabels,
- measurementSystem,
- t,
- )?.join(' • ')}
+
+
+
+
+
+ {formatFilters(
+ search.search_filters as Partial,
+ search.location as locationType,
+ choicesIdsToLabels,
+ measurementSystem,
+ t,
+ )?.join(' • ')}
+
+
+ {
+ await deleteBookmarkedSearch(search.id)
+ refreshBookmarkedSearches()
+ }}
+ className="inline-flex items-center justify-center h-8 w-8 rounded-lg border border-canvas-300 bg-canvas-0 text-ink-500 hover:border-red-300 hover:bg-red-50 hover:text-red-600 transition-all focus:outline-none focus:ring-2 focus:ring-red-400 focus:ring-offset-1"
+ >
+
+
+
-
{
- await deleteBookmarkedSearch(search.id)
- refreshBookmarkedSearches()
- }}
- className="inline-flex items-center justify-center h-8 w-8 rounded-full text-red-600 hover:bg-red-200 focus:outline-none focus:ring-2 focus:ring-red-400"
- >
-
-
-
+
))}
>
) : (
-
- {t(
- 'saved_searches.empty_state',
- "You haven't saved any search. To save one, click on Get Notified and we'll notify you daily when new people match it.",
- )}
-
+
+
You haven't saved any search.
+
+ {t(
+ 'saved_searches.empty_state',
+ "To save one, click on Get Notified and we'll notify you daily when new people match it.",
+ )}
+
+
)}
{/*
- {t('saved_people.title', 'Saved People')}
+
+ {t('saved_people.title', 'Saved People')}
+
{visibleUsers?.length ? (
<>
- {t('saved_people.list_header', 'Here are the people you saved:')}
-
+
+ {t('saved_people.list_header', 'Here are the people you saved:')}
+
+
{visibleUsers.map((u) => (
-
-
-
-
-
- {u.name}
- @{u.username}
-
-
-
- {
- // Optimistically remove the user from the list
- setRemovingIds((prev) => new Set(prev).add(u.id))
- // Fire the API call without blocking UI
- api('star-profile', {
- targetUserId: u.id,
- remove: true,
- })
- .then(() => {
- // Sync with server state
- refreshStars()
- })
- .catch(() => {
- toast.error("Couldn't remove saved profile. Please try again.")
- // Revert optimistic removal on failure
- setRemovingIds((prev) => {
- const next = new Set(prev)
- next.delete(u.id)
- return next
+
+
+
+
+
+
+
+
+ {u.name}
+
+ @{u.username}
+
+
+
+ {
+ // Optimistically remove the user from the list
+ setRemovingIds((prev) => new Set(prev).add(u.id))
+ // Fire the API call without blocking UI
+ api('star-profile', {
+ targetUserId: u.id,
+ remove: true,
})
- })
- }}
- className="inline-flex items-center justify-center h-8 w-8 rounded-full text-red-600 hover:bg-red-200 focus:outline-none focus:ring-2 focus:ring-red-400"
- >
-
-
-
+ .then(() => {
+ // Sync with server state
+ refreshStars()
+ })
+ .catch(() => {
+ toast.error("Couldn't remove saved profile. Please try again.")
+ // Revert optimistic removal on failure
+ setRemovingIds((prev) => {
+ const next = new Set(prev)
+ next.delete(u.id)
+ return next
+ })
+ })
+ }}
+ className="inline-flex items-center justify-center h-8 w-8 rounded-lg border border-canvas-300 bg-canvas-0 text-ink-500 hover:border-red-300 hover:bg-red-50 hover:text-red-600 transition-all focus:outline-none focus:ring-2 focus:ring-red-400 focus:ring-offset-1"
+ >
+
+
+
+
+
))}
>
) : (
-
- You haven't saved any profile. To save one, click on the star on their profile page.
-
+
+
You haven't saved any profile.
+
+ To save one, click on the star on their profile page.
+
+
)}
{/*