11---
22import ' ../styles/global.css' ;
3+ import { url } from ' ../lib/url' ;
34
45interface Props {
56 title: string ;
@@ -18,19 +19,19 @@ const currentPath = Astro.url.pathname;
1819 <meta name =" viewport" content =" width=device-width, initial-scale=1.0" />
1920 <meta name =" description" content ={ description } />
2021 <title >{ title } | ONGA</title >
21- <link rel =" icon" type =" image/svg+xml" href =" /favicon.svg" />
22+ <link rel =" icon" type =" image/svg+xml" href ={ url ( " /favicon.svg" ) } />
2223 </head >
2324 <body class =" min-h-screen bg-gray-50 text-gray-900" >
2425 <header class =" bg-white border-b border-gray-200" >
2526 <div class =" max-w-6xl mx-auto px-4 py-4" >
2627 <nav class =" flex items-center justify-between" >
2728 <div class =" flex items-center gap-6" >
28- <a href =" /" class =" text-xl font-bold text-blue-700 hover:text-blue-900" >
29+ <a href ={ url ( " /" ) } class =" text-xl font-bold text-blue-700 hover:text-blue-900" >
2930 ONGA
3031 </a >
3132 <div class =" flex bg-gray-100 rounded-lg p-0.5 text-sm" >
3233 <a
33- href =" /"
34+ href ={ url ( " /" ) }
3435 class:list ={ [
3536 ' px-3 py-1.5 rounded-md font-medium transition-colors' ,
3637 side === ' browse' ? ' bg-white text-gray-900 shadow-sm' : ' text-gray-500 hover:text-gray-700'
@@ -39,7 +40,7 @@ const currentPath = Astro.url.pathname;
3940 Browse
4041 </a >
4142 <a
42- href =" /develop"
43+ href ={ url ( " /develop" ) }
4344 class:list ={ [
4445 ' px-3 py-1.5 rounded-md font-medium transition-colors' ,
4546 side === ' develop' ? ' bg-white text-gray-900 shadow-sm' : ' text-gray-500 hover:text-gray-700'
@@ -52,42 +53,42 @@ const currentPath = Astro.url.pathname;
5253 <div class =" flex items-center gap-4 text-sm" >
5354 { side === ' browse' ? (
5455 <>
55- <a href = " /" class :list = { [' hover:text-gray-900' , currentPath === ' /' ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Home</a >
56+ <a href = { url ( " /" ) } class :list = { [' hover:text-gray-900' , currentPath === url ( ' /' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Home</a >
5657 <span class = " text-gray-300" >|</span >
5758 <span class = " text-[11px] uppercase tracking-wide text-gray-400 font-semibold" >Vocabularies</span >
58- <a href = " /data-types" class :list = { [' hover:text-blue-800' , currentPath .startsWith (' /data-types' ) ? ' text-blue-700 font-medium' : ' text-blue-600' ]} >DataTypes</a >
59- <a href = " /feature-types" class :list = { [' hover:text-green-800' , currentPath .startsWith (' /feature-types' ) ? ' text-green-700 font-medium' : ' text-green-600' ]} >FeatureTypes</a >
60- <a href = " /formats" class :list = { [' hover:text-teal-800' , currentPath .startsWith (' /formats' ) ? ' text-teal-700 font-medium' : ' text-teal-600' ]} >Formats</a >
59+ <a href = { url ( " /data-types" ) } class :list = { [' hover:text-blue-800' , currentPath .startsWith (url ( ' /data-types' ) ) ? ' text-blue-700 font-medium' : ' text-blue-600' ]} >DataTypes</a >
60+ <a href = { url ( " /feature-types" ) } class :list = { [' hover:text-green-800' , currentPath .startsWith (url ( ' /feature-types' ) ) ? ' text-green-700 font-medium' : ' text-green-600' ]} >FeatureTypes</a >
61+ <a href = { url ( " /formats" ) } class :list = { [' hover:text-teal-800' , currentPath .startsWith (url ( ' /formats' ) ) ? ' text-teal-700 font-medium' : ' text-teal-600' ]} >Formats</a >
6162 <span class = " text-[10px] uppercase tracking-wide text-indigo-300 font-semibold" >facets</span >
62- <a href = " /strand-orientation" class :list = { [' hover:text-indigo-800' , currentPath .startsWith (' /strand-orientation' ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >Strand</a >
63- <a href = " /read-multiplicity" class :list = { [' hover:text-indigo-800' , currentPath .startsWith (' /read-multiplicity' ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >ReadMultiplicity</a >
64- <a href = " /filter-status" class :list = { [' hover:text-indigo-800' , currentPath .startsWith (' /filter-status' ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >FilterStatus</a >
65- <a href = " /normalization" class :list = { [' hover:text-indigo-800' , currentPath .startsWith (' /normalization' ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >Normalization</a >
66- <a href = " /thresholding" class :list = { [' hover:text-indigo-800' , currentPath .startsWith (' /thresholding' ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >Thresholding</a >
67- <a href = " /derivation" class :list = { [' hover:text-indigo-800' , currentPath .startsWith (' /derivation' ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >Derivation</a >
68- <a href = " /reference-build-sex" class :list = { [' hover:text-indigo-800' , currentPath .startsWith (' /reference-build-sex' ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >BuildSex</a >
69- <a href = " /haplotype-resolution" class :list = { [' hover:text-indigo-800' , currentPath .startsWith (' /haplotype-resolution' ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >HaplotypeResolution</a >
63+ <a href = { url ( " /strand-orientation" ) } class :list = { [' hover:text-indigo-800' , currentPath .startsWith (url ( ' /strand-orientation' ) ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >Strand</a >
64+ <a href = { url ( " /read-multiplicity" ) } class :list = { [' hover:text-indigo-800' , currentPath .startsWith (url ( ' /read-multiplicity' ) ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >ReadMultiplicity</a >
65+ <a href = { url ( " /filter-status" ) } class :list = { [' hover:text-indigo-800' , currentPath .startsWith (url ( ' /filter-status' ) ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >FilterStatus</a >
66+ <a href = { url ( " /normalization" ) } class :list = { [' hover:text-indigo-800' , currentPath .startsWith (url ( ' /normalization' ) ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >Normalization</a >
67+ <a href = { url ( " /thresholding" ) } class :list = { [' hover:text-indigo-800' , currentPath .startsWith (url ( ' /thresholding' ) ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >Thresholding</a >
68+ <a href = { url ( " /derivation" ) } class :list = { [' hover:text-indigo-800' , currentPath .startsWith (url ( ' /derivation' ) ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >Derivation</a >
69+ <a href = { url ( " /reference-build-sex" ) } class :list = { [' hover:text-indigo-800' , currentPath .startsWith (url ( ' /reference-build-sex' ) ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >BuildSex</a >
70+ <a href = { url ( " /haplotype-resolution" ) } class :list = { [' hover:text-indigo-800' , currentPath .startsWith (url ( ' /haplotype-resolution' ) ) ? ' text-indigo-700 font-medium' : ' text-indigo-500' ]} >HaplotypeResolution</a >
7071 <span class = " text-gray-300" >|</span >
7172 <span class = " text-[11px] uppercase tracking-wide text-gray-400 font-semibold" >Schemas</span >
72- <a href = " /track-format" class :list = { [' hover:text-amber-800' , currentPath .startsWith (' /track-format' ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Track Format</a >
73- <a href = " /track-interpretation" class :list = { [' hover:text-amber-800' , currentPath .startsWith (' /track-interpretation' ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Interpretation</a >
74- <a href = " /track-provenance" class :list = { [' hover:text-amber-800' , currentPath .startsWith (' /track-provenance' ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Provenance</a >
75- <a href = " /track-geometry" class :list = { [' hover:text-amber-800' , currentPath .startsWith (' /track-geometry' ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Geometry</a >
76- <a href = " /reference-genome" class :list = { [' hover:text-amber-800' , currentPath .startsWith (' /reference-genome' ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Reference Genome</a >
73+ <a href = { url ( " /track-format" ) } class :list = { [' hover:text-amber-800' , currentPath .startsWith (url ( ' /track-format' ) ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Track Format</a >
74+ <a href = { url ( " /track-interpretation" ) } class :list = { [' hover:text-amber-800' , currentPath .startsWith (url ( ' /track-interpretation' ) ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Interpretation</a >
75+ <a href = { url ( " /track-provenance" ) } class :list = { [' hover:text-amber-800' , currentPath .startsWith (url ( ' /track-provenance' ) ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Provenance</a >
76+ <a href = { url ( " /track-geometry" ) } class :list = { [' hover:text-amber-800' , currentPath .startsWith (url ( ' /track-geometry' ) ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Geometry</a >
77+ <a href = { url ( " /reference-genome" ) } class :list = { [' hover:text-amber-800' , currentPath .startsWith (url ( ' /reference-genome' ) ) ? ' text-amber-700 font-medium' : ' text-amber-600' ]} >Reference Genome</a >
7778 <span class = " text-gray-300" >|</span >
78- <a href = " /scope" class :list = { [' hover:text-rose-800' , currentPath .startsWith (' /scope' ) ? ' text-rose-700 font-medium' : ' text-rose-600' ]} >Scope</a >
79- <a href = " /mappings" class :list = { [' hover:text-gray-900' , currentPath .startsWith (' /mappings' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Mappings</a >
80- <a href = " /about" class :list = { [' hover:text-gray-900' , currentPath .startsWith (' /about' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >About</a >
79+ <a href = { url ( " /scope" ) } class :list = { [' hover:text-rose-800' , currentPath .startsWith (url ( ' /scope' ) ) ? ' text-rose-700 font-medium' : ' text-rose-600' ]} >Scope</a >
80+ <a href = { url ( " /mappings" ) } class :list = { [' hover:text-gray-900' , currentPath .startsWith (url ( ' /mappings' ) ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Mappings</a >
81+ <a href = { url ( " /about" ) } class :list = { [' hover:text-gray-900' , currentPath .startsWith (url ( ' /about' ) ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >About</a >
8182 </>
8283 ) : (
8384 <>
84- <a href = " /develop" class :list = { [' hover:text-gray-900' , currentPath === ' /develop' || currentPath === ' /develop/' ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Overview</a >
85- <a href = " /develop/merge-candidates" class :list = { [' hover:text-gray-900' , currentPath .startsWith (' /develop/merge-candidates' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Merge Candidates</a >
86- <a href = " /develop/gaps" class :list = { [' hover:text-gray-900' , currentPath .startsWith (' /develop/gaps' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Gaps</a >
87- <a href = " /develop/mapping-suggestions" class :list = { [' hover:text-gray-900' , currentPath .startsWith (' /develop/mapping-suggestions' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Mapping Suggestions</a >
88- <a href = " /develop/quality-issues" class :list = { [' hover:text-gray-900' , currentPath .startsWith (' /develop/quality-issues' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Quality Issues</a >
89- <a href = " /develop/frequency" class :list = { [' hover:text-gray-900' , currentPath .startsWith (' /develop/frequency' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Usage Frequency</a >
90- <a href = " /develop/changeset" class :list = { [' hover:text-gray-900' , currentPath .startsWith (' /develop/changeset' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Changeset</a >
85+ <a href = { url ( " /develop" ) } class :list = { [' hover:text-gray-900' , currentPath === url ( ' /develop' ) || currentPath === url ( ' /develop/' ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Overview</a >
86+ <a href = { url ( " /develop/merge-candidates" ) } class :list = { [' hover:text-gray-900' , currentPath .startsWith (url ( ' /develop/merge-candidates' ) ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Merge Candidates</a >
87+ <a href = { url ( " /develop/gaps" ) } class :list = { [' hover:text-gray-900' , currentPath .startsWith (url ( ' /develop/gaps' ) ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Gaps</a >
88+ <a href = { url ( " /develop/mapping-suggestions" ) } class :list = { [' hover:text-gray-900' , currentPath .startsWith (url ( ' /develop/mapping-suggestions' ) ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Mapping Suggestions</a >
89+ <a href = { url ( " /develop/quality-issues" ) } class :list = { [' hover:text-gray-900' , currentPath .startsWith (url ( ' /develop/quality-issues' ) ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Quality Issues</a >
90+ <a href = { url ( " /develop/frequency" ) } class :list = { [' hover:text-gray-900' , currentPath .startsWith (url ( ' /develop/frequency' ) ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Usage Frequency</a >
91+ <a href = { url ( " /develop/changeset" ) } class :list = { [' hover:text-gray-900' , currentPath .startsWith (url ( ' /develop/changeset' ) ) ? ' text-gray-900 font-medium' : ' text-gray-600' ]} >Changeset</a >
9192 </>
9293 )}
9394 </div >
0 commit comments