Skip to content

Commit b86afe5

Browse files
committed
feat: unified feed title
1 parent e9ab9b6 commit b86afe5

File tree

4 files changed

+29
-19
lines changed

4 files changed

+29
-19
lines changed

apps/renderer/src/components/errors/previews/FeedPreview.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import { useSearchParams } from "react-router-dom"
99

1010
import { getItemComponentByView } from "~/modules/entry-column/Items"
1111
import type { UniversalItemProps } from "~/modules/entry-column/types"
12-
import { FeedCertification } from "~/modules/feed/feed-certification"
1312
import { FeedIcon } from "~/modules/feed/feed-icon"
13+
import { FeedTitle } from "~/modules/feed/feed-title"
1414
import { useEntriesPreview } from "~/queries/entries"
1515
import { useFeed } from "~/queries/feed"
1616

@@ -56,10 +56,7 @@ export function FeedPreview(props: {
5656
size={64}
5757
/>
5858
<div className="flex flex-col items-center">
59-
<div className="mb-2 mt-4 flex items-center text-2xl font-bold">
60-
<h1>{feed.data.feed.title}</h1>
61-
<FeedCertification feed={feed.data.feed} />
62-
</div>
59+
<FeedTitle feed={feed.data.feed} className="mb-2 mt-4 text-2xl font-bold" />
6360
<div className="mb-8 text-sm text-zinc-500">{feed.data.feed.description}</div>
6461
</div>
6562
<div className="mb-4 text-sm">

apps/renderer/src/modules/feed-column/item.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,14 @@ import { useNavigateEntry } from "~/hooks/biz/useNavigateEntry"
2222
import { useRouteParamsSelector } from "~/hooks/biz/useRouteParams"
2323
import { getNewIssueUrl } from "~/lib/issues"
2424
import { showNativeMenu } from "~/lib/native-menu"
25-
import { FeedCertification } from "~/modules/feed/feed-certification"
2625
import { FeedIcon } from "~/modules/feed/feed-icon"
26+
import { FeedTitle } from "~/modules/feed/feed-title"
2727
import { getPreferredTitle, useFeedById } from "~/store/feed"
2828
import { useInboxById } from "~/store/inbox"
2929
import { useListById } from "~/store/list"
3030
import { subscriptionActions, useSubscriptionByFeedId } from "~/store/subscription"
3131
import { useFeedUnreadStore } from "~/store/unread"
3232

33-
import { BoostCertification } from "../boost/boost-certification"
3433
import { useSelectedFeedIds } from "./atom"
3534
import { feedColumnStyles } from "./styles"
3635
import { UnreadNumber } from "./unread-number"
@@ -161,9 +160,7 @@ const FeedItemImpl = ({ view, feedId, className }: FeedItemProps) => {
161160
)}
162161
>
163162
<FeedIcon fallback feed={feed} size={16} />
164-
<div className="truncate">{getPreferredTitle(feed)}</div>
165-
{isFeed && !hideExtraBadge && <FeedCertification feed={feed} className="text-[15px]" />}
166-
{isFeed && !hideExtraBadge && <BoostCertification feed={feed} className="text-[15px]" />}
163+
<FeedTitle feed={feed} />
167164
{isFeed && feed.errorAt && (
168165
<Tooltip delayDuration={300}>
169166
<TooltipTrigger asChild>

apps/renderer/src/modules/feed/feed-summary.tsx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { UrlBuilder } from "@follow/utils/url-builder"
55
import { cn } from "@follow/utils/utils"
66

77
import { FeedIcon } from "~/modules/feed/feed-icon"
8-
9-
import { FeedCertification } from "./feed-certification"
8+
import { FeedTitle } from "~/modules/feed/feed-title"
109

1110
export function FollowSummary({
1211
feed,
@@ -19,7 +18,6 @@ export function FollowSummary({
1918
}) {
2019
let siteLink: string | undefined
2120
let feedLink: string | undefined
22-
let feedTitle = feed.title
2321
let feedText: string | undefined
2422

2523
switch (feed.type) {
@@ -33,7 +31,6 @@ export function FollowSummary({
3331
siteLink = void 0
3432
feedLink = siteLink
3533
feedText = `${feed.id}${env.VITE_INBOXES_EMAIL}`
36-
feedTitle = feed.title || `${feed.id}'s Inbox`
3734
break
3835
}
3936
default: {
@@ -53,11 +50,8 @@ export function FollowSummary({
5350
className="mask-squircle mask mr-3 shrink-0 rounded-none"
5451
size={32}
5552
/>
56-
<div className="truncate text-base font-semibold leading-tight">
57-
<div className="flex items-center">
58-
{feedTitle}
59-
<FeedCertification className="center" feed={feed} />
60-
</div>
53+
<div className="leading-tight">
54+
<FeedTitle feed={feed} className="text-base font-semibold" />
6155
<EllipsisHorizontalTextWithTooltip className="truncate text-xs font-normal text-zinc-500">
6256
{feed.description}
6357
</EllipsisHorizontalTextWithTooltip>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import type { FeedOrListRespModel } from "@follow/models/types"
2+
import { cn } from "@follow/utils/utils"
3+
4+
import { BoostCertification } from "~/modules/boost/boost-certification"
5+
import { FeedCertification } from "~/modules/feed/feed-certification"
6+
import { getPreferredTitle } from "~/store/feed/store"
7+
8+
export const FeedTitle = ({
9+
feed,
10+
className,
11+
}: {
12+
feed: FeedOrListRespModel
13+
className?: string
14+
}) => {
15+
return (
16+
<div className={cn("flex items-center truncate", className)}>
17+
<div className="truncate">11{getPreferredTitle(feed)}</div>
18+
<FeedCertification feed={feed} />
19+
<BoostCertification feed={feed} />
20+
</div>
21+
)
22+
}

0 commit comments

Comments
 (0)