@@ -0,0 +1,8 @@
|
||||
export function useConfirm() {
|
||||
function confirm(message: string) {
|
||||
if (!import.meta.client) return false;
|
||||
return window.confirm(message);
|
||||
}
|
||||
|
||||
return { confirm };
|
||||
}
|
||||
@@ -1,21 +1,14 @@
|
||||
import { readIdentity, writeIdentity } from '../utils/identity';
|
||||
|
||||
export function useIdentity() {
|
||||
const name = useState<string | null>('identity-name', () => null);
|
||||
const loaded = useState('identity-loaded', () => false);
|
||||
|
||||
if (import.meta.client && !loaded.value) {
|
||||
const identity = readIdentity(window.localStorage);
|
||||
name.value = identity?.name ?? null;
|
||||
loaded.value = true;
|
||||
}
|
||||
const name = useCookie<string | null>('stb-identity-name', {
|
||||
default: () => null,
|
||||
maxAge: 60 * 60 * 24 * 365,
|
||||
sameSite: 'lax',
|
||||
});
|
||||
|
||||
function setName(newName: string) {
|
||||
const trimmed = newName.trim();
|
||||
if (!trimmed) return;
|
||||
name.value = trimmed;
|
||||
if (import.meta.client)
|
||||
writeIdentity(window.localStorage, { name: trimmed });
|
||||
}
|
||||
|
||||
return { name, setName };
|
||||
|
||||
Reference in New Issue
Block a user