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