Spaces:
Running
Running
File size: 715 Bytes
0c88bc5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import { type ClassValue, clsx } from 'clsx';
import { twMerge } from 'tailwind-merge';
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
const DEVICE_KEY_STORAGE_KEY = 'matcha-moments-device-key';
export function ensureDeviceKey(): string {
if (typeof window === 'undefined') return '';
const existing = window.localStorage.getItem(DEVICE_KEY_STORAGE_KEY);
if (existing) return existing;
const next =
typeof window.crypto?.randomUUID === 'function'
? window.crypto.randomUUID()
: `device-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
window.localStorage.setItem(DEVICE_KEY_STORAGE_KEY, next);
return next;
}
|