MCPcopy Create free account
hub / github.com/OpenSIST/OpenSIST.github.io / StepsBlock

Function StepsBlock

src/Components/Home/home.jsx:624–654  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

622}
623
624function StepsBlock() {
625 const dark = useTheme().palette.mode === 'dark';
626 const steps = [
627 {n: 1, icon: <TravelExploreOutlined/>, title: '浏览与检索', desc: '在项目信息表和数据汇总里查看项目与历年真实案例,用筛选快速锁定目标。'},
628 {n: 2, icon: <EditNoteOutlined/>, title: '建立你的档案', desc: '注册后在个人主页添加申请人与申请记录,数据会自动汇入数据汇总。'},
629 {n: 3, icon: <AutoGraphOutlined/>, title: '分享与互助', desc: '撰写经验帖、补充项目信息,把经验传递给学弟学妹,让社区一起成长。'},
630 ];
631 return (
632 <Box sx={{width: '100%', maxWidth: 980}}>
633 <SectionHeading title='三步开始使用' subtitle='从浏览到贡献,几分钟就能上手'/>
634 <Box sx={{display: 'grid', gridTemplateColumns: {xs: '1fr', md: 'repeat(3, 1fr)'}, gap: {xs: 2, md: 2.5}}}>
635 {steps.map((s) => (
636 <Box key={s.n} className='GlassCard'
637 sx={glassSx(dark, {p: {xs: '1.5rem', md: '1.75rem'}, display: 'flex', flexDirection: 'column', gap: 1})}>
638 <Box sx={{display: 'flex', alignItems: 'center', gap: 1.5, mb: 0.5}}>
639 <Box sx={{
640 width: 36, height: 36, borderRadius: '50%', flexShrink: 0,
641 display: 'flex', alignItems: 'center', justifyContent: 'center',
642 background: brandGradient(dark), color: '#fff', fontWeight: 700,
643 boxShadow: dark ? '0 6px 16px rgba(107,166,232,0.32)' : '0 6px 16px rgba(28,91,170,0.26)',
644 }}>{s.n}</Box>
645 <Box sx={{color: 'primary.main', display: 'flex'}}>{s.icon}</Box>
646 </Box>
647 <Typography sx={{fontWeight: 700}}>{s.title}</Typography>
648 <Typography variant='body2' sx={{color: 'text.secondary', lineHeight: 1.8}}>{s.desc}</Typography>
649 </Box>
650 ))}
651 </Box>
652 </Box>
653 );
654}
655
656function StatNumber({value}) {
657 const [n, setN] = useState(0);

Callers

nothing calls this directly

Calls 2

glassSxFunction · 0.85
brandGradientFunction · 0.70

Tested by

no test coverage detected