Skip to content

Commit fbef30b

Browse files
committed
feat: enhance layout and scrolling behavior of citations component for improved usability
1 parent 107f383 commit fbef30b

File tree

1 file changed

+56
-52
lines changed

1 file changed

+56
-52
lines changed

src/components/Citations.tsx

Lines changed: 56 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ const Citations: FC = () => {
126126
};
127127

128128
return (
129-
<div className="slide-container min-h-screen bg-gradient-to-b from-slate-50 to-white p-8">
130-
<div className="max-w-6xl mx-auto">
129+
<div className="slide-container h-screen flex flex-col bg-gradient-to-b from-slate-50 to-white">
130+
<div className="max-w-6xl mx-auto w-full px-8 pt-8 pb-4">
131131
<h2 className="text-3xl font-bold text-center text-indigo-900 mb-8">
132132
Works Cited
133133
</h2>
@@ -148,60 +148,64 @@ const Citations: FC = () => {
148148
</button>
149149
))}
150150
</div>
151+
</div>
151152

152-
{/* Citations Grid */}
153-
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
154-
{filteredCitations.map((citation, index) => (
155-
<div
156-
key={index}
157-
className="citation p-6 bg-white rounded-xl shadow-sm hover:shadow-lg transition-all duration-200 border border-slate-100"
158-
>
159-
<div className="flex items-start gap-4">
160-
<div className="flex-grow">
161-
<div className="flex items-center gap-2 mb-2">
162-
<span className={`px-2 py-1 text-xs rounded-full ${
163-
{
164-
book: 'bg-blue-100 text-blue-700',
165-
article: 'bg-green-100 text-green-700',
166-
report: 'bg-yellow-100 text-yellow-700',
167-
document: 'bg-purple-100 text-purple-700'
168-
}[citation.type]
169-
}`}>
170-
{citation.type}
171-
</span>
172-
</div>
173-
<p className="text-slate-700">
174-
{citation.citation}
175-
</p>
176-
{citation.document && (
177-
<div className="mt-4">
178-
<a
179-
href={citation.document}
180-
target="_blank"
181-
rel="noopener noreferrer"
182-
className="inline-flex items-center px-4 py-2 bg-indigo-50 text-indigo-700 rounded-lg hover:bg-indigo-100 transition-colors duration-200 text-sm group"
183-
>
184-
<svg
185-
className="w-4 h-4 mr-2 group-hover:animate-bounce"
186-
fill="none"
187-
stroke="currentColor"
188-
viewBox="0 0 24 24"
189-
>
190-
<path
191-
strokeLinecap="round"
192-
strokeLinejoin="round"
193-
strokeWidth={2}
194-
d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
195-
/>
196-
</svg>
197-
View Document
198-
</a>
153+
{/* Scrollable Citations Container */}
154+
<div className="flex-1 overflow-auto px-8 pb-8">
155+
<div className="max-w-6xl mx-auto">
156+
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
157+
{filteredCitations.map((citation, index) => (
158+
<div
159+
key={index}
160+
className="citation p-6 bg-white rounded-xl shadow-sm hover:shadow-lg transition-all duration-200 border border-slate-100"
161+
>
162+
<div className="flex items-start gap-4">
163+
<div className="flex-grow">
164+
<div className="flex items-center gap-2 mb-2">
165+
<span className={`px-2 py-1 text-xs rounded-full ${
166+
{
167+
book: 'bg-blue-100 text-blue-700',
168+
article: 'bg-green-100 text-green-700',
169+
report: 'bg-yellow-100 text-yellow-700',
170+
document: 'bg-purple-100 text-purple-700'
171+
}[citation.type]
172+
}`}>
173+
{citation.type}
174+
</span>
199175
</div>
200-
)}
176+
<p className="text-slate-700">
177+
{citation.citation}
178+
</p>
179+
{citation.document && (
180+
<div className="mt-4">
181+
<a
182+
href={citation.document}
183+
target="_blank"
184+
rel="noopener noreferrer"
185+
className="inline-flex items-center px-4 py-2 bg-indigo-50 text-indigo-700 rounded-lg hover:bg-indigo-100 transition-colors duration-200 text-sm group"
186+
>
187+
<svg
188+
className="w-4 h-4 mr-2 group-hover:animate-bounce"
189+
fill="none"
190+
stroke="currentColor"
191+
viewBox="0 0 24 24"
192+
>
193+
<path
194+
strokeLinecap="round"
195+
strokeLinejoin="round"
196+
strokeWidth={2}
197+
d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
198+
/>
199+
</svg>
200+
View Document
201+
</a>
202+
</div>
203+
)}
204+
</div>
201205
</div>
202206
</div>
203-
</div>
204-
))}
207+
))}
208+
</div>
205209
</div>
206210
</div>
207211
</div>

0 commit comments

Comments
 (0)