Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions adminapp/src/components/resourceDetailCommonFields.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { dayjs } from "../modules/dayConfig";
import AdminLink from "./AdminLink";
import has from "lodash/has";
import React from "react";

export default function resourceDetailCommonFields(model) {
const result = [];
if (model.id) {
result.push({ label: "ID", value: model.id });
}
if (model.createdAt) {
result.push({ label: "Created At", value: dayjs(model.createdAt) });
}
if (has(model, "updatedAt")) {
const value = model.updatedAt ? dayjs(model.updatedAt) : "-";
result.push({ label: "Updated At", value });
}
if (has(model, "createdBy")) {
const value = model.createdBy ? (
<AdminLink model={model.createdBy}>{model.createdBy.name}</AdminLink>
) : (
"-"
);
result.push({ label: "Created By", value });
}
if (has(model, "softDeletedAt")) {
const value = model.softDeletedAt ? dayjs(model.softDeletedAt) : "";
result.push({ label: "Deleted At", value });
}
return result;
}
5 changes: 2 additions & 3 deletions adminapp/src/pages/AnonMemberContactDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import Copyable from "../components/Copyable";
import ExternalLinks from "../components/ExternalLinks";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import React from "react";

export default function AnonMemberContactDetailPage() {
Expand All @@ -15,8 +15,7 @@ export default function AnonMemberContactDetailPage() {
apiDelete={api.destroyMemberContact}
canEdit
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
...resourceDetailCommonFields(model),
{
label: "Member",
value: <AdminLink model={model.member}>{model.member.name}</AdminLink>,
Expand Down
8 changes: 2 additions & 6 deletions adminapp/src/pages/BankAccountDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import api from "../api";
import AdminLink from "../components/AdminLink";
import LegalEntity from "../components/LegalEntity";
import ResourceDetail, { ResourceSummary } from "../components/ResourceDetail";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import { dayjs } from "../modules/dayConfig";
import React from "react";

Expand All @@ -12,13 +13,8 @@ export default function BankAccountDetailPage() {
apiGet={api.getBankAccount}
backTo={(m) => m.member.adminLink}
properties={(model) => [
{ label: "ID", value: model.id },
...resourceDetailCommonFields(model),
{ label: "Account Name", value: model.name },
{ label: "Created At", value: dayjs(model.createdAt) },
{
label: "Deleted At",
value: model.softDeletedAt ? dayjs(model.softDeletedAt) : "",
},
{
label: "Verified At",
value: model.verifiedAt ? dayjs(model.verifiedAt) : "(not verified)",
Expand Down
4 changes: 2 additions & 2 deletions adminapp/src/pages/BookTransactionDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import api from "../api";
import AdminLink from "../components/AdminLink";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import { dayjs } from "../modules/dayConfig";
import formatDate from "../modules/formatDate";
import Money from "../shared/react/Money";
Expand All @@ -13,8 +14,7 @@ export default function BookTransactionDetailPage() {
resource="book_transaction"
apiGet={api.getBookTransaction}
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
...resourceDetailCommonFields(model),
{ label: "Apply At", value: dayjs(model.applyAt) },
{ label: "Amount", value: <Money>{model.amount}</Money> },
{ label: "Category", value: model.associatedVendorServiceCategory?.name },
Expand Down
9 changes: 2 additions & 7 deletions adminapp/src/pages/CardDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import ExternalLinks from "../components/ExternalLinks";
import LegalEntity from "../components/LegalEntity";
import RelatedList from "../components/RelatedList";
import ResourceDetail, { ResourceSummary } from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import formatDate from "../modules/formatDate";
import Money from "../shared/react/Money";
import React from "react";
Expand All @@ -16,13 +16,8 @@ export default function CardDetailPage() {
backTo={(m) => m.member.adminLink}
apiGet={api.getCard}
properties={(model) => [
{ label: "ID", value: model.id },
...resourceDetailCommonFields(model),
{ label: "Account Name", value: model.name },
{ label: "Created At", value: dayjs(model.createdAt) },
{
label: "Deleted At",
value: model.softDeletedAt ? dayjs(model.softDeletedAt) : "",
},
{ label: "Brand", value: model.brand },
{ label: "Last 4", value: model.last4 },
{ label: "Expires", value: `${model.expMonth}/${model.expYear}` },
Expand Down
5 changes: 2 additions & 3 deletions adminapp/src/pages/ChargeDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import CommerceOrderDetailGrid from "../components/CommerceOrderDetailGrid";
import MobilityTripDetailGrid from "../components/MobilityTripDetailGrid";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import formatDate from "../modules/formatDate";
import { anyMoney } from "../shared/money";
import Money from "../shared/react/Money";
Expand All @@ -17,8 +17,7 @@ export default function ChargeDetailPage() {
apiGet={api.getCharge}
canEdit={false}
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
...resourceDetailCommonFields(model),
{
label: "Member",
value: <AdminLink model={model.member}>{model.member?.name}</AdminLink>,
Expand Down
9 changes: 2 additions & 7 deletions adminapp/src/pages/EligibilityAssignmentDetailPage.jsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import api from "../api";
import AdminLink from "../components/AdminLink";
import ResourceDetail from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import React from "react";

export default function EligibilityAssignmentDetailPage() {
Expand All @@ -12,12 +12,7 @@ export default function EligibilityAssignmentDetailPage() {
apiDelete={api.destroyEligibilityAssignment}
canEdit
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
model.createdBy && {
label: "Created By",
value: <AdminLink model={model.createdBy}>{model.createdBy.name}</AdminLink>,
},
...resourceDetailCommonFields(model),
{
label: "Attribute",
value: <AdminLink model={model.attribute}>{model.attribute.label}</AdminLink>,
Expand Down
5 changes: 2 additions & 3 deletions adminapp/src/pages/EligibilityAttributeDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import api from "../api";
import AdminLink from "../components/AdminLink";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import createRelativeUrl from "../shared/createRelativeUrl";
import React from "react";

Expand All @@ -13,8 +13,7 @@ export default function EligibilityAttributeDetailPage() {
apiGet={api.getEligibilityAttribute}
canEdit
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
...resourceDetailCommonFields(model),
{ label: "Name", value: model.name },
{ label: "Description", value: model.description },
model.parent && {
Expand Down
9 changes: 2 additions & 7 deletions adminapp/src/pages/EligibilityRequirementDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import AdminLink from "../components/AdminLink";
import Link from "../components/Link";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import createRelativeUrl from "../shared/createRelativeUrl";
import EditIcon from "@mui/icons-material/Edit";
import IconButton from "@mui/material/IconButton";
Expand All @@ -17,12 +17,7 @@ export default function EligibilityRequirementDetailPage() {
apiDelete={api.destroyEligibilityRequirement}
canEdit
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
model.createdBy && {
label: "Created By",
value: <AdminLink model={model.createdBy}>{model.createdBy.name}</AdminLink>,
},
...resourceDetailCommonFields(model),
{
label: "Formula",
value: (
Expand Down
5 changes: 2 additions & 3 deletions adminapp/src/pages/FundingTransactionDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import ExternalLinks from "../components/ExternalLinks";
import PaymentStrategyDetailGrid from "../components/PaymentStrategyDetailGrid";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import formatDate from "../modules/formatDate";
import { directEditRoute } from "../modules/resourceRoutes";
import Money from "../shared/react/Money";
Expand All @@ -22,8 +22,7 @@ export default function FundingTransactionDetailPage() {
model.strategy.adminLink && directEditRoute(model.strategy.adminLink)
}
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
...resourceDetailCommonFields(model),
{
label: "Originating Payment Account",
value: (
Expand Down
7 changes: 3 additions & 4 deletions adminapp/src/pages/MarketingListDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import api from "../api";
import AdminLink from "../components/AdminLink";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import useBusy from "../hooks/useBusy";
import useErrorSnackbar from "../hooks/useErrorSnackbar";
import { dayjs } from "../modules/dayConfig";
import formatDate from "../modules/formatDate";
import { Button, CircularProgress } from "@mui/material";
import React from "react";
Expand Down Expand Up @@ -36,9 +36,8 @@ export default function MarketingListDetailPage() {
canEdit={(r) => !r.managed}
canDelete={(r) => !r.managed}
apiDelete={api.destroyMarketingList}
properties={(model, replaceModel) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
properties={(model) => [
...resourceDetailCommonFields(model),
{
label: "Label",
value: model.label,
Expand Down
9 changes: 2 additions & 7 deletions adminapp/src/pages/MarketingSmsBroadcastDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import AdminLink from "../components/AdminLink";
import Link from "../components/Link";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import formatDate from "../modules/formatDate";
import { Button } from "@mui/material";
import React from "react";
Expand All @@ -15,13 +15,8 @@ export default function MarketingSmsBroadcastDetailPage() {
apiGet={api.getMarketingSmsBroadcast}
canEdit
properties={(model) => [
{ label: "ID", value: model.id },
...resourceDetailCommonFields(model),
{ label: "Label", value: model.label },
{ label: "Created At", value: dayjs(model.createdAt) },
{
label: "Created By",
value: <AdminLink model={model.createdBy}>{model.createdBy?.name}</AdminLink>,
},
{
label: "Sending From",
value: model.sendingNumberFormatted || "(Blank - Will not send)",
Expand Down
5 changes: 2 additions & 3 deletions adminapp/src/pages/MarketingSmsDispatchDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import api from "../api";
import AdminLink from "../components/AdminLink";
import ExternalLinks from "../components/ExternalLinks";
import ResourceDetail from "../components/ResourceDetail";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import useBusy from "../hooks/useBusy";
import useErrorSnackbar from "../hooks/useErrorSnackbar";
import { dayjs } from "../modules/dayConfig";
import formatDate from "../modules/formatDate";
import { Button, CircularProgress } from "@mui/material";
import React from "react";
Expand Down Expand Up @@ -34,8 +34,7 @@ export default function MarketingSmsDispatchDetailPage() {
resource="marketing_sms_dispatch"
apiGet={api.getMarketingSmsDispatch}
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
...resourceDetailCommonFields(model),
{
label: "Broadcast",
value: (
Expand Down
4 changes: 2 additions & 2 deletions adminapp/src/pages/MessageDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import AdminActions from "../components/AdminActions";
import AdminLink from "../components/AdminLink";
import ExternalLinks from "../components/ExternalLinks";
import ResourceDetail from "../components/ResourceDetail";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import formatDate from "../modules/formatDate";
import { Typography } from "@mui/material";
import Box from "@mui/material/Box";
Expand All @@ -14,15 +15,14 @@ export default function MessageDetailPage() {
resource="message_delivery"
apiGet={api.getMessageDelivery}
properties={(model) => [
{ label: "ID", value: model.id },
...resourceDetailCommonFields(model),
{ label: "Template", value: model.template },
{
label: "Transport",
value: `${model.carrierKey} (${model.transportType})`,
},
{ label: "MessageId", value: model.transportMessageId },
{ label: "Template", value: model.template },
{ label: "CreatedAt", value: formatDate(model.createdAt) },
{ label: "SentAt", value: formatDate(model.sentAt) },
{ label: "AbortedAt", value: formatDate(model.abortedAt) },
model.recipient && {
Expand Down
5 changes: 2 additions & 3 deletions adminapp/src/pages/MobilityTripDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import api from "../api";
import AdminLink from "../components/AdminLink";
import ChargeDetailGrid from "../components/ChargeDetailGrid";
import ResourceDetail from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import formatDate from "../modules/formatDate";
import React from "react";

Expand All @@ -13,8 +13,7 @@ export default function MobilityTripDetailPage() {
apiGet={api.getMobilityTrip}
canEdit
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
...resourceDetailCommonFields(model),
{
label: "Member",
value: <AdminLink model={model.member}>{model.member?.name}</AdminLink>,
Expand Down
4 changes: 2 additions & 2 deletions adminapp/src/pages/OfferingDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import Programs from "../components/Programs";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import detailPageImageProperties from "../components/detailPageImageProperties";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import { dayjs } from "../modules/dayConfig";
import formatDate from "../modules/formatDate";
import oneLineAddress from "../modules/oneLineAddress";
Expand All @@ -24,8 +25,7 @@ export default function OfferingDetailPage() {
apiGet={api.getCommerceOffering}
canEdit
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
...resourceDetailCommonFields(model),
...detailPageImageProperties(model.image),
{ label: "Description (En)", value: model.description.en },
{ label: "Description (Es)", value: model.description.es },
Expand Down
4 changes: 2 additions & 2 deletions adminapp/src/pages/OfferingProductDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import BackTo from "../components/BackTo";
import Link from "../components/Link";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import { dayjs } from "../modules/dayConfig";
import formatDate from "../modules/formatDate";
import { resourceEditRoute } from "../modules/resourceRoutes";
Expand All @@ -20,8 +21,7 @@ export default function OfferingProductDetailPage() {
backTo={BackTo.BACK}
apiSoftDelete={api.closeCommerceOfferingProduct}
properties={(model) => [
{ label: "ID", value: model.id },
{ label: "Created At", value: dayjs(model.createdAt) },
...resourceDetailCommonFields(model),
{ label: "Closed At", value: model.closedAt && dayjs(model.closedAt) },
{
label: "Offering",
Expand Down
5 changes: 2 additions & 3 deletions adminapp/src/pages/OrderDetailPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import ChargeDetailGrid from "../components/ChargeDetailGrid";
import DetailGrid from "../components/DetailGrid";
import RelatedList from "../components/RelatedList";
import ResourceDetail from "../components/ResourceDetail";
import { dayjs } from "../modules/dayConfig";
import resourceDetailCommonFields from "../components/resourceDetailCommonFields";
import Money from "../shared/react/Money";
import React from "react";

Expand All @@ -17,7 +17,7 @@ export default function OrderDetailPage() {
apiGet={api.getCommerceOrder}
canEdit={false}
properties={(model) => [
{ label: "ID", value: model.id },
...resourceDetailCommonFields(model),
{
label: "Member",
value: (
Expand All @@ -26,7 +26,6 @@ export default function OrderDetailPage() {
</AdminLink>
),
},
{ label: "Created At", value: dayjs(model.createdAt) },
{
label: "Status",
value: model.statusLabel,
Expand Down
Loading
Loading