- Deleted redundant components (`AddActionButton`, `AlertBox`, `AlertStack`, `BackButton`, `CancelButton`, and `CollapsableArea`) and related files. - Removed unused models (`Book`, `BookSerie`, `BookTables`, `Character`, and `Chapter`) to reduce codebase clutter. - Updated project structure and references to reflect these removals.
34 lines
1.5 KiB
TypeScript
34 lines
1.5 KiB
TypeScript
export function getCookie(name: string): string | null {
|
|
const nameEQ: string = `${name}=`;
|
|
const allCookies: string[] = document.cookie.split(';');
|
|
for (let i: number = 0; i < allCookies.length; i++) {
|
|
let cookie: string = allCookies[i];
|
|
while (cookie.charAt(0) === ' ') cookie = cookie.substring(1, cookie.length);
|
|
if (cookie.indexOf(nameEQ) === 0) return cookie.substring(nameEQ.length, cookie.length);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
export function setCookie(name: string, value: string, days: number): void {
|
|
const date: Date = new Date();
|
|
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
|
|
const expires: string = `expires=${date.toUTCString()}`;
|
|
let domain: string = '';
|
|
if (!/localhost|127\.0\.0\.1/.test(window.location.hostname)) {
|
|
domain = `domain=${window.location.hostname};`;
|
|
}
|
|
const secure: string = 'Secure;';
|
|
const sameSite: string = 'SameSite=Strict;';
|
|
document.cookie = `${name}=${value}; ${expires}; ${domain} path=/; ${secure} ${sameSite}`;
|
|
}
|
|
|
|
export function removeCookie(name: string): void {
|
|
let domain: string = '';
|
|
if (!/localhost|127\.0\.0\.1/.test(window.location.hostname)) {
|
|
domain = `domain=${window.location.hostname};`;
|
|
}
|
|
const secure: string = 'Secure;';
|
|
const sameSite: string = 'SameSite=Strict;';
|
|
document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; ${domain} path=/; ${secure} ${sameSite}`;
|
|
}
|