Show family members list
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { APIClient } from "./ApiClient";
|
||||
import { Member } from "./MemberApi";
|
||||
|
||||
interface FamilyAPI {
|
||||
user_id: number;
|
||||
@@ -52,6 +53,15 @@ export class Family implements FamilyAPI {
|
||||
get BaseURL(): string {
|
||||
return this.URL("");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get application URL for member page
|
||||
*/
|
||||
memberURL(member: Member, edit?: boolean): string {
|
||||
return (
|
||||
`/family/${this.family_id}/member/${member.id}` + (edit ? "/edit" : "")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export enum JoinFamilyResult {
|
||||
|
@@ -171,6 +171,15 @@ export function fmtDate(d?: DateValue): string {
|
||||
}/${d?.year?.toString().padStart(4, "0") ?? "__"}`;
|
||||
}
|
||||
|
||||
const OLD_TIME = -58991812735;
|
||||
export function dateTimestamp(d?: DateValue): number {
|
||||
if (!d) return OLD_TIME;
|
||||
|
||||
const date = new Date();
|
||||
date.setFullYear(d.year ?? 1010, (d.month ?? 1) - 1, d.day ?? 1);
|
||||
return date.getTime() / 1000;
|
||||
}
|
||||
|
||||
export class MembersList {
|
||||
private list: Member[];
|
||||
private map: Map<number, Member>;
|
||||
@@ -184,6 +193,14 @@ export class MembersList {
|
||||
}
|
||||
}
|
||||
|
||||
public get isEmpty(): boolean {
|
||||
return this.list.length === 0;
|
||||
}
|
||||
|
||||
public get fullList(): Member[] {
|
||||
return this.list;
|
||||
}
|
||||
|
||||
filter(predicate: (m: Member) => boolean): Member[] {
|
||||
return this.list.filter(predicate);
|
||||
}
|
||||
|
Reference in New Issue
Block a user