24 lines
905 B
TypeScript
24 lines
905 B
TypeScript
/**
|
|
* Sponsor Settings View Model
|
|
*
|
|
* View model for sponsor settings data.
|
|
*/
|
|
import { ViewModel } from "../contracts/view-models/ViewModel";
|
|
import { SponsorProfileViewModel } from "./SponsorProfileViewModel";
|
|
import { NotificationSettingsViewModel } from "./NotificationSettingsViewModel";
|
|
import { PrivacySettingsViewModel } from "./PrivacySettingsViewModel";
|
|
import type { SponsorSettingsViewData } from "../view-data/SponsorSettingsViewData";
|
|
|
|
export class SponsorSettingsViewModel extends ViewModel {
|
|
profile: SponsorProfileViewModel;
|
|
notifications: NotificationSettingsViewModel;
|
|
privacy: PrivacySettingsViewModel;
|
|
|
|
constructor(data: SponsorSettingsViewData) {
|
|
super();
|
|
this.profile = new SponsorProfileViewModel(data.profile);
|
|
this.notifications = new NotificationSettingsViewModel(data.notifications);
|
|
this.privacy = new PrivacySettingsViewModel(data.privacy);
|
|
}
|
|
}
|