Files
ERitors-Scribe-Desktop/lib/utils/user.ts
natreex 64ed90d993 Remove unused components and models for improved maintainability
- 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.
2026-03-22 22:37:31 -04:00

45 lines
1.4 KiB
TypeScript

import {GuideTour, Subscription, UserProps} from "@/lib/types/user";
import {SessionProps} from "@/lib/types/session";
export function getCurrentSubscription(user: UserProps | null, type: "quill-sense" | "use-your-keys" | "quill-trial"): Subscription | null {
if (!user || !user.subscription || user.subscription.length === 0) {
return null;
}
return user.subscription.find((sub: Subscription): boolean => {
return sub.subType === type && sub.status;
}) || null;
}
export function getWritingLevel(level: number): string {
switch (level) {
case 1:
return 'Débutant';
case 2:
return 'Intermédiaire';
case 3:
return 'Avancé';
default:
return 'Débutant';
}
}
export function guideTourDone(guide: GuideTour[], tour: string): boolean {
if (!guide || !tour) return false;
return guide.find((guide: GuideTour): boolean => guide[tour]) === undefined;
}
export function setNewGuideTour(session: SessionProps, tour: string): SessionProps {
if (!session.user) return session;
const newGuideTour: GuideTour[] = [
...(session.user.guideTour ?? []),
{[tour]: true}
];
return {
...session,
user: {
...session.user,
guideTour: newGuideTour
}
};
}