parent
093924033b
commit
d92199f6b0
11 changed files with 405 additions and 102 deletions
@ -1,42 +1,65 @@ |
||||
import React from "react"; |
||||
|
||||
const SelectedCourse = ({ onClick, title, questionQuantity, coefficient, optionsQuantity }) => { |
||||
const SelectedCourse = ({ |
||||
onClick, |
||||
title, |
||||
questionQuantity, |
||||
coefficient, |
||||
optionsQuantity, |
||||
optionsNumber, |
||||
}) => { |
||||
return ( |
||||
<div className="w-full border border-gray-400 rounded-xl bg-white flex items-center justify-between px-6 py-8 mt-8"> |
||||
<div className="flex flex-col w-full"> |
||||
|
||||
<h1 className="w-full text-lg text-right text-blue3A font-bold"> |
||||
{title} |
||||
</h1> |
||||
<div className="w-full flex mt-4 justify-between"> |
||||
<p className="flex items-center w-1/4 text-sm justify-between border-l-2 px-2 border-red52"> |
||||
<p>تعداد سوالات</p> |
||||
<input type='number' className="w-5 h-5 ml-1 border border-red52 outline-none rounded text-center text-xs" value={questionQuantity} /> |
||||
<input |
||||
type="number" |
||||
className="w-5 h-5 ml-1 border border-red52 outline-none rounded text-center text-xs" |
||||
value={questionQuantity} |
||||
/> |
||||
</p> |
||||
<p className="flex items-center w-1/4 text-sm justify-between border-l-2 px-2 border-red52"> |
||||
<p className="w-full text-center"> ضریب</p> |
||||
<input type='number' className="w-5 h-5 ml-1 border border-red52 outline-none rounded text-center text-xs" value={coefficient} /> |
||||
<input |
||||
type="number" |
||||
className="w-5 h-5 ml-1 border border-red52 outline-none rounded text-center text-xs" |
||||
value={coefficient} |
||||
/> |
||||
</p> |
||||
<p className="flex items-center w-1/4 text-sm justify-between border-l-2 px-2 border-red52"> |
||||
<p>تعداد گزینه</p> |
||||
<input type='number' className="w-5 h-5 ml-1 border border-red52 outline-none rounded text-center text-xs" value={4} /> |
||||
<input |
||||
type="number" |
||||
className="w-5 h-5 ml-1 border border-red52 outline-none rounded text-center text-xs" |
||||
value={optionsNumber || 4} |
||||
/> |
||||
</p> |
||||
<p className="flex items-center w-1/4 text-sm justify-between px-2 "> |
||||
<p>نمره منفی</p> |
||||
<input type='number' className="w-5 h-5 ml-1 border border-red52 outline-none rounded text-center" /> |
||||
<input |
||||
type="checkbox" |
||||
className="note-course-negetive-point-input w-5 h-5 ml-1 border border-red52 outline-none rounded text-center" |
||||
/> |
||||
</p> |
||||
|
||||
|
||||
</div> |
||||
<textarea className="border border-gray-300 mt-8 rounded-xl h-32 p-4 outline-none" placeholder="توضیحات"> |
||||
|
||||
</textarea> |
||||
<textarea |
||||
className="border border-gray-300 mt-8 rounded-xl h-32 p-4 outline-none" |
||||
placeholder="توضیحات" |
||||
></textarea> |
||||
</div> |
||||
<h1 className="w-40 text-center text-lg text-blue3A font-bold cursor-pointer" onClick={onClick}> |
||||
<h1 |
||||
className="w-40 text-center text-lg text-blue3A font-bold cursor-pointer" |
||||
onClick={onClick} |
||||
> |
||||
پاسخ برگ |
||||
</h1> |
||||
</div> |
||||
) |
||||
} |
||||
); |
||||
}; |
||||
|
||||
export default SelectedCourse; |
@ -0,0 +1,23 @@ |
||||
|
||||
|
||||
import proxy from "../proxy"; |
||||
const note = { |
||||
info: |
||||
(data = {}) => |
||||
async (dispatch) => |
||||
await proxy.get("note/info", data, { dispatch }), |
||||
list: |
||||
(data = {}) => |
||||
async (dispatch) => |
||||
await proxy.get("note/list", data, { dispatch }), |
||||
add: |
||||
(data = {}) => |
||||
async (dispatch) => |
||||
await proxy.post("note/add", data, { dispatch }), |
||||
delete: |
||||
(data = {}) => |
||||
async (dispatch) => |
||||
await proxy.delete("note/delete", data, { dispatch }), |
||||
}; |
||||
|
||||
export default note; |
@ -0,0 +1,37 @@ |
||||
|
||||
|
||||
import { toast } from "react-toastify"; |
||||
|
||||
const initialState = { |
||||
loading: false, |
||||
error: null, |
||||
info: null, |
||||
list: null, |
||||
lastAdd: null, |
||||
myNotes:[] |
||||
}; |
||||
export default function note(state = initialState, action) { |
||||
let { type, data } = action; |
||||
switch (type) { |
||||
case "note/info": |
||||
return { ...state, loading: false, info: data, error: null }; |
||||
case "note/add": |
||||
toast.success("درخواست با موفقیت انجام شد"); |
||||
return { |
||||
...state, |
||||
loading: false, |
||||
error: null, |
||||
lastAdd: data.id, |
||||
myNotes:[...state.myNotes,data.id] |
||||
}; |
||||
case "note/list": |
||||
return { ...state, loading: false, error: null, list: data }; |
||||
case "note/loading": |
||||
return { ...state, loading: true }; |
||||
case "note/error": |
||||
toast.error(data.message); |
||||
return { ...state, loading: false, error: data.message }; |
||||
default: |
||||
return state; |
||||
} |
||||
} |
Loading…
Reference in new issue