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

Function LinksBlock

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

Source from the content-addressed store, hash-verified

496}
497
498function LinksBlock() {
499 const dark = useTheme().palette.mode === 'dark';
500 const cardTitleSx = {fontWeight: 800, display: 'inline-block', ...gradientTextSx(dark)};
501 const thanks = [
502 <>本项目受到 <MuiLink href='https://github.com/xichenpan' target='_blank' rel='noopener'>flash 老师</MuiLink> 的{' '}
503 <MuiLink href='https://opencs.app' target='_blank' rel='noopener'>OpenCS</MuiLink> 项目的启发。</>,
504 <>内测阶段得到了信息学院与生医工学院毕业生们的大力支持,他们的宝贵建议对 OpenSIST 的完善至关重要。</>,
505 <>信息学院的倪鹤南老师为本项目提供了诸多行政上的支持。</>,
506 ];
507 return (
508 <Box sx={{width: '100%', maxWidth: 980}}>
509 <SectionHeading title='友情链接 & 致谢' subtitle='站在前人的肩膀上,也感谢一路同行的人'/>
510 <Box sx={{display: 'grid', gridTemplateColumns: {xs: '1fr', sm: '1fr 1fr'}, gap: {xs: 2, md: 2.5}, alignItems: 'start'}}>
511 <Box className='GlassCard' sx={glassSx(dark, {p: {xs: '1.25rem', md: '1.5rem'}})}>
512 <Typography variant='h6' sx={cardTitleSx}>友情链接</Typography>
513 <Divider sx={{my: 1.25, borderColor: 'divider'}}/>
514 {FRIEND_LINKS.map((sec) => (
515 <Box key={sec.group} sx={{mb: 1}}>
516 <Typography variant='overline' sx={{color: 'text.secondary', fontWeight: 700, letterSpacing: '0.08em'}}>
517 {sec.group}
518 </Typography>
519 <Box sx={{mt: 0.25}}>
520 {sec.items.map((item) => <LinkRow key={item.name} item={item} dark={dark}/>)}
521 </Box>
522 </Box>
523 ))}
524 </Box>
525 <Box className='GlassCard' sx={glassSx(dark, {p: {xs: '1.25rem', md: '1.5rem'}})}>
526 <Typography variant='h6' sx={cardTitleSx}>特别鸣谢</Typography>
527 <Divider sx={{my: 1.25, borderColor: 'divider'}}/>
528 <Stack spacing={1.25}>
529 {thanks.map((t, i) => (
530 <Box key={i} sx={{display: 'flex', gap: 1.25, alignItems: 'flex-start'}}>
531 <Box sx={{mt: '0.5em', width: 7, height: 7, borderRadius: '50%', flexShrink: 0, background: brandGradient(dark)}}/>
532 <Typography variant='body2' sx={{color: 'text.secondary', lineHeight: 1.7}}>{t}</Typography>
533 </Box>
534 ))}
535 </Stack>
536 </Box>
537 </Box>
538 </Box>
539 );
540}
541
542function brandGradient(dark) {
543 return dark ? 'linear-gradient(140deg, #93C0F2, #6BA6E8)' : 'linear-gradient(140deg, #1C5BAA, #4F86CE)';

Callers

nothing calls this directly

Calls 3

glassSxFunction · 0.85
gradientTextSxFunction · 0.70
brandGradientFunction · 0.70

Tested by

no test coverage detected