26 lines
558 B
TypeScript
26 lines
558 B
TypeScript
|
import { Info } from "~/shared/utils/luxon";
|
||
|
|
||
|
export default definePayloadPlugin(() => {
|
||
|
definePayloadReducer(
|
||
|
"ClientMap",
|
||
|
data => {
|
||
|
if (!(data instanceof ClientMap)) {
|
||
|
return;
|
||
|
}
|
||
|
const accountStore = useAccountStore();
|
||
|
return {
|
||
|
timezone: accountStore.activeTimezone,
|
||
|
locale: accountStore.activeLocale,
|
||
|
api: data.toApi(false),
|
||
|
};
|
||
|
},
|
||
|
);
|
||
|
definePayloadReviver(
|
||
|
"ClientMap",
|
||
|
({ timezone, locale, api }) => {
|
||
|
const zone = Info.normalizeZone(timezone);
|
||
|
return ClientMap.fromApi(api, { zone, locale })
|
||
|
},
|
||
|
);
|
||
|
});
|