Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 875a9a4

Browse files
conference-schedule-app #10
1 parent ad935b7 commit 875a9a4

File tree

12 files changed

+27084
-1
lines changed

12 files changed

+27084
-1
lines changed

conference-schedule-react-web-app-project/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
![under_construction](https://user-images.githubusercontent.com/37651620/93677983-a7942e00-facc-11ea-8b6d-b57e73dc73bf.png)
1+
![conference_schedule](https://user-images.githubusercontent.com/37651620/94646070-2844fc80-030d-11eb-8fe5-cdc881f88d8c.png)
2+
3+
## It's Live 🎉 Visit here ==> https://conference-schedule-app.netlify.app/
4+
5+
---
26

37
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
48

conference-schedule-react-web-app-project/package-lock.json

Lines changed: 15974 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"name": "conference-schedule-react-web-app-project",
3+
"version": "0.1.0",
4+
"private": true,
5+
"dependencies": {
6+
"@fullcalendar/daygrid": "^5.3.2",
7+
"@fullcalendar/interaction": "^5.3.1",
8+
"@fullcalendar/react": "^5.3.1",
9+
"@fullcalendar/resource-timeline": "^5.3.1",
10+
"@fullcalendar/timegrid": "^5.3.1",
11+
"@testing-library/jest-dom": "^4.2.4",
12+
"@testing-library/react": "^9.3.2",
13+
"@testing-library/user-event": "^7.1.2",
14+
"react": "^16.13.1",
15+
"react-dom": "^16.13.1",
16+
"react-scripts": "3.4.3",
17+
"sweetalert2-react": "^0.8.3"
18+
},
19+
"scripts": {
20+
"start": "react-scripts start",
21+
"build": "react-scripts build",
22+
"test": "react-scripts test",
23+
"eject": "react-scripts eject"
24+
},
25+
"eslintConfig": {
26+
"extends": "react-app"
27+
},
28+
"browserslist": {
29+
"production": [
30+
">0.2%",
31+
"not dead",
32+
"not op_mini all"
33+
],
34+
"development": [
35+
"last 1 chrome version",
36+
"last 1 firefox version",
37+
"last 1 safari version"
38+
]
39+
}
40+
}
Binary file not shown.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8" />
5+
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1" />
7+
<meta name="theme-color" content="#000000" />
8+
<meta
9+
name="description"
10+
content="Web site created using create-react-app"
11+
/>
12+
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
13+
14+
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
15+
16+
<title>Conference Schedule</title>
17+
<script
18+
src="https://apis.google.com/js/api.js"
19+
type="text/javascript"
20+
></script>
21+
</head>
22+
<body>
23+
<noscript>You need to enable JavaScript to run this app.</noscript>
24+
<div id="root"></div>
25+
</body>
26+
</html>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"short_name": "React App",
3+
"name": "Create React App Sample",
4+
"icons": [
5+
{
6+
"src": "favicon.ico",
7+
"sizes": "64x64 32x32 24x24 16x16",
8+
"type": "image/x-icon"
9+
},
10+
{
11+
"src": "logo192.png",
12+
"type": "image/png",
13+
"sizes": "192x192"
14+
},
15+
{
16+
"src": "logo512.png",
17+
"type": "image/png",
18+
"sizes": "512x512"
19+
}
20+
],
21+
"start_url": ".",
22+
"display": "standalone",
23+
"theme_color": "#000000",
24+
"background_color": "#ffffff"
25+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# https://www.robotstxt.org/robotstxt.html
2+
User-agent: *
3+
Disallow:
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import React, { useState } from "react";
2+
import FullCalendar from "@fullcalendar/react";
3+
import dayGridPlugin from "@fullcalendar/daygrid";
4+
import interactionPlugin from "@fullcalendar/interaction";
5+
import timeGridPlugin from "@fullcalendar/timegrid";
6+
import EventDelete from "./EventDelete";
7+
import "../styles/App.css";
8+
9+
function App() {
10+
const [weekendsVisible, setWeekendsVisible] = useState(true);
11+
const [currentEvents, setCurrentEvents] = useState([]);
12+
13+
return (
14+
<>
15+
<div>
16+
<div className="main">
17+
<div className="schedule">
18+
<span>C</span>
19+
<span className="boxa"></span>
20+
<span>n</span>
21+
<span>f</span>
22+
<span>e</span>
23+
<span>r</span>
24+
<span>e</span>
25+
<span>n</span>
26+
<span>c</span>
27+
<span>e</span>
28+
<span> </span>
29+
<span>S</span>
30+
<span>c</span>
31+
<span>h</span>
32+
<span>e</span>
33+
<span>d</span>
34+
<span>u</span>
35+
<span>l</span>
36+
<span>e</span>
37+
</div>
38+
</div>
39+
<FullCalendar
40+
plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}
41+
headerToolbar={{
42+
left: "prev,next today",
43+
center: "title",
44+
right: "dayGridMonth,timeGridWeek,timeGridDay",
45+
}}
46+
initialView="dayGridMonth"
47+
editable={true}
48+
selectable={true}
49+
selectMirror={true}
50+
dayMaxEvents={true}
51+
weekends={weekendsVisible}
52+
select={handleDateSelect}
53+
eventClick={EventDelete}
54+
eventsSet={handleEvents}
55+
/>
56+
</div>
57+
</>
58+
);
59+
60+
function handleWeekendsToggle() {
61+
setWeekendsVisible({ weekendsVisible: !weekendsVisible });
62+
}
63+
64+
function handleDateSelect(selectInfo) {
65+
let title = prompt("Please enter name for your conference event");
66+
let calendarApi = selectInfo.view.calendar;
67+
68+
calendarApi.unselect();
69+
70+
if (title) {
71+
calendarApi.addEvent({
72+
title,
73+
start: selectInfo.startStr,
74+
end: selectInfo.endStr,
75+
allDay: selectInfo.allDay,
76+
});
77+
}
78+
}
79+
80+
function handleEvents(events) {
81+
setCurrentEvents({
82+
currentEvents: events,
83+
});
84+
}
85+
}
86+
87+
export default App;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import React from "react";
2+
3+
export default function EventDelete(doubleClick) {
4+
if (
5+
window.confirm(
6+
`Are you sure you want to delete '${doubleClick.event.title}' event ? `
7+
)
8+
) {
9+
doubleClick.event.remove();
10+
}
11+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import React from "react";
2+
import ReactDOM from "react-dom";
3+
import App from "./components/App";
4+
5+
ReactDOM.render(
6+
<React.StrictMode>
7+
<App />
8+
</React.StrictMode>,
9+
document.getElementById("root")
10+
);

0 commit comments

Comments
 (0)