show author attribution for Bible Studies and Conferences
- Display author name (Dr. José Benjamín Pérez Matos / Dr. William Soto Santiago) in the list panel and publication detail for each respective section - History entries now show the author inline and pass it through to the detail view - Fixed internal collection IDs (bible-studies-ts, conferences-ts) showing as raw strings in history; they now resolve to proper translated labels via i18n - Fixed English nav labels that incorrectly included "Typesense" in the display name - Added changelog entry for v0.8
This commit is contained in:
parent
69030d2001
commit
f60b2960c5
|
|
@ -67,6 +67,7 @@ const props = defineProps<{
|
|||
selectedMatchingHits?: TypesenseParagraphHit[] | null
|
||||
accentColor?: 'green' | 'blue'
|
||||
noTrackVisit?: boolean
|
||||
author?: string
|
||||
}>()
|
||||
|
||||
const emits = defineEmits(['close'])
|
||||
|
|
@ -885,6 +886,10 @@ const items = computed(() => {
|
|||
<UIcon name="ph:file-dashed" class="size-4 text-carpared" />
|
||||
{{ $t('search.draft') }}
|
||||
</p>
|
||||
<p v-if="author" class="text-sm text-highlighted flex items-center gap-1.5 shrink-0">
|
||||
<UIcon name="ph:user-circle" :class="['size-4', iconColor]" />
|
||||
<span class="italic">{{ author }}</span>
|
||||
</p>
|
||||
<p v-if="safeDate()" class="text-sm text-highlighted flex items-center gap-1.5 shrink-0">
|
||||
<UIcon name="ph:calendar" :class="['size-4', iconColor]" />
|
||||
{{ safeDate() }}
|
||||
|
|
|
|||
|
|
@ -14,10 +14,12 @@ interface Props {
|
|||
accentColor: 'green' | 'blue'
|
||||
emptyDetailText: string
|
||||
showDraft?: boolean
|
||||
author?: string
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
showDraft: false
|
||||
showDraft: false,
|
||||
author: ''
|
||||
})
|
||||
|
||||
const QUERY_BY = 'text'
|
||||
|
|
@ -595,6 +597,14 @@ function metaLocation(meta: DocMeta | undefined): string {
|
|||
</template>
|
||||
</UDashboardNavbar>
|
||||
|
||||
<div
|
||||
v-if="author"
|
||||
class="px-4 sm:px-6 py-2 border-b border-default flex items-center gap-1.5 text-xs text-muted"
|
||||
>
|
||||
<UIcon name="ph:user-circle" :class="['size-3.5 shrink-0', colors.icon]" />
|
||||
<span class="italic">{{ author }}</span>
|
||||
</div>
|
||||
|
||||
<div class="px-4 sm:px-6 py-3 border-b border-default flex items-center gap-2" id="inputField">
|
||||
<UInput
|
||||
v-model="query"
|
||||
|
|
@ -740,6 +750,7 @@ function metaLocation(meta: DocMeta | undefined): string {
|
|||
:selected-hit="selectedHit"
|
||||
:selected-matching-hits="selectedMatchingHits"
|
||||
:accent-color="accentColor"
|
||||
:author="author"
|
||||
@close="isPanelOpen = false"
|
||||
/>
|
||||
<div v-else-if="!isMobile" class="hidden lg:flex flex-1 items-center justify-center">
|
||||
|
|
@ -764,6 +775,7 @@ function metaLocation(meta: DocMeta | undefined): string {
|
|||
:selected-hit="selectedHit"
|
||||
:selected-matching-hits="selectedMatchingHits"
|
||||
:accent-color="accentColor"
|
||||
:author="author"
|
||||
@close="isPanelOpen = false"
|
||||
/>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -8,5 +8,6 @@
|
|||
nav-title-key="nav.conferences_ts"
|
||||
accent-color="blue"
|
||||
:empty-detail-text="$t('ui.empty_conferences')"
|
||||
author="Dr. William Soto Santiago"
|
||||
/>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -9,5 +9,6 @@
|
|||
accent-color="green"
|
||||
:empty-detail-text="$t('ui.empty_bible_studies')"
|
||||
:show-draft="true"
|
||||
author="Dr. José Benjamín Pérez Matos"
|
||||
/>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -30,14 +30,28 @@ const toast = useToast()
|
|||
|
||||
const ENTRELINEAS_COLLECTION = 'entrelineas'
|
||||
|
||||
const COLLECTION_LABELS: Record<string, string> = {
|
||||
activities: 'Actividades',
|
||||
conferences: 'Conferencias',
|
||||
entrelineas: 'Entre Líneas'
|
||||
}
|
||||
const { t } = useI18n()
|
||||
|
||||
function labelFor(c: string): string {
|
||||
return COLLECTION_LABELS[c] || c.charAt(0).toUpperCase() + c.slice(1)
|
||||
const labels: Record<string, string> = {
|
||||
activities: t('nav.bible_studies_ts'),
|
||||
'bible-studies-ts': t('nav.bible_studies_ts'),
|
||||
conferences: t('nav.conferences_ts'),
|
||||
'conferences-ts': t('nav.conferences_ts'),
|
||||
entrelineas: t('nav.between_the_lines'),
|
||||
}
|
||||
return labels[c] || c.charAt(0).toUpperCase() + c.slice(1)
|
||||
}
|
||||
|
||||
const COLLECTION_AUTHORS: Record<string, string> = {
|
||||
'bible-studies-ts': 'Dr. José Benjamín Pérez Matos',
|
||||
activities: 'Dr. José Benjamín Pérez Matos',
|
||||
'conferences-ts': 'Dr. William Soto Santiago',
|
||||
conferences: 'Dr. William Soto Santiago',
|
||||
}
|
||||
|
||||
function authorFor(c: string): string {
|
||||
return COLLECTION_AUTHORS[c] || ''
|
||||
}
|
||||
|
||||
// Filtros: pestaña por colección o "todos".
|
||||
|
|
@ -57,9 +71,9 @@ const tabs = computed(() => {
|
|||
items.push({
|
||||
value: c,
|
||||
label: `${labelFor(c)} (${count})`,
|
||||
icon: c === 'activities'
|
||||
icon: (c === 'activities' || c === 'bible-studies-ts')
|
||||
? 'i-lucide-calendar-days'
|
||||
: c === 'conferences'
|
||||
: (c === 'conferences' || c === 'conferences-ts')
|
||||
? 'i-lucide-mic'
|
||||
: c === 'entrelineas'
|
||||
? 'i-lucide-book-open'
|
||||
|
|
@ -92,6 +106,7 @@ const selected = ref<HistoryItem | null>(null)
|
|||
|
||||
const selectedHit = computed<SearchHit | null>(() => selected.value?.hit ?? null)
|
||||
const selectedCollection = computed<string | undefined>(() => selected.value?.collection)
|
||||
const selectedAuthor = computed(() => authorFor(selectedCollection.value ?? ''))
|
||||
|
||||
const isEntrelinea = computed(() => selectedCollection.value === ENTRELINEAS_COLLECTION)
|
||||
|
||||
|
|
@ -552,6 +567,13 @@ const nearLimit = computed(() => histTotal.value >= Math.floor(HISTORY_LIMIT * 0
|
|||
<span v-if="hasDate(it.hit)">{{ safeDate(it.hit) }}</span>
|
||||
<USeparator v-if="formatLocation(it.hit)" orientation="vertical" class="h-3 hidden sm:block" />
|
||||
<span class="truncate">{{ formatLocation(it.hit) }}</span>
|
||||
<template v-if="authorFor(it.collection)">
|
||||
<USeparator orientation="vertical" class="h-3 hidden sm:block" />
|
||||
<span class="inline-flex items-center gap-1 italic truncate">
|
||||
<UIcon name="ph:user-circle" class="size-3 shrink-0" />
|
||||
{{ authorFor(it.collection) }}
|
||||
</span>
|
||||
</template>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -574,6 +596,7 @@ const nearLimit = computed(() => histTotal.value >= Math.floor(HISTORY_LIMIT * 0
|
|||
:paragraphs="detailParagraphs"
|
||||
:paragraphs-loading="detailParagraphsLoading"
|
||||
:collection="selectedCollection!"
|
||||
:author="selectedAuthor"
|
||||
no-track-visit
|
||||
@close="selected = null"
|
||||
/>
|
||||
|
|
@ -603,6 +626,7 @@ const nearLimit = computed(() => histTotal.value >= Math.floor(HISTORY_LIMIT * 0
|
|||
:paragraphs="detailParagraphs"
|
||||
:paragraphs-loading="detailParagraphsLoading"
|
||||
:collection="selectedCollection!"
|
||||
:author="selectedAuthor"
|
||||
no-track-visit
|
||||
@close="selected = null"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -19,6 +19,20 @@ export interface Release {
|
|||
}
|
||||
|
||||
export const releases: Release[] = [
|
||||
{
|
||||
version: '0.8',
|
||||
date: '5 de junio, 2026',
|
||||
title: 'Autoría visible en Estudios Bíblicos, Conferencias e Historial',
|
||||
changes: [
|
||||
{ type: 'nuevo', text: 'Nombre del autor visible en el panel lateral de Estudios Bíblicos (Dr. José Benjamín Pérez Matos)' },
|
||||
{ type: 'nuevo', text: 'Nombre del autor visible en el panel lateral de Conferencias (Dr. William Soto Santiago)' },
|
||||
{ type: 'nuevo', text: 'Nombre del autor visible en el panel de detalle del documento para ambas secciones' },
|
||||
{ type: 'nuevo', text: 'El historial muestra el nombre del autor en cada entrada de Estudios Bíblicos y Conferencias' },
|
||||
{ type: 'mejora', text: 'El panel de detalle abierto desde el historial también muestra el autor correspondiente' },
|
||||
{ type: 'fix', text: 'Las colecciones en el historial ahora muestran "Estudios Bíblicos" y "Conferencias" en lugar de los identificadores internos' },
|
||||
{ type: 'fix', text: 'Corrección de etiquetas en inglés para las pestañas del historial' }
|
||||
]
|
||||
},
|
||||
{
|
||||
version: '0.7',
|
||||
date: '31 de mayo, 2026 11:50PM',
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
"nav": {
|
||||
"home": "Home",
|
||||
"bible_studies": "Bible Studies",
|
||||
"bible_studies_ts": "Bible Studies Typesense",
|
||||
"conferences_ts": "Conferences Typesense",
|
||||
"bible_studies_ts": "Bible Studies",
|
||||
"conferences_ts": "Conferences",
|
||||
"conferences": "Conferences",
|
||||
"between_the_lines": "Between the Lines",
|
||||
"my_list": "My List",
|
||||
|
|
|
|||
Loading…
Reference in New Issue