mirror of
https://github.com/svemagie/indiekit-endpoint-activitypub.git
synced 2026-04-02 15:44:58 +02:00
feat: image rendering, link preview CSS, lightbox swipe, URL linkification (v2.8.0)
- Gallery photos: 220px → 280px height, 180px on mobile (≤480px) - Link preview cards: full CSS for horizontal card layout (text left, image right) - Lightbox: touch/swipe support for mobile (50px threshold) - URL linkification: bare URLs in content auto-wrapped in <a> tags before AP delivery Confab-Link: http://localhost:8080/sessions/c5b1471e-b046-44d9-b94f-ab5e68fae7cc
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
{% set displayCount = item.photo.length if item.photo.length < 4 else 4 %}
|
||||
{% set extraCount = item.photo.length - 4 %}
|
||||
{% set totalPhotos = item.photo.length %}
|
||||
<div x-data="{ lightbox: false, idx: 0 }" class="ap-card__gallery ap-card__gallery--{{ displayCount }}">
|
||||
<div x-data="{ lightbox: false, idx: 0, touchX: 0 }" class="ap-card__gallery ap-card__gallery--{{ displayCount }}">
|
||||
{% for photo in item.photo %}
|
||||
{# Support both old string format and new object format #}
|
||||
{% set photoSrc = photo.url if photo.url else photo %}
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
{# Lightbox modal — teleported to body to prevent overflow clipping #}
|
||||
<template x-teleport="body">
|
||||
<div x-show="lightbox" x-cloak @keydown.escape.window="lightbox = false" @click.self="lightbox = false" class="ap-lightbox" role="dialog" aria-modal="true">
|
||||
<div x-show="lightbox" x-cloak @keydown.escape.window="lightbox = false" @click.self="lightbox = false" @touchstart="touchX = $event.changedTouches[0].clientX" @touchend="let dx = $event.changedTouches[0].clientX - touchX; if (dx < -50) idx = (idx + 1) % {{ totalPhotos }}; else if (dx > 50) idx = (idx - 1 + {{ totalPhotos }}) % {{ totalPhotos }}" class="ap-lightbox" role="dialog" aria-modal="true">
|
||||
<button type="button" @click="lightbox = false" class="ap-lightbox__close" aria-label="Close">×</button>
|
||||
{% if totalPhotos > 1 %}
|
||||
<button type="button" @click="idx = (idx - 1 + {{ totalPhotos }}) % {{ totalPhotos }}" class="ap-lightbox__prev" aria-label="Previous image">‹</button>
|
||||
|
||||
Reference in New Issue
Block a user