project-standalo-sonic-cloud/lib/share.ts

21 lines
621 B
TypeScript

import { nanoid } from 'nanoid';
export function generateShareToken(): string {
return nanoid(10);
}
export function buildShareUrl(token: string): string {
const baseUrl = process.env.NEXT_PUBLIC_APP_URL || 'http://localhost:3000';
return `${baseUrl}/s/${token}`;
}
export function buildSocialShareUrls(url: string, title: string) {
const encodedUrl = encodeURIComponent(url);
const encodedTitle = encodeURIComponent(title);
return {
twitter: `https://twitter.com/intent/tweet?text=${encodedTitle}&url=${encodedUrl}`,
facebook: `https://www.facebook.com/sharer/sharer.php?u=${encodedUrl}`,
};
}