diff --git a/src/webapp/components/navigation/bottomBar/BottomBar.tsx b/src/webapp/components/navigation/bottomBar/BottomBar.tsx index eb471885..64fadae6 100644 --- a/src/webapp/components/navigation/bottomBar/BottomBar.tsx +++ b/src/webapp/components/navigation/bottomBar/BottomBar.tsx @@ -45,7 +45,11 @@ export default function BottomBar() { } + icon={ + + } /> diff --git a/src/webapp/features/auth/components/loginForm/AppPasswordLoginForm.tsx b/src/webapp/features/auth/components/loginForm/AppPasswordLoginForm.tsx index 50d04307..7ac33432 100644 --- a/src/webapp/features/auth/components/loginForm/AppPasswordLoginForm.tsx +++ b/src/webapp/features/auth/components/loginForm/AppPasswordLoginForm.tsx @@ -67,7 +67,10 @@ export default function AppPasswordLoginForm(props: Props) { const options = suggestions.map((user) => ( - + {user.displayName || user.handle} diff --git a/src/webapp/features/auth/components/loginForm/LoginForm.tsx b/src/webapp/features/auth/components/loginForm/LoginForm.tsx index b71d11f4..9825c8c3 100644 --- a/src/webapp/features/auth/components/loginForm/LoginForm.tsx +++ b/src/webapp/features/auth/components/loginForm/LoginForm.tsx @@ -6,7 +6,7 @@ import { useAuth } from '@/hooks/useAuth'; import { useForm } from '@mantine/form'; import { useRouter, useSearchParams } from 'next/navigation'; import { useEffect, useState } from 'react'; -import { createSembleClient } from '@/services/apiClient'; +import { createSembleClient } from '@/services/client.apiClient'; import OAuthLoginForm from './OAuthLoginForm'; import AppPasswordLoginForm from './AppPasswordLoginForm'; diff --git a/src/webapp/features/auth/components/loginForm/OAuthLoginForm.tsx b/src/webapp/features/auth/components/loginForm/OAuthLoginForm.tsx index f2474b55..a923eea4 100644 --- a/src/webapp/features/auth/components/loginForm/OAuthLoginForm.tsx +++ b/src/webapp/features/auth/components/loginForm/OAuthLoginForm.tsx @@ -67,7 +67,10 @@ export default function OAuthLoginForm(props: Props) { const options = suggestions.map((user) => ( - + {user.displayName || user.handle} diff --git a/src/webapp/features/cards/lib/dal.ts b/src/webapp/features/cards/lib/dal.ts index 280d2ec7..96604370 100644 --- a/src/webapp/features/cards/lib/dal.ts +++ b/src/webapp/features/cards/lib/dal.ts @@ -1,5 +1,5 @@ import { verifySessionOnClient } from '@/lib/auth/dal'; -import { createSembleClient } from '@/services/apiClient'; +import { createSembleClient } from '@/services/client.apiClient'; import { CardSortField, SortOrder } from '@semble/types'; import { cache } from 'react'; diff --git a/src/webapp/features/cards/lib/mutations/useUpdateCardAssociations.tsx b/src/webapp/features/cards/lib/mutations/useUpdateCardAssociations.tsx index c1e2c897..9083b953 100644 --- a/src/webapp/features/cards/lib/mutations/useUpdateCardAssociations.tsx +++ b/src/webapp/features/cards/lib/mutations/useUpdateCardAssociations.tsx @@ -1,4 +1,4 @@ -import { createSembleClient } from '@/services/apiClient'; +import { createSembleClient } from '@/services/client.apiClient'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import { cardKeys } from '../cardKeys'; import { collectionKeys } from '@/features/collections/lib/collectionKeys'; diff --git a/src/webapp/features/collections/components/collectionCard/CollectionCard.tsx b/src/webapp/features/collections/components/collectionCard/CollectionCard.tsx index 3d6bd9d2..900a5412 100644 --- a/src/webapp/features/collections/components/collectionCard/CollectionCard.tsx +++ b/src/webapp/features/collections/components/collectionCard/CollectionCard.tsx @@ -47,7 +47,10 @@ export default function CollectionCard(props: Props) { diff --git a/src/webapp/features/collections/containers/collectionContainer/CollectionContainer.tsx b/src/webapp/features/collections/containers/collectionContainer/CollectionContainer.tsx index a59215f7..04c74bf0 100644 --- a/src/webapp/features/collections/containers/collectionContainer/CollectionContainer.tsx +++ b/src/webapp/features/collections/containers/collectionContainer/CollectionContainer.tsx @@ -111,7 +111,10 @@ export default function CollectionContainer(props: Props) { size={'sm'} component={Link} href={`/profile/${firstPage.author.handle}`} - src={firstPage.author.avatarUrl} + src={firstPage.author.avatarUrl?.replace( + 'avatar', + 'avatar_thumbnail', + )} alt={`${firstPage.author.name}'s' avatar`} /> {renderActivityText()} diff --git a/src/webapp/features/feeds/lib/dal.ts b/src/webapp/features/feeds/lib/dal.ts index 234f65c9..ee3e30b7 100644 --- a/src/webapp/features/feeds/lib/dal.ts +++ b/src/webapp/features/feeds/lib/dal.ts @@ -1,4 +1,4 @@ -import { createSembleClient } from '@/services/apiClient'; +import { createSembleClient } from '@/services/client.apiClient'; import { cache } from 'react'; interface PageParams { diff --git a/src/webapp/features/notes/components/noteCard/NoteCard.tsx b/src/webapp/features/notes/components/noteCard/NoteCard.tsx index a4d14bbe..2753a800 100644 --- a/src/webapp/features/notes/components/noteCard/NoteCard.tsx +++ b/src/webapp/features/notes/components/noteCard/NoteCard.tsx @@ -25,7 +25,7 @@ export default function NoteCard(props: Props) { diff --git a/src/webapp/features/notes/components/noteCardModal/NoteCardModalContent.tsx b/src/webapp/features/notes/components/noteCardModal/NoteCardModalContent.tsx index 80806bdb..7f44e2a2 100644 --- a/src/webapp/features/notes/components/noteCardModal/NoteCardModalContent.tsx +++ b/src/webapp/features/notes/components/noteCardModal/NoteCardModalContent.tsx @@ -130,7 +130,10 @@ export default function NoteCardModalContent(props: Props) { component={Link} href={`/profile/${props.cardAuthor.handle}`} target="_blank" - src={props.cardAuthor.avatarUrl} + src={props.cardAuthor.avatarUrl?.replace( + 'avatar', + 'avatar_thumbnail', + )} alt={`${props.cardAuthor.name}'s' avatar`} /> diff --git a/src/webapp/features/notifications/lib/dal.ts b/src/webapp/features/notifications/lib/dal.ts index 8c0dfb84..9f8f8ab3 100644 --- a/src/webapp/features/notifications/lib/dal.ts +++ b/src/webapp/features/notifications/lib/dal.ts @@ -1,4 +1,4 @@ -import { createSembleClient } from '@/services/apiClient'; +import { createSembleClient } from '@/services/client.apiClient'; import { cache } from 'react'; interface PageParams { diff --git a/src/webapp/features/notifications/lib/mutations/useMarkAllNotificationsAsRead.tsx b/src/webapp/features/notifications/lib/mutations/useMarkAllNotificationsAsRead.tsx index 0a497477..1480c635 100644 --- a/src/webapp/features/notifications/lib/mutations/useMarkAllNotificationsAsRead.tsx +++ b/src/webapp/features/notifications/lib/mutations/useMarkAllNotificationsAsRead.tsx @@ -1,5 +1,5 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { createSembleClient } from '@/services/apiClient'; +import { createSembleClient } from '@/services/client.apiClient'; import { notificationKeys } from '../notificationKeys'; export default function useMarkAllNotificationsAsRead() { diff --git a/src/webapp/features/notifications/lib/mutations/useMarkNotificationsAsRead.tsx b/src/webapp/features/notifications/lib/mutations/useMarkNotificationsAsRead.tsx index 2eebbaa4..8b4a410a 100644 --- a/src/webapp/features/notifications/lib/mutations/useMarkNotificationsAsRead.tsx +++ b/src/webapp/features/notifications/lib/mutations/useMarkNotificationsAsRead.tsx @@ -1,5 +1,5 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { createSembleClient } from '@/services/apiClient'; +import { createSembleClient } from '@/services/client.apiClient'; import { notificationKeys } from '../notificationKeys'; import type { MarkNotificationsAsReadRequest } from '@/api-client'; diff --git a/src/webapp/features/platforms/bluesky/components/blueskyPost/BlueskyPost.tsx b/src/webapp/features/platforms/bluesky/components/blueskyPost/BlueskyPost.tsx index 0aecf1b0..a41ca847 100644 --- a/src/webapp/features/platforms/bluesky/components/blueskyPost/BlueskyPost.tsx +++ b/src/webapp/features/platforms/bluesky/components/blueskyPost/BlueskyPost.tsx @@ -62,7 +62,7 @@ export default function BlueskyPost(props: Props) { diff --git a/src/webapp/features/platforms/bluesky/components/feedEmbed/FeedEmbed.tsx b/src/webapp/features/platforms/bluesky/components/feedEmbed/FeedEmbed.tsx index c20014ab..494e5f5c 100644 --- a/src/webapp/features/platforms/bluesky/components/feedEmbed/FeedEmbed.tsx +++ b/src/webapp/features/platforms/bluesky/components/feedEmbed/FeedEmbed.tsx @@ -14,7 +14,10 @@ export default function FeedEmbed(props: Props) { {props.feed.avatar && ( - + )} @@ -40,7 +43,10 @@ export default function FeedEmbed(props: Props) { > {props.feed.avatar && ( - + )} diff --git a/src/webapp/features/platforms/bluesky/components/recordEmbed/RecordEmbed.tsx b/src/webapp/features/platforms/bluesky/components/recordEmbed/RecordEmbed.tsx index 335439e4..b32a186d 100644 --- a/src/webapp/features/platforms/bluesky/components/recordEmbed/RecordEmbed.tsx +++ b/src/webapp/features/platforms/bluesky/components/recordEmbed/RecordEmbed.tsx @@ -32,7 +32,7 @@ export default function RecordEmbed(props: Props) { diff --git a/src/webapp/features/profile/components/profileHoverCard/ProfileHoverCard.tsx b/src/webapp/features/profile/components/profileHoverCard/ProfileHoverCard.tsx index ca97a34a..70520a3f 100644 --- a/src/webapp/features/profile/components/profileHoverCard/ProfileHoverCard.tsx +++ b/src/webapp/features/profile/components/profileHoverCard/ProfileHoverCard.tsx @@ -26,7 +26,10 @@ export default function ProfileHoverCard(props: Props) { - + {profile.name} diff --git a/src/webapp/features/profile/components/profileMenu/ProfileMenu.tsx b/src/webapp/features/profile/components/profileMenu/ProfileMenu.tsx index 8d5340c2..4d0cb779 100644 --- a/src/webapp/features/profile/components/profileMenu/ProfileMenu.tsx +++ b/src/webapp/features/profile/components/profileMenu/ProfileMenu.tsx @@ -53,7 +53,9 @@ export default function ProfileMenu() { - + {data.name} diff --git a/src/webapp/features/profile/lib/dal.ts b/src/webapp/features/profile/lib/dal.ts index d7fd4820..064f7252 100644 --- a/src/webapp/features/profile/lib/dal.ts +++ b/src/webapp/features/profile/lib/dal.ts @@ -1,5 +1,5 @@ import { verifySessionOnClient } from '@/lib/auth/dal'; -import { createSembleClient } from '@/services/apiClient'; +import { createSembleClient } from '@/services/client.apiClient'; import { cache } from 'react'; export const getProfile = cache(async (didOrHandle: string) => { @@ -19,3 +19,4 @@ export const getMyProfile = cache(async () => { return response; }); + diff --git a/src/webapp/features/semble/components/addedByCard/AddedByCard.tsx b/src/webapp/features/semble/components/addedByCard/AddedByCard.tsx index 104d2975..4298ce69 100644 --- a/src/webapp/features/semble/components/addedByCard/AddedByCard.tsx +++ b/src/webapp/features/semble/components/addedByCard/AddedByCard.tsx @@ -24,7 +24,10 @@ export default function AddedByCard(props: Props) { diff --git a/src/webapp/features/semble/components/urlAddedBySummary/UrlAddedBySummary.tsx b/src/webapp/features/semble/components/urlAddedBySummary/UrlAddedBySummary.tsx index d67890bb..2d514710 100644 --- a/src/webapp/features/semble/components/urlAddedBySummary/UrlAddedBySummary.tsx +++ b/src/webapp/features/semble/components/urlAddedBySummary/UrlAddedBySummary.tsx @@ -26,7 +26,7 @@ export default async function UrlAddedBySummary(props: Props) { key={i} component={Link} href={`/profile/${p.user.handle}`} - src={p.user.avatarUrl} + src={p.user.avatarUrl?.replace('avatar', 'avatar_thumbnail')} alt={p.user.handle} name={p.user.handle} /> diff --git a/src/webapp/features/semble/lib/dal.ts b/src/webapp/features/semble/lib/dal.ts index 792095fe..14b0767d 100644 --- a/src/webapp/features/semble/lib/dal.ts +++ b/src/webapp/features/semble/lib/dal.ts @@ -1,4 +1,4 @@ -import { createSembleClient } from '@/services/apiClient'; +import { createSembleClient } from '@/services/client.apiClient'; import { cache } from 'react'; interface PageParams { diff --git a/src/webapp/features/settings/components/accountSummary/AccountSummary.tsx b/src/webapp/features/settings/components/accountSummary/AccountSummary.tsx index b959eb83..099fa02c 100644 --- a/src/webapp/features/settings/components/accountSummary/AccountSummary.tsx +++ b/src/webapp/features/settings/components/accountSummary/AccountSummary.tsx @@ -12,7 +12,7 @@ export default function AccountSummary() { + diff --git a/src/webapp/services/apiClient.ts b/src/webapp/services/apiClient.ts deleted file mode 100644 index 58b4c0e7..00000000 --- a/src/webapp/services/apiClient.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { createApiClient, createServerApiClient } from '@/api-client/ApiClient'; - -export const createServerSideSembleClient = () => { - return createServerApiClient(); -}; - -export const createClientSideSembleClient = () => { - return createApiClient(); -}; - -export const createSembleClient = () => { - if (typeof window === 'undefined') { - return createServerSideSembleClient(); - } else { - return createClientSideSembleClient(); - } -}; diff --git a/src/webapp/services/client.apiClient.ts b/src/webapp/services/client.apiClient.ts new file mode 100644 index 00000000..63e09425 --- /dev/null +++ b/src/webapp/services/client.apiClient.ts @@ -0,0 +1,5 @@ +import { createApiClient } from '@/api-client/ApiClient'; + +export const createSembleClient = () => { + return createApiClient(); +}; diff --git a/src/webapp/services/server.apiClient.ts b/src/webapp/services/server.apiClient.ts new file mode 100644 index 00000000..54ddb433 --- /dev/null +++ b/src/webapp/services/server.apiClient.ts @@ -0,0 +1,7 @@ +import { createServerApiClient } from '@/api-client/ApiClient'; +import { ServerCookieAuthService } from './auth/CookieAuthService.server'; + +export const createServerSembleClient = async () => { + const { accessToken } = await ServerCookieAuthService.getTokens(); + return createServerApiClient(accessToken || undefined); +};