feat: added tutor profiles; chore: moved pdfs to public/materiale/
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -8,15 +8,50 @@ const currentYear = years
|
||||
.at(-1)
|
||||
const {
|
||||
file,
|
||||
frontmatter: { title },
|
||||
frontmatter: { title, tutors: tutorEntries },
|
||||
} = Astro.props
|
||||
const selectedCourseLabel = file.split('/').at(-1)
|
||||
|
||||
const allCourses = await Astro.glob(`../pages/archivio/*/*`)
|
||||
const courses = allCourses.filter(module => module.file.includes(file.split('/').at(-2)))
|
||||
|
||||
function upperFirst(string) {
|
||||
return string.charAt(0).toUpperCase() + string.slice(1)
|
||||
}
|
||||
---
|
||||
|
||||
<Base title={title} courses={courses} selectedCourseLabel={selectedCourseLabel}>
|
||||
<h1>{title}</h1>
|
||||
{
|
||||
tutorEntries && (
|
||||
<div class="tutor-entries">
|
||||
<h2>I Tutor</h2>
|
||||
{tutorEntries.map(({ name, image, contacts }) => (
|
||||
<div class="tutor">
|
||||
<h3 class="name">{name ?? '???'}</h3>
|
||||
<img class="image" src={image ? image : '/tutors/placeholder-person.svg'} alt={name} />
|
||||
{contacts && (
|
||||
<ul class="contacts">
|
||||
{contacts.map(({ type, value }) => (
|
||||
<li>
|
||||
<strong>{upperFirst(type)}</strong>:{' '}
|
||||
{type === 'email' ? (
|
||||
<a href={`mailto:${value}`}>{value}</a>
|
||||
) : type === 'telegram' ? (
|
||||
<a href={`https://t.me/${value}`}>{value}</a>
|
||||
) : type === 'website' ? (
|
||||
<a href={value}>{value}</a>
|
||||
) : (
|
||||
value
|
||||
)}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
<slot />
|
||||
</Base>
|
||||
|
||||
Reference in New Issue
Block a user