A social knowledge tool for researchers built on ATProto
45
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: domain name on semble page og image

+31 -18
+31 -18
src/webapp/app/api/opengraph/semble/route.tsx
··· 10 10 title?: string; 11 11 url?: string; 12 12 domain?: string; 13 + imageUrl?: string; 13 14 } 14 15 15 16 export async function GET(request: NextRequest) { ··· 20 21 if (url) { 21 22 try { 22 23 const result = await getUrlMetadata(getUrlFromSlug([url])); 24 + 23 25 metadata = { 24 26 ...(result?.metadata || {}), 25 27 domain: getDomain(url), ··· 41 43 marginTop: '35px', 42 44 }} 43 45 > 44 - <p 45 - style={{ 46 - fontSize: '40px', 47 - lineHeight: '20px', 48 - color: '#ff6400', 49 - }} 50 - > 51 - Semble 52 - </p> 53 - {metadata && ( 54 - <p 46 + {metadata && url && ( 47 + <div 55 48 style={{ 56 - fontSize: '64px', 57 - lineHeight: '20px', 49 + display: 'flex', 50 + flexDirection: 'column', 51 + gap: 10, 58 52 }} 59 53 > 60 - {truncateText( 61 - metadata.title || metadata.url || metadata.domain || 'Unknown', 62 - 25, 63 - )} 64 - </p> 54 + <p 55 + style={{ 56 + fontSize: '40px', 57 + lineHeight: '20px', 58 + color: '#23AFED', 59 + }} 60 + > 61 + {truncateText(metadata.domain || getDomain(url), 35)} 62 + </p> 63 + <p 64 + style={{ 65 + fontSize: '64px', 66 + lineHeight: '20px', 67 + }} 68 + > 69 + {truncateText( 70 + metadata.title || 71 + metadata.url || 72 + metadata.domain || 73 + 'Unknown', 74 + 25, 75 + )} 76 + </p> 77 + </div> 65 78 )} 66 79 </div> 67 80 </div>