Add terms of use translations, sync detection, and refactor book components

- Introduced new translations for terms of use in French and English locales.
- Added sync status detection logic for books in `BookList` and `BookCard` components.
- Refactored `BookCard` to handle additional props and improve layout flexibility.
- Enhanced `TermsOfUse` component with complete localization support and refuse functionality.
- Updated data decryption logic in Rust services to handle optional fields and additional metadata consistently.
- Improved offline/online synchronization workflows with extended context properties.
This commit is contained in:
natreex
2026-03-23 11:56:35 -04:00
parent 64ed90d993
commit a114592ac9
23 changed files with 588 additions and 438 deletions

View File

@@ -1,3 +1,5 @@
import {isDesktop} from '@/lib/configs';
export function getCookie(name: string): string | null {
const nameEQ: string = `${name}=`;
const allCookies: string[] = document.cookie.split(';');
@@ -14,20 +16,20 @@ export function setCookie(name: string, value: string, days: number): void {
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)) {
if (!isDesktop && !/localhost|127\.0\.0\.1/.test(window.location.hostname)) {
domain = `domain=${window.location.hostname};`;
}
const secure: string = 'Secure;';
const secure: string = isDesktop ? '' : '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)) {
if (!isDesktop && !/localhost|127\.0\.0\.1/.test(window.location.hostname)) {
domain = `domain=${window.location.hostname};`;
}
const secure: string = 'Secure;';
const secure: string = isDesktop ? '' : 'Secure;';
const sameSite: string = 'SameSite=Strict;';
document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; ${domain} path=/; ${secure} ${sameSite}`;
}