diff --git a/index.html b/index.html
index ea827e9..ccaabf1 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,7 @@
-
+
NewsNow
diff --git a/package.json b/package.json
index 6fd4072..724fcbf 100644
--- a/package.json
+++ b/package.json
@@ -26,10 +26,8 @@
"@dnd-kit/core": "^6.1.0",
"@dnd-kit/sortable": "^8.0.0",
"@dnd-kit/utilities": "^3.2.2",
- "@tanstack/react-query": "^5.56.2",
"@tanstack/react-query-devtools": "^5.58.0",
"@tanstack/react-router": "^1.58.9",
- "@tanstack/router-devtools": "^1.58.9",
"@unocss/reset": "^0.62.4",
"cheerio": "^1.0.0",
"clsx": "^2.1.1",
@@ -38,7 +36,6 @@
"db0": "npm:@ourongxing/db0@latest",
"defu": "^6.1.4",
"fast-xml-parser": "^4.5.0",
- "favicons-scraper": "^1.3.2",
"framer-motion": "^11.11.5",
"h3": "^1.13.0",
"iconv-lite": "^0.6.3",
@@ -59,6 +56,8 @@
"@iconify-json/ph": "^1.2.0",
"@ourongxing/eslint-config": "3.2.3-beta.4",
"@ourongxing/tsconfig": "^0.0.4",
+ "@tanstack/react-query": "^5.56.2",
+ "@tanstack/router-devtools": "^1.58.9",
"@tanstack/router-plugin": "^1.58.10",
"@types/md5": "^2.3.5",
"@types/react": "^18.3.9",
@@ -68,6 +67,7 @@
"eslint": "^9.11.1",
"eslint-plugin-react-hooks": "^5.1.0-rc-778e1ed2-20240926",
"eslint-plugin-react-refresh": "^0.4.12",
+ "favicons-scraper": "^1.3.2",
"lint-staged": "^15.2.10",
"mlly": "^1.7.2",
"mockdate": "^3.0.5",
diff --git a/public/icon.svg b/public/icon.svg
new file mode 100644
index 0000000..07042a8
--- /dev/null
+++ b/public/icon.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/icons/github.png b/public/icons/default.png
similarity index 100%
rename from public/icons/github.png
rename to public/icons/default.png
diff --git a/public/icons/lol.png b/public/icons/lol.png
deleted file mode 100644
index 034c85f..0000000
Binary files a/public/icons/lol.png and /dev/null differ
diff --git a/public/vite.svg b/public/vite.svg
deleted file mode 100644
index e7b8dfb..0000000
--- a/public/vite.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/server/sources/36kr.ts b/server/sources/36kr.ts
index d5ded68..290b1da 100644
--- a/server/sources/36kr.ts
+++ b/server/sources/36kr.ts
@@ -10,13 +10,13 @@ export default defineSource(async () => {
const $items = $(".newsflash-item")
$items.each((_, el) => {
const $el = $(el)
- const $a = $el.find("a")
+ const $a = $el.find("a.item-title")
const url = $a.attr("href")
const title = $a.text()
const relativeDate = $el.find(".time")
if (url && title && relativeDate) {
news.push({
- url,
+ url: `https://www.36kr.com${url}`,
title,
id: url,
extra: {
diff --git a/src/assets/icon.svg b/src/assets/icon.svg
new file mode 100644
index 0000000..07042a8
--- /dev/null
+++ b/src/assets/icon.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/assets/react.svg b/src/assets/react.svg
deleted file mode 100644
index 6c87de9..0000000
--- a/src/assets/react.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/components/header.tsx b/src/components/header.tsx
index dfbebf7..bc607bb 100644
--- a/src/components/header.tsx
+++ b/src/components/header.tsx
@@ -5,7 +5,7 @@ import { useIsFetching } from "@tanstack/react-query"
import clsx from "clsx"
import type { SourceID } from "@shared/types"
import { Homepage, Version } from "@shared/consts"
-import logo from "~/assets/react.svg"
+import logo from "~/assets/icon.svg"
import { useDark } from "~/hooks/useDark"
import { currentSectionAtom, refetchSourcesAtom } from "~/atoms"
@@ -43,27 +43,36 @@ function RefreshButton() {
})
return (
-
+
)
}
export function Header() {
return (
<>
-
-
-
-
NewsNow
-
-
- {`v${Version}`}
-
+
-
+
-
+
>
)
}
diff --git a/src/components/section/card.tsx b/src/components/section/card.tsx
index c6191d4..5b21d37 100644
--- a/src/components/section/card.tsx
+++ b/src/components/section/card.tsx
@@ -46,10 +46,10 @@ export const CardWrapper = forwardRef
(({ id, isDragg
-
-
+
+
e.currentTarget.hidden = true}
+ onError={e => e.currentTarget.src = "/icons/default.png"}
/>
-
- {sources[id].name}
+
+
+
+ {sources[id].name}
+
+ {sources[id]?.title && {sources[id].title}}
+
+
-
-
{sources[id]?.title}
+
+
+
-
>
)
}
@@ -175,7 +173,7 @@ function NewsList({ query }: Query) {
const items = query.data?.items
return (
-
-
+
+
-
+