Skip to content

Commit a9832fa

Browse files
committed
senseleak page, some minor adjustments in homepage,dverview page and dependencies graph page.
1 parent 3c5e0e9 commit a9832fa

File tree

16 files changed

+581
-195
lines changed

16 files changed

+581
-195
lines changed

app/[nsfront]/[nsbehind]/[name]/[version]/dependencies/graph/page.tsx

Lines changed: 61 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@
22
"use client";
33
import React, { useEffect, useState } from "react";
44
import { useParams } from "next/navigation";
5+
import Image from "next/image";
6+
import Link from "next/link";
57

68
// import DependencyTable from "@/components/DependencyTable";
79
import DependencyGraph from "@/components/DependencyGraph"; // 假设你已经创建了 DependencyGraph 组件
810
import { dependenciesInfo } from "@/app/lib/all_interface";
911

1012
const CratePage = () => {
1113
const params = useParams();
14+
// const router = useRouter();
1215
// const currentVersion = params.version;
1316
// const crateName = params.name;
1417
const [results, setResults] = useState<dependenciesInfo | null>(null);
@@ -32,29 +35,77 @@ const CratePage = () => {
3235
}
3336

3437
const data = await response.json();
35-
36-
setResults(data); // 设置获取的数据
37-
console.log('resultssssssss', results);
38+
setResults(data);
3839
} catch (error) {
3940
console.log("Error fetching data:", error);
4041
setError("Failed to fetch data.");
4142
} finally {
42-
setLoading(false); // 完成加载
43+
setLoading(false);
4344
}
4445
};
45-
fetchCrateData(); // 调用函数来获取数据
46-
},); // 依赖项数组,确保在 crateName 或 version 改变时重新获取数据
46+
fetchCrateData();
47+
}, [params.nsfront, params.nsbehind, params.name, params.version]); // 只保留必要的依赖项
4748

48-
if (loading) return <div>Loading...</div>;
49-
if (error) return <div className="text-red-500">Error: {error}</div>;
49+
if (loading) return <div className="flex justify-center items-center min-h-screen">Loading...</div>;
50+
if (error) return <div className="flex justify-center items-center min-h-screen text-red-500">Error: {error}</div>;
5051

5152
return (
52-
<div className="w-full h-full p-6">
53+
<div className="min-h-screen bg-white flex flex-col">
54+
{/* 图表区域 */}
55+
<div className="w-full h-full p-6">
56+
<DependencyGraph />
57+
</div>
58+
59+
{/* 页脚 */}
60+
<footer className="bg-[#002851] text-white py-12 mt-auto">
61+
<div className="flex justify-center w-full">
62+
<div className="w-[1500px] px-8">
63+
<div className="grid grid-cols-1 md:grid-cols-4 gap-8">
64+
<div>
65+
<Image
66+
src="/images/homepage/logo-footer.png"
67+
alt="CratesPro Logo"
68+
width={180}
69+
height={60}
70+
className="mb-4"
71+
/>
72+
</div>
5373

74+
<div>
75+
<h4 className="text-lg font-semibold mb-4">Resources</h4>
76+
<ul className="space-y-2">
77+
<li><Link href="#" className="hover:text-blue-300">Documentation</Link></li>
78+
<li><Link href="#" className="hover:text-blue-300">About</Link></li>
79+
<li><Link href="#" className="hover:text-blue-300">Blog</Link></li>
80+
<li><Link href="#" className="hover:text-blue-300">FAQ</Link></li>
81+
</ul>
82+
</div>
5483

84+
<div>
85+
<h4 className="text-lg font-semibold mb-4">API</h4>
86+
<ul className="space-y-2">
87+
<li><Link href="#" className="hover:text-blue-300">API</Link></li>
88+
<li><Link href="#" className="hover:text-blue-300">BigQuery Dataset</Link></li>
89+
<li><Link href="#" className="hover:text-blue-300">GitHub</Link></li>
90+
</ul>
91+
</div>
5592

56-
<DependencyGraph />
93+
<div>
94+
<h4 className="text-lg font-semibold mb-4">Legal</h4>
95+
<ul className="space-y-2">
96+
<li><Link href="#" className="hover:text-blue-300">Legal</Link></li>
97+
<li><Link href="#" className="hover:text-blue-300">Privacy</Link></li>
98+
<li><Link href="#" className="hover:text-blue-300">Terms</Link></li>
99+
</ul>
100+
</div>
101+
</div>
57102

103+
<div className="border-t border-gray-700 mt-8 pt-8 text-center text-sm">
104+
<p>Copyright © 2023 jp21.com.cn All Rights Reserved(@ICPBH180237号)</p>
105+
</div>
106+
</div>
107+
</div>
108+
</footer>
58109
</div>
59110
);
60111
};

app/[nsfront]/[nsbehind]/[name]/[version]/layout.tsx

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use client';
22

33
import React from 'react';
4-
import { useParams } from 'next/navigation';
4+
import { useParams, usePathname } from 'next/navigation';
55
import CrateNav from '@/components/CrateNav';
66

77
export default function Layout({
@@ -10,15 +10,22 @@ export default function Layout({
1010
children: React.ReactNode;
1111
}) {
1212
const params = useParams();
13+
const pathname = usePathname();
14+
15+
// 判断当前页面是否为SenseLeak页面
16+
const isSenseLeakPage = pathname.includes('/senseleak');
1317

1418
return (
1519
<div className="mb-0">
16-
<CrateNav
17-
nsfront={params.nsfront as string}
18-
nsbehind={params.nsbehind as string}
19-
name={params.name as string}
20-
version={params.version as string}
21-
/>
20+
{/* 仅在非SenseLeak页面显示导航栏 */}
21+
{!isSenseLeakPage && (
22+
<CrateNav
23+
nsfront={params.nsfront as string}
24+
nsbehind={params.nsbehind as string}
25+
name={params.name as string}
26+
version={params.version as string}
27+
/>
28+
)}
2229
{children}
2330
</div>
2431
);

app/[nsfront]/[nsbehind]/[name]/[version]/page.tsx

Lines changed: 21 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ const CratePage = () => {
155155
const [packageCurrentPage, setPackageCurrentPage] = useState(1);
156156
const [depCurrentPage, setDepCurrentPage] = useState(1);
157157
const itemsPerPage = 1;
158+
const basePath = `/${params.nsfront}/${params.nsbehind}/${params.name}/${params.version}`;
158159

159160
useEffect(() => {
160161
const fetchCrateData = async () => {
@@ -502,23 +503,25 @@ const CratePage = () => {
502503

503504
{/* 右侧内容区域 - 占据1列 */}
504505
<div className="space-y-6">
505-
{/* 第一个摘要 */}
506+
{/* Documentation */}
506507
<div>
507508
<div className="flex items-center gap-3 mb-6">
508509
<Image
509-
src="/images/homepage/1.png"
510+
src="/images/homepage/3.png"
510511
alt="icon"
511512
width={16}
512513
height={16}
513514
className="flex-shrink-0 rounded-[16.05px] border-[1.6px] border-[#333333]"
514515
/>
515516
<h2 className="text-[18px] font-bold text-[#333333] tracking-[0.72px] font-['HarmonyOS_Sans_SC']">
516-
摘要
517+
Documentation
517518
</h2>
518519
</div>
519520
<div className="space-y-4">
520-
<div>
521-
<h3 className="text-[14px] text-[#333333] font-['HarmonyOS_Sans_SC'] font-normal mb-2">Documentation URL</h3>
521+
<div className="flex items-center gap-2">
522+
<h3 className="text-[14px] text-[#333333] font-['HarmonyOS_Sans_SC'] font-normal whitespace-nowrap">
523+
Documentation URL:
524+
</h3>
522525
<a
523526
href={results?.doc_url}
524527
className="text-[#4B68FF] text-[14px] font-['HarmonyOS_Sans_SC'] font-normal hover:underline break-all"
@@ -531,23 +534,25 @@ const CratePage = () => {
531534
</div>
532535
</div>
533536

534-
{/* 第二个摘要 */}
537+
{/* GitHub Links */}
535538
<div>
536539
<div className="flex items-center gap-3 mb-6">
537540
<Image
538-
src="/images/homepage/2.png"
541+
src="/images/homepage/4.png"
539542
alt="icon"
540543
width={16}
541544
height={16}
542545
className="flex-shrink-0 rounded-[16.05px] border-[1.6px] border-[#333333]"
543546
/>
544547
<h2 className="text-[18px] font-bold text-[#333333] tracking-[0.72px] font-['HarmonyOS_Sans_SC']">
545-
摘要
548+
GitHub Links
546549
</h2>
547550
</div>
548551
<div className="space-y-4">
549-
<div>
550-
<h3 className="text-[14px] text-[#333333] font-['HarmonyOS_Sans_SC'] font-normal mb-2">GitHub URL</h3>
552+
<div className="flex items-center gap-2">
553+
<h3 className="text-[14px] text-[#333333] font-['HarmonyOS_Sans_SC'] font-normal whitespace-nowrap">
554+
GitHub URL:
555+
</h3>
551556
<a
552557
href={results?.github_url}
553558
className="text-[#4B68FF] text-[14px] font-['HarmonyOS_Sans_SC'] font-normal hover:underline break-all"
@@ -559,65 +564,34 @@ const CratePage = () => {
559564
</div>
560565
</div>
561566
</div>
562-
563-
{/* Documentation */}
564-
<div>
565-
<div className="flex items-center gap-3 mb-6">
566-
<Image
567-
src="/images/homepage/3.png"
568-
alt="icon"
569-
width={16}
570-
height={16}
571-
className="flex-shrink-0 rounded-[16.05px] border-[1.6px] border-[#333333]"
572-
/>
573-
<h2 className="text-[18px] font-bold text-[#333333] tracking-[0.72px] font-['HarmonyOS_Sans_SC']">
574-
Documentation
575-
</h2>
576-
</div>
577-
<div className="space-y-4">
578-
<div>
579-
<h3 className="text-[14px] text-[#333333] font-['HarmonyOS_Sans_SC'] font-normal mb-2">Documentation URL</h3>
580-
<a
581-
href={results?.doc_url}
582-
className="text-[#4B68FF] text-[14px] font-['HarmonyOS_Sans_SC'] font-normal hover:underline break-all"
583-
target="_blank"
584-
rel="noopener noreferrer"
585-
>
586-
{results?.doc_url || 'No results available'}
587-
</a>
588-
</div>
589-
</div>
590-
</div>
591-
592-
{/* GitHub Links */}
567+
{/* 第一个摘要 */}
593568
<div>
594569
<div className="flex items-center gap-3 mb-6">
595570
<Image
596-
src="/images/homepage/4.png"
571+
src="/images/homepage/1.png"
597572
alt="icon"
598573
width={16}
599574
height={16}
600575
className="flex-shrink-0 rounded-[16.05px] border-[1.6px] border-[#333333]"
601576
/>
602577
<h2 className="text-[18px] font-bold text-[#333333] tracking-[0.72px] font-['HarmonyOS_Sans_SC']">
603-
GitHub Links
578+
SenseLeak
604579
</h2>
605580
</div>
606581
<div className="space-y-4">
607582
<div>
608-
<h3 className="text-[14px] text-[#333333] font-['HarmonyOS_Sans_SC'] font-normal mb-2">GitHub URL</h3>
583+
{/* <h3 className="text-[14px] text-[#333333] font-['HarmonyOS_Sans_SC'] font-normal mb-2">Documentation URL</h3> */}
609584
<a
610-
href={results?.github_url}
585+
href={basePath + '/senseleak'}
611586
className="text-[#4B68FF] text-[14px] font-['HarmonyOS_Sans_SC'] font-normal hover:underline break-all"
612587
target="_blank"
613588
rel="noopener noreferrer"
614589
>
615-
{results?.github_url || 'No results available'}
590+
{basePath + '/senseleak' || 'No results available'}
616591
</a>
617592
</div>
618593
</div>
619594
</div>
620-
621595
{/* OpenSSF Scorecard */}
622596
<div>
623597
<div className="flex items-center gap-3 mb-4">

0 commit comments

Comments
 (0)