Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
jin-co committed Nov 2, 2023
1 parent 2d6f1e4 commit 0a02f19
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 7 deletions.
14 changes: 12 additions & 2 deletions React/test-feed/src/components/FeedForm.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
import React, { useContext, useState } from 'react'
import React, { useContext, useEffect, useState } from 'react'
import { FeedRating } from './FeedRating'
import { Card } from './shared/Card'
import { Button } from './shared/Button'
import FeedContext from '../context/FeedContext'

export const FeedForm = () => {
const { addFeed } = useContext(FeedContext)
const { addFeed, editFeed, selectEdit } = useContext(FeedContext)
const [text, setText] = useState('')
const [rating, setRating] = useState(0)
const [btnDisabled, setBtnDisabled] = useState(true)

useEffect(() => {
console.log(selectEdit)
if (selectEdit.isEdit) {
const { feed } = selectEdit
setRating(feed.rating)
setText(feed.text)
}
}, [selectEdit])

const handleChange = (e) => {
setText(e.target.value)
if (e.target.value.length > 10) {
Expand Down
4 changes: 2 additions & 2 deletions React/test-feed/src/components/FeedItem.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { Card } from './shared/Card'
import FeedContext from '../context/FeedContext'

export const FeedItem = ({ feed }) => {
const { deleteFeed, editFeed } = useContext(FeedContext)
const { deleteFeed, editFeed, handleSelectedFeed } = useContext(FeedContext)
return (
<Card>
<div className="num-display">{feed.rating}</div>
Expand All @@ -16,7 +16,7 @@ export const FeedItem = ({ feed }) => {
<FaEdit
color="blue"
className="edit"
onClick={() => editFeed()}
onClick={() => handleSelectedFeed(feed)}
/>
<div className="text-display">{feed.text}</div>
{/* <button onClick={onClick}>click</button> */}
Expand Down
26 changes: 23 additions & 3 deletions React/test-feed/src/context/FeedContext.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
import React, { createContext, useState } from 'react'
import React, { createContext, useState } from 'react'
import Feed from '../data/Feed'

const FeedContext = createContext()

export const FeedContextProvider = (props) => {
const [feed, setFeed] = useState(Feed)
const [feed, setFeed] = useState(Feed)
const [selectEdit, setSelectEdit] = useState({
isEdit: false,
feed: {
}
})

const deleteFeed = (id) => {
setFeed(feed.filter(f => f.id !== id))
Expand All @@ -13,12 +18,27 @@ export const FeedContextProvider = (props) => {
const addFeed = (newFeed) => {
setFeed([newFeed, ...feed])
}

const editFeed = (updatedFeed) => {
setFeed(feed.map(f => f.id == updatedFeed.id ? { ...f, updatedFeed } : { ...f }))
}

const handleSelectedFeed = (feed) => {
setSelectEdit({
isEdit: true,
feed
})
}

return (
<FeedContext.Provider
value={{
feed,
selectEdit,
handleSelectedFeed,
addFeed,
deleteFeed
deleteFeed,
editFeed
}}
>
{props.children}
Expand Down

0 comments on commit 0a02f19

Please sign in to comment.