Skip to content

Conversation

hebert87
Copy link

I was able to get all the test to pass on my end and yarn start. when I look at the file names on git it says Chatlog.js but in VS code it says ChatLog.js. I am not sure why it's not pushing over to github.
Screen Shot 2023-01-20 at 8 44 01 PM

body: 'because I am what',

@hebert87
Copy link
Author

Screen Shot 2023-01-20 at 9 55 30 PM

Copy link

@yangashley yangashley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work on react-chatlog! Let me know if you have questions about my comments

@@ -1,19 +1,43 @@
import React from 'react';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you look at this "Files changed" section of your pull request it says that 1472 files were committed and pushed to the repo. It looks like you created a virtual environment and then pushed up all the files associated with it. React applications do not need a virtual environment (but Flask projects do). Be mindful of what files you push up to a repository and add to a PR.

It can be helpful to use git add SpecificFileName.js instead of using git add . so that you don't accidentally add and commit files you don't mean to.

In industry, the person reviewing your PR would ask that you resubmit this PR without the venv directory and files so you'd need to figure out how to remove them from your commit history and push the changes again.

import { useState } from 'react';
import './App.css';
import chatMessages from './data/messages.json';
import ChatLog from './components/ChatLog.js';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file name is ChatLog.js here, but the name is actually Chatlog.js which prevents the code from compiling. Did you run into any errors when trying to push up the ChatLog.js to your github repo?

import chatMessages from './data/messages.json';
import ChatLog from './components/ChatLog.js';

const chatDataList = chatMessages

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no need to use another variable to reference chatMessages. On line 4 when you import the data from './data/messages.json' you reference it with chatMessages so from there on out you can just refer to the data with chatMessages.

const chatDataList = chatMessages

const App = () => {
const [chatData, setChatData] = useState(chatDataList);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of setting state with chatDataList, you can set the state with chatMessages directly


const calcHearts = (chatData) => {
return chatData.reduce((total, message) => {
return total + message.liked;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Way to use reduce here!

It's cool that you leveraged the knowledge that in JavaScript if you add a boolean to something it gets cast as a number (0 for false, 1 for true). Prefer you use conditional logic to add a number to a number instead, like:

return chat.liked ? total + 1 : total;

import TimeStamp from './TimeStamp';

const ChatEntry = (props) => {
const heartColor = props.liked ? '❤️' : '🤍';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

<h2 className="entry-name">{props.sender}</h2>
<section className="entry-bubble">
<p>{props.body}</p>
<p className="entry-time"><TimeStamp time={props.timeStamp}/></p>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice use of the provided TimeStamp component

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants