summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2025-06-15 15:01:59 +0200
committerYuval Adam <_@yuv.al>2025-06-15 15:01:59 +0200
commit65f17649491f1dca7f9379faff4d26a44d77f560 (patch)
tree0e3ff17a1d8b8345c609bcfeee7f8828d6a71cb0 /src
parent8d7a9b668f2464a5e4a8c0b3294012531e8ca552 (diff)
Proper doy stylization in name links
Diffstat (limited to 'src')
-rw-r--r--src/components/NameLink.astro35
-rw-r--r--src/pages/index.astro20
2 files changed, 39 insertions, 16 deletions
diff --git a/src/components/NameLink.astro b/src/components/NameLink.astro
index 35f2916..976baa4 100644
--- a/src/components/NameLink.astro
+++ b/src/components/NameLink.astro
@@ -9,12 +9,15 @@ interface Props {
};
};
size?: 'large' | 'small';
+ showAsLink?: boolean;
}
-const { name, size = 'large' } = Astro.props;
+const { name, size = 'large', showAsLink = true } = Astro.props;
const nameParts = name.data.name.toLowerCase().split(" ");
const domain = name.data.domain.replace(".", "");
const url = name.data.url || `https://${name.data.domain}`;
+const domainExtension = name.data.domain.split('.')[1];
+const domainBase = name.data.domain.split('.')[0];
const sizeClasses = {
large: 'text-2xl',
@@ -27,16 +30,30 @@ const sizeClasses = {
<>
{index > 0 && " "}
{part === domain ? (
- <a
- href={url}
- class="text-blue-600 hover:text-blue-800 hover:underline"
- rel={name.data.candidate ? "nofollow" : undefined}
- >
- {name.data.domain}
- </a>
+ showAsLink ? (
+ <a
+ href={url}
+ class="text-blue-600 hover:text-blue-800 hover:underline domain-link"
+ rel={name.data.candidate ? "nofollow" : undefined}
+ data-extension={domainExtension}
+ >
+ <span class="domain-base">{domainBase}</span><span class="domain-extension">{domainExtension}</span>
+ </a>
+ ) : (
+ <span class="text-blue-600 domain-link" data-extension={domainExtension}>
+ <span class="domain-base">{domainBase}</span><span class="domain-extension">{domainExtension}</span>
+ </span>
+ )
) : (
<span>{part}</span>
)}
</>
))}
-</span> \ No newline at end of file
+</span>
+
+<style>
+ .domain-base::after {
+ content: ".";
+ opacity: 0.7;
+ }
+</style> \ No newline at end of file
diff --git a/src/pages/index.astro b/src/pages/index.astro
index d4dde3d..9e1645e 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -107,13 +107,19 @@ const description =
>
{
members.map((name) => (
- <li class="border border-gray-100 rounded-lg p-4 hover:bg-gray-50 hover:border-gray-200 transition-all duration-200">
- <div class="text-lg font-medium mb-1">
- <NameLink name={name} size="large" />
- </div>
- <div class="text-gray-600 text-sm font-light">
- {name.data.title}
- </div>
+ <li>
+ <a
+ href={name.data.url || `https://${name.data.domain}`}
+ class="block border border-gray-100 rounded-lg p-4 hover:bg-gray-50 hover:border-gray-200 transition-all duration-200"
+ rel={name.data.candidate ? "nofollow" : undefined}
+ >
+ <div class="text-lg font-medium mb-1">
+ <NameLink name={name} size="large" showAsLink={false} />
+ </div>
+ <div class="text-gray-600 text-sm font-light">
+ {name.data.title}
+ </div>
+ </a>
</li>
))
}