feat: show view count badge next to reading time
- GET /api/views/counts/ returns { slug: count } for all published posts
- Eye-icon badge on post cards and post header, filled client-side;
space is reserved so there is no layout shift, hidden if the API fails
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+49
-9
@@ -16,7 +16,9 @@
|
||||
},
|
||||
"card": {
|
||||
"readMore": "Devamını oku",
|
||||
"readingTime": "{n} dk okuma"
|
||||
"readingTime": "{n} dk okuma",
|
||||
"views": "{n} görüntülenme",
|
||||
"viewsLabel": "Görüntülenme sayısı"
|
||||
},
|
||||
"dates": {
|
||||
"created": "Oluşturuldu",
|
||||
@@ -63,15 +65,53 @@
|
||||
"diy": {
|
||||
"title": "Sorumluluk Reddi",
|
||||
"body": "Bu yazıdaki uygulamalar eğitim ve hobi amaçlıdır. Uygulamadan doğabilecek her türlü zarar, cihaz arızası ve mevzuata aykırılık sorumluluğu uygulayan kişiye aittir.",
|
||||
"link": { "label": "Sorumluluk reddi metninin tamamı", "href": "/sorumluluk-reddi/" }
|
||||
"link": {
|
||||
"label": "Sorumluluk reddi metninin tamamı",
|
||||
"href": "/sorumluluk-reddi/"
|
||||
}
|
||||
},
|
||||
"share": [
|
||||
{ "id": "x", "label": "X'te paylaş", "icon": "tabler:brand-x", "url": "https://x.com/intent/post?url={url}&text={title}" },
|
||||
{ "id": "facebook", "label": "Facebook'ta paylaş", "icon": "tabler:brand-facebook", "url": "https://www.facebook.com/sharer/sharer.php?u={url}" },
|
||||
{ "id": "linkedin", "label": "LinkedIn'de paylaş", "icon": "tabler:brand-linkedin", "url": "https://www.linkedin.com/sharing/share-offsite/?url={url}" },
|
||||
{ "id": "whatsapp", "label": "WhatsApp ile gönder", "icon": "tabler:brand-whatsapp", "url": "https://wa.me/?text={title}%20{url}" },
|
||||
{ "id": "telegram", "label": "Telegram ile gönder", "icon": "tabler:brand-telegram", "url": "https://t.me/share/url?url={url}&text={title}" },
|
||||
{ "id": "bluesky", "label": "Bluesky'da paylaş", "icon": "tabler:brand-bluesky", "url": "https://bsky.app/intent/compose?text={title}%20{url}" },
|
||||
{ "id": "email", "label": "E-posta ile gönder", "icon": "tabler:mail", "url": "mailto:?subject={title}&body={url}" }
|
||||
{
|
||||
"id": "x",
|
||||
"label": "X'te paylaş",
|
||||
"icon": "tabler:brand-x",
|
||||
"url": "https://x.com/intent/post?url={url}&text={title}"
|
||||
},
|
||||
{
|
||||
"id": "facebook",
|
||||
"label": "Facebook'ta paylaş",
|
||||
"icon": "tabler:brand-facebook",
|
||||
"url": "https://www.facebook.com/sharer/sharer.php?u={url}"
|
||||
},
|
||||
{
|
||||
"id": "linkedin",
|
||||
"label": "LinkedIn'de paylaş",
|
||||
"icon": "tabler:brand-linkedin",
|
||||
"url": "https://www.linkedin.com/sharing/share-offsite/?url={url}"
|
||||
},
|
||||
{
|
||||
"id": "whatsapp",
|
||||
"label": "WhatsApp ile gönder",
|
||||
"icon": "tabler:brand-whatsapp",
|
||||
"url": "https://wa.me/?text={title}%20{url}"
|
||||
},
|
||||
{
|
||||
"id": "telegram",
|
||||
"label": "Telegram ile gönder",
|
||||
"icon": "tabler:brand-telegram",
|
||||
"url": "https://t.me/share/url?url={url}&text={title}"
|
||||
},
|
||||
{
|
||||
"id": "bluesky",
|
||||
"label": "Bluesky'da paylaş",
|
||||
"icon": "tabler:brand-bluesky",
|
||||
"url": "https://bsky.app/intent/compose?text={title}%20{url}"
|
||||
},
|
||||
{
|
||||
"id": "email",
|
||||
"label": "E-posta ile gönder",
|
||||
"icon": "tabler:mail",
|
||||
"url": "mailto:?subject={title}&body={url}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user