Skip to content

Commit c8fc405

Browse files
authored
Added visited styles for links (#995)
<!-- Explain the changes introduced in your PR --> ## Pull Request approval You will need to get your PR approved by at least one member of the Sourcegraph team. For reviews of docs formatting, styles, and component usage, please tag the docs team via the #docs Slack channel.
1 parent 3b7aa8d commit c8fc405

File tree

3 files changed

+28
-27
lines changed

3 files changed

+28
-27
lines changed

src/components/Prose.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,17 @@ export function Prose<T extends React.ElementType = 'div'>({
2121
// lead
2222
'prose-lead:text-slate-500 dark:prose-lead:text-dark-text-secondary',
2323
// links
24-
'prose-a:font-semibold dark:prose-a:text-link',
24+
'prose-a:font-semibold prose-a:text-vermilion-00 hover:prose-a-text:[#606060] visited:text-[#4A4A4A] hover:visited:text-[#606060] dark:prose-a:vermilion-11 dark:hover:prose-a:dark-text-secondary dark:visited:text-[#606060] dark:hover:visited:text-[#A9A9A9]',
2525
// link underline
26-
'prose-a:underline prose-a:decoration-link-light hover:prose-a:text-link-light hover:prose-a:underline dark:prose-a:no-underline dark:hover:prose-a:underline',
26+
'prose-a:underline hover:prose-a:text-[#606060] hover:prose-a:underline dark:prose-a:underline dark:hover:prose-a:underline',
2727
// pre
2828
'prose-pre:rounded-xl prose-pre:bg-slate-900 prose-pre:shadow-lg dark:prose-pre:bg-slate-800/60 dark:prose-pre:shadow-none dark:prose-pre:ring-1 dark:prose-pre:ring-slate-300/10',
2929
// hr
3030
'dark:prose-hr:border-slate-800',
3131
//table head alignment
3232
'prose-th:table-cell',
3333
// Strong
34-
'prose-strong:text-dark-bg dark:prose-strong:text-dark-text-primary',
34+
'prose-strong:text-vermilion-08 dark:prose-strong:text-vermilion-08',
3535
// Inline code block
3636
'prose-code:before:content-none prose-code:after:content-none',
3737
// Video

src/components/mdx/CustomLink.tsx

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import Link from 'next/link';
22
import React from 'react';
33
import { BookOpenText } from 'lucide-react';
44
import {
5-
HoverCard,
6-
HoverCardContent,
7-
HoverCardTrigger,
5+
HoverCard,
6+
HoverCardContent,
7+
HoverCardTrigger,
88
} from "@/components/ui/hoverCard";
99

1010
interface CustomLinkProps
@@ -29,7 +29,7 @@ export const CustomLink: React.FC<CustomLinkProps> = ({
2929
// Handling external links
3030
if (href.startsWith('http')) {
3131
return (
32-
<a href={href} target="_blank" rel="noopener noreferrer" {...rest} className='no-underline text-vermilion-07'>
32+
<a href={href} target="_blank" rel="noopener noreferrer" {...rest} className='underline dark:visited:text-[#606060] dark:hover:visited-text-dark-text-secondary text-vermilion-00 dark:text-vermilion-11 hover:text-[#606060] dark:hover:text-dark-text-secondary visited:text-[#4A4A4A] hover:visited:text-[#606060]'>
3333
{children}
3434
</a>
3535
);
@@ -38,44 +38,44 @@ export const CustomLink: React.FC<CustomLinkProps> = ({
3838
// Handling anchor links
3939
if (href.startsWith('#')) {
4040
return (
41-
<a href={href} {...rest} className='no-underline hover-underline'>
41+
<a href={href} {...rest} className='underline dark:visited:text-[#606060] dark:hover:visited-text-dark-text-secondary text-vermilion-00 dark:text-vermilion-11 hover:text-[#606060] dark:hover:text-dark-text-secondary visited:text-[#4A4A4A] hover:visited:text-[#606060]'>
4242
{children}
4343
</a>
4444
);
4545
}
4646

4747
const highlightCode = (text: string) => {
48-
return text.split(/(`.+?`)/g).map((part: string, index: number) =>
49-
part.startsWith('`') && part.endsWith('`') ? (
50-
<span key={index} className='border font-medium bg-slate-100 dark:bg-slate-900 mx-1 pl-1 py-0.5 rounded-md border-slate-300 dark:border-slate-700'>
51-
{part.slice(1, -1)}
52-
</span>
53-
) : (
54-
part
55-
)
56-
);
57-
};
48+
return text.split(/(`.+?`)/g).map((part: string, index: number) =>
49+
part.startsWith('`') && part.endsWith('`') ? (
50+
<span key={index} className='border font-medium bg-slate-100 dark:bg-slate-900 mx-1 pl-1 py-0.5 rounded-md border-slate-300 dark:border-slate-700'>
51+
{part.slice(1, -1)}
52+
</span>
53+
) : (
54+
part
55+
)
56+
);
57+
};
5858

59-
// If there's a title, wrap the content in a HoverCard for tooltip
60-
if (rest?.title) {
61-
return (
59+
// If there's a title, wrap the content in a HoverCard for tooltip
60+
if (rest?.title) {
61+
return (
6262
<HoverCard>
6363
<HoverCardTrigger asChild>
64-
<Link href={cleanedHref.replaceAll("'", '')} {...rest} title='' className='inline text-teal-07 hover:text-teal-08 no-underline hover-underline'>
64+
<Link href={cleanedHref.replaceAll("'", '')} {...rest} title='' className='inline underline dark:visited:text-[#606060] dark:hover:visited-text-dark-text-secondary text-vermilion-00 dark:text-vermilion-11 hover:text-[#606060] dark:hover:text-dark-text-secondary visited:text-[#4A4A4A] hover:visited:text-[#606060]'>
6565
{children} <BookOpenText className='inline ml-1 text-current w-3 h-3' />
6666
</Link>
6767
</HoverCardTrigger>
6868
<HoverCardContent className="bg-vermilion-11 dark:bg-vermilion-00">
69-
<div className='mt-0 mb-1 text-vermilion-07 font-medium leading-6'>{children}</div>
69+
<div className='mt-0 mb-1 font-medium leading-6'>{children}</div>
7070
<div className='text-sm leading-6 text-vermilion-08'>{highlightCode(rest.title || '')}</div>
7171
</HoverCardContent>
7272
</HoverCard>
73-
);
74-
}
73+
);
74+
}
7575

7676
// Internal links handled by Next.js Link component
7777
return (
78-
<Link href={cleanedHref} {...rest} className='no-underline hover-underline'>
78+
<Link href={cleanedHref} {...rest} className='underline dark:visited:text-[#606060] dark:hover:visited-text-dark-text-secondary text-vermilion-00 dark:text-vermilion-11 hover:text-[#606060] dark:hover:text-dark-text-secondary visited:text-[#4A4A4A] hover:visited:text-[#606060]'>
7979
{children}
8080
{/* Ensuring <a> is used inside <Link> for custom attributes like 'className' */}
8181
</Link>

tailwind.config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export default {
4545
'00': '#030106',
4646
'01': '#120720',
4747
'02': '#291242',
48+
'06': '#914BDC',
4849
'07': '#A96AF3',
4950
'08': '#BE8CFF',
5051
'11': '#FAF4FF',
@@ -65,7 +66,7 @@ export default {
6566
light: '#F34E3F', // Teal-07
6667
DEFAULT: '#FF7867', // Teal-08
6768
},
68-
'link-underline': '#002533', // Teal-02
69+
'link-underline': '#606060', // Teal-02
6970
'link-underline-light': '#EAFCFF', // Teal-11
7071
// Brand Colors
7172
black: '#060000',

0 commit comments

Comments
 (0)