feat: Introduce site configuration management with a new Prisma model and API endpoints, and add a health check endpoint.
This commit is contained in:
@@ -1,10 +1,25 @@
|
||||
export function getVisitorId() {
|
||||
if (typeof window === "undefined") return null;
|
||||
|
||||
let visitorId = localStorage.getItem("visitor_id");
|
||||
|
||||
if (!visitorId) {
|
||||
visitorId = crypto.randomUUID();
|
||||
if (crypto?.randomUUID) {
|
||||
visitorId = crypto.randomUUID();
|
||||
} else {
|
||||
visitorId = generateUUID();
|
||||
}
|
||||
|
||||
localStorage.setItem("visitor_id", visitorId);
|
||||
}
|
||||
|
||||
return visitorId;
|
||||
}
|
||||
|
||||
function generateUUID() {
|
||||
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
|
||||
const r = (Math.random() * 16) | 0;
|
||||
const v = c === "x" ? r : (r & 0x3) | 0x8;
|
||||
return v.toString(16);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user