Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix] Fix time zone for requests and reports #278

Merged
merged 2 commits into from
Feb 18, 2023
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
4 changes: 2 additions & 2 deletions components/admin/requests/reason-for-replacement/Card.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Box, Text, SimpleGrid, Button } from '@chakra-ui/react'; // Chakra UI
import PermitHolderInfoCard from '@components/admin/LayoutCard'; // Custom Card Component
import EditReasonForReplacementModal from '@components/admin/requests/reason-for-replacement/EditModal'; // Edit modal
import { reasonForReplacementFormSchema } from '@lib/applications/validation';
import { formatDateYYYYMMDD } from '@lib/utils/date';
import { formatDateYYYYMMDDLocal } from '@lib/utils/date';
import {
GetReasonForReplacementRequest,
GetReasonForReplacementResponse,
Expand Down Expand Up @@ -97,7 +97,7 @@ export default function ReasonForReplacementCard(props: ReplacementProps) {
<InfoSection title={`Cause`}>{titlecase(reason)}</InfoSection>
{lostTimestamp && (
<InfoSection title={`Event Timestamp`}>
{formatDateYYYYMMDD(new Date(lostTimestamp), true)}
{formatDateYYYYMMDDLocal(new Date(lostTimestamp), true)}
</InfoSection>
)}
{lostLocation && <InfoSection title={`Location Lost`}>{lostLocation}</InfoSection>}
Expand Down
8 changes: 6 additions & 2 deletions lib/reports/resolvers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ import {
} from '@lib/graphql/types';
import { SortOrder } from '@tools/types';
import { formatFullName, formatPhoneNumber, formatPostalCode } from '@lib/utils/format'; // Formatting utils
import { formatDateTimeYYYYMMDDHHMMSS, formatDateYYYYMMDD } from '@lib/utils/date'; // Formatting utils
import {
formatDateTimeYYYYMMDDHHMMSS,
formatDateYYYYMMDD,
formatDateYYYYMMDDLocal,
} from '@lib/utils/date'; // Formatting utils
import { APPLICATIONS_COLUMNS, PERMIT_HOLDERS_COLUMNS } from '@tools/admin/reports';
import { Prisma } from '@prisma/client';
import { getSignedUrlForS3, serverUploadToS3 } from '@lib/utils/s3-utils';
Expand Down Expand Up @@ -264,7 +268,7 @@ export const generateApplicationsReport: Resolver<
...application,
id: applicant?.id,
dateOfBirth: dateOfBirth && formatDateYYYYMMDD(dateOfBirth),
applicationDate: createdAt ? formatDateYYYYMMDD(createdAt, true) : null,
applicationDate: createdAt ? formatDateYYYYMMDDLocal(createdAt, true) : null,
applicantName: formatFullName(firstName, middleName, lastName),
processingFee: `$${processingFee}`,
donationAmount: `$${donationAmount}`,
Expand Down
11 changes: 11 additions & 0 deletions lib/utils/date.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,17 @@ export const formatDateYYYYMMDD = (d: Date, withTime = false): string => {
return moment.utc(d).format(formatString);
};

/**
* Format date to be in YYYY-MM-DD format and in local time zone
* @param {Date} date date to be formatted
* @param {boolean} withTime whether to include time in formatted date
* @returns {string} formatted date
*/
export const formatDateYYYYMMDDLocal = (d: Date, withTime = false): string => {
const formatString = withTime ? 'YYYY-MM-DD, hh:mm a' : 'YYYY-MM-DD';
return moment(d).format(formatString);
leogjhuang marked this conversation as resolved.
Show resolved Hide resolved
};

/**
* Format date to be in written in the following format: Sep 11 2021, 03:07 pm not converting to the local timezone
* @param {Date} date date to be formatted
Expand Down
4 changes: 2 additions & 2 deletions pages/admin/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import { ApplicationStatus, ApplicationType, PermitType } from '@lib/graphql/typ
import useDebounce from '@tools/hooks/useDebounce'; // Debounce hook
import { Column } from 'react-table';
import { formatFullName } from '@lib/utils/format'; // String formatter util
import { formatDateYYYYMMDD } from '@lib/utils/date'; // Date Formatter Util
import { formatDateYYYYMMDDLocal } from '@lib/utils/date'; // Date Formatter Util
import GenerateReportModal from '@components/admin/requests/reports/GenerateModal'; // Generate report modal
import EmptyMessage from '@components/EmptyMessage';

Expand Down Expand Up @@ -82,7 +82,7 @@ const COLUMNS: Column<ApplicationRow>[] = [
width: 240,
sortDescFirst: true,
Cell: ({ value }) => {
return <Text>{formatDateYYYYMMDD(value, true)}</Text>;
return <Text>{formatDateYYYYMMDDLocal(value, true)}</Text>;
},
},
{
Expand Down