mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-08 22:48:14 -05:00
* feat: implement native ARM64 Docker builds with CDN support - Replace QEMU emulation with native ARM64/AMD64 runners (linux-arm64-8-core, linux-x64-8-core) - Fix manifest creation with proper error handling and image existence checks - Add CDN video support with getVideoUrl function and Video component - Update all docs MDX files to use Video component instead of raw video tags - Update GitHub Actions workflow to use architecture-specific builds - Remove QEMU setup to eliminate emulation timeout issues - Maintain multi-arch Docker image support through manifests * Update .github/workflows/build.yml Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
22 lines
609 B
TypeScript
22 lines
609 B
TypeScript
import { type ClassValue, clsx } from 'clsx'
|
|
import { twMerge } from 'tailwind-merge'
|
|
|
|
/**
|
|
* Combines multiple class names into a single string, merging Tailwind classes properly
|
|
*/
|
|
export function cn(...inputs: ClassValue[]) {
|
|
return twMerge(clsx(inputs))
|
|
}
|
|
|
|
/**
|
|
* Get the full URL for a video asset stored in Vercel Blob
|
|
*/
|
|
export function getVideoUrl(filename: string) {
|
|
const baseUrl = process.env.NEXT_PUBLIC_BLOB_BASE_URL
|
|
if (!baseUrl) {
|
|
console.warn('NEXT_PUBLIC_BLOB_BASE_URL not configured, falling back to local path')
|
|
return `/${filename}`
|
|
}
|
|
return `${baseUrl}/${filename}`
|
|
}
|