Upload 2.5
This commit is contained in:
@@ -1,6 +0,0 @@
|
|||||||
#FileLock
|
|
||||||
#Tue Mar 14 08:52:32 EET 2023
|
|
||||||
server=localhost\:44861
|
|
||||||
hostName=localhost
|
|
||||||
method=file
|
|
||||||
id=186dee3c668f2198247c5e18a4c206205e633a2408e
|
|
||||||
@@ -1,39 +1,5 @@
|
|||||||
const Course = ({ course }) => {
|
import React from "react";
|
||||||
return (
|
import Course from "./components/Course";
|
||||||
<div>
|
|
||||||
<Header name={course.name} />
|
|
||||||
<Content parts={course.parts} />
|
|
||||||
<Total parts={course.parts} />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const Header = ({ name }) => {
|
|
||||||
return <h2>{name}</h2>;
|
|
||||||
};
|
|
||||||
|
|
||||||
const Total = ({ parts }) => {
|
|
||||||
const total = parts.reduce((sum, part) => sum + part.exercises, 0);
|
|
||||||
return <b>total of {total} exercises</b>;
|
|
||||||
};
|
|
||||||
|
|
||||||
const Part = ({ part, exercises }) => {
|
|
||||||
return (
|
|
||||||
<p>
|
|
||||||
{part} {exercises}
|
|
||||||
</p>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const Content = ({ parts }) => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
{parts.map((part) => (
|
|
||||||
<Part key={part.id} part={part.name} exercises={part.exercises} />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
const courses = [
|
const courses = [
|
||||||
|
|||||||
38
part2/courseinfo/src/components/Course.js
Normal file
38
part2/courseinfo/src/components/Course.js
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
const Course = ({ course }) => {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Header name={course.name} />
|
||||||
|
<Content parts={course.parts} />
|
||||||
|
<Total parts={course.parts} />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const Header = ({ name }) => {
|
||||||
|
return <h2>{name}</h2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
const Total = ({ parts }) => {
|
||||||
|
const total = parts.reduce((sum, part) => sum + part.exercises, 0);
|
||||||
|
return <b>total of {total} exercises</b>;
|
||||||
|
};
|
||||||
|
|
||||||
|
const Part = ({ part, exercises }) => {
|
||||||
|
return (
|
||||||
|
<p>
|
||||||
|
{part} {exercises}
|
||||||
|
</p>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const Content = ({ parts }) => {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{parts.map((part) => (
|
||||||
|
<Part key={part.id} part={part.name} exercises={part.exercises} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Course;
|
||||||
Reference in New Issue
Block a user