Skip to content

Commit

Permalink
use faker with UseMessageListener hook
Browse files Browse the repository at this point in the history
  • Loading branch information
agjs committed Oct 21, 2023
1 parent 05bfd9d commit fb3dea8
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
25 changes: 24 additions & 1 deletion chat/src/Hooks/UseMessageListener/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { useEffect, useState } from "react";
import { IMessage } from "../../types";
import DummyMessageGenerator from "../../utils/faker";

export const useMessageListener = (): IMessage[] => {
const useMessageListenerProd = (): IMessage[] => {
const [messages, setMessages] = useState<IMessage[]>([]);
let intervalId: ReturnType<typeof setInterval> | null = null;

Expand Down Expand Up @@ -38,3 +39,25 @@ export const useMessageListener = (): IMessage[] => {

return messages;
};

const useMessageListenerDev = (): IMessage[] => {
const [messages, setMessages] = useState<IMessage[]>([]);

useEffect(() => {
const intervalId = setInterval(() => {
const newMessage = DummyMessageGenerator.generate();
setMessages((prevMessages) => [...prevMessages, newMessage]);
}, 1000);

return () => {
clearInterval(intervalId);
};
}, []);

return messages;
};

export const useMessageListener =
import.meta.env.VITE_USE_DUMMY_DATA === "true"
? useMessageListenerDev
: useMessageListenerProd;
9 changes: 9 additions & 0 deletions chat/src/env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/// <reference types="vite/client" />

interface ImportMetaEnv {
readonly VITE_USE_DUMMY_DATA: string;
}

interface ImportMeta {
readonly env: ImportMetaEnv;
}

0 comments on commit fb3dea8

Please sign in to comment.