import { LOARequest } from "./loa";
import { Role } from "./roles";

export interface memberSettings {
    displayName: string;
}

export enum MemberState {
    Guest = "guest",
    Applicant = "applicant",
    Member = "member",
    Retired = "retired",
    Banned = "banned",
    Denied = "denied"
}

export type Member = {
    member_id: number;
    member_name: string;
    displayName?: string;
    rank: string | null;
    rank_date: string | null;
    unit: string | null;
    unit_date: string | null;
    status: string | null;
    status_date: string | null;
    loa_until?: Date;
};

export interface MemberLight {
    id: number
    displayName: string
    username: string
    color: string
}

export interface MemberCardDetails {
    member: Member;
    roles: Role[];
}

export interface myData {
    member: Member;
    LOAs: LOARequest[];
    roles: Role[];
    state: MemberState;
}