PersonViewSafe,
PostReportView,
PostView,
+ PrivateMessageReportView,
PrivateMessageView,
RegistrationApplicationView,
Search,
});
}
-export function amAdmin(
- admins: Option<PersonViewSafe[]>,
- myUserInfo = UserService.Instance.myUserInfo
-): boolean {
- return myUserInfo.match({
- some: mui => isAdmin(admins, mui.local_user_view.person.id),
- none: false,
- });
+export function amAdmin(myUserInfo = UserService.Instance.myUserInfo): boolean {
+ return myUserInfo
+ .map(mui => mui.local_user_view.person.admin)
+ .unwrapOr(false);
}
export function amCommunityCreator(
export function pictrsDeleteToast(
clickToDeleteText: string,
deletePictureText: string,
+ failedDeletePictureText: string,
deleteUrl: string
) {
if (isBrowser()) {
duration: 10000,
onClick: () => {
if (toast) {
- window.location.replace(deleteUrl);
- alert(deletePictureText);
- toast.hideToast();
+ fetch(deleteUrl, {})
+ .then( res => {
+ console.log(res)
+ toast.hideToast();
+ if (res.ok === true){
+ alert(deletePictureText);
+ } else{
+ alert(failedDeletePictureText);
+ }
+ })
}
},
close: true,
}
}
+// TODO possible to make these generic?
export function updatePostReportRes(
data: PostReportView,
reports: PostReportView[]
}
}
+export function updatePrivateMessageReportRes(
+ data: PrivateMessageReportView,
+ reports: PrivateMessageReportView[]
+) {
+ let found = reports.find(
+ c => c.private_message_report.id == data.private_message_report.id
+ );
+ if (found) {
+ found.private_message_report = data.private_message_report;
+ }
+}
+
export function updateRegistrationApplicationRes(
data: RegistrationApplicationView,
applications: RegistrationApplicationView[]
);
}
-export function canCreateCommunity(siteRes: GetSiteResponse): boolean {
+export function canCreateCommunity(
+ siteRes: GetSiteResponse,
+ myUserInfo = UserService.Instance.myUserInfo
+): boolean {
let adminOnly = siteRes.site_view
.map(s => s.site.community_creation_admin_only)
.unwrapOr(false);
- return !adminOnly || amAdmin(Some(siteRes.admins));
+ return !adminOnly || amAdmin(myUserInfo);
}
export function isPostBlocked(