Skip to content

Commit a9534db

Browse files
committed
lint fix
1 parent ca27e7a commit a9534db

File tree

6 files changed

+101
-44
lines changed

6 files changed

+101
-44
lines changed

.env.prod.example

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# FRONTEND
22
APP_ENV=PRODUCTION
3-
NEXT_PUBLIC_BACKEND_URL="https://xxxx.codersforcauses.org/api"
3+
NEXT_PUBLIC_BACKEND_URL="https://lonkedin.mythosmc.com/api"
44

55

66
# BACKEND
77
APP_NAME=DjangoAPI
88
API_SECRET_KEY= CHANGE THIS TO A RANDOM STRING
9-
API_ALLOWED_HOSTS=".localhost 127.0.0.1 [::1] .codersforcauses.org"
9+
API_ALLOWED_HOSTS=".localhost 127.0.0.1 [::1] .mythosmc.com"
1010

1111
DJANGO_SUPERUSER_PASSWORD= CHANGE THIS TO A RANDOM STRING
1212
DJANGO_SUPERUSER_EMAIL= CHANGE THIS TO A VALID EMAIL
1313
DJANGO_SUPERUSER_USERNAME= CHANGE THIS TO A VALID USERNAME
1414

15-
FRONTEND_URL="https://xxxx.codersforcauses.org/"
15+
FRONTEND_URL="https://lonkedin.mythosmc.com/"

client/src/components/timetable_task.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ export function resizeAndPositionTimetableTasks() {
141141
const tasks = document.getElementsByClassName("timetable-task");
142142
for (let i = 0; i < tasks.length; i++) {
143143
const task = tasks[i];
144-
resizeAndPositionTimetableTask(task);
144+
resizeAndPositionTimetableTask(task as HTMLElement);
145145
}
146146
}
147147

client/src/components/ui/focus/timeDisplay.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ export default function TimeDisplay({
2222
const [Hours, Mins, Sec] = time.split(":").map(Number);
2323

2424
const d = new Date();
25-
const time_serial = Hours * 60 * 60 + Mins * 60 + Sec;
26-
var day_diff = ((day - d.getDay() + 8) % 8) * 24 * 60 * 60
25+
const time_serial = Hours * 60 * 60 + Mins * 60 + Sec;
26+
const day_diff = ((day - d.getDay() + 8) % 8) * 24 * 60 * 60;
2727

2828
const cur_time =
2929
d.getHours() * 60 * 60 + d.getMinutes() * 60 + d.getSeconds();

client/src/components/ui/focus/upcomingTasks.tsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,15 @@ function serializeTime(time: string) {
2222
return Hours * 60 * 60 + Mins * 60 + Sec;
2323
}
2424

25-
export default function UpcomingTasks({ tasks, times, refresh }: { tasks: Task[], times:Time[], refresh : Boolean}) {
25+
export default function UpcomingTasks({
26+
tasks,
27+
times,
28+
refresh,
29+
}: {
30+
tasks: Task[];
31+
times: Time[];
32+
refresh: boolean;
33+
}) {
2634
const [upcomingTimes, setUpcomingTimes] = useState<Time[]>([]);
2735

2836
useEffect(() => {
@@ -55,12 +63,12 @@ export default function UpcomingTasks({ tasks, times, refresh }: { tasks: Task[]
5563
<div className="scrollbar h-[285px] w-96 overflow-y-auto overflow-x-hidden">
5664
{upcomingTimes.map((time: Time, index) => (
5765
<>
58-
<TaskDisplay
59-
task={tasks.filter((task) => task.id === time.task)[0]}
60-
time={time}
61-
key={time.id}
62-
current={index===0}
63-
/>
66+
<TaskDisplay
67+
task={tasks.filter((task) => task.id === time.task)[0]}
68+
time={time}
69+
key={time.id}
70+
current={index === 0}
71+
/>
6472
</>
6573
))}
6674
</div>

client/src/pages/focus.tsx

Lines changed: 76 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1+
import { useRouter } from "next/router";
12
import React, { useEffect, useState } from "react";
23

34
import CurrentTaskTitle from "@/components/ui/focus/currentTaskTitle";
45
import TimeDisplay from "@/components/ui/focus/timeDisplay";
56
import UpcomingTasks from "@/components/ui/focus/upcomingTasks";
6-
import { useRouter } from "next/router";
77

88
interface Time {
99
id: number;
@@ -77,7 +77,6 @@ const CountdownTimer = () => {
7777
const result = await tasksFetch.json();
7878
console.log("tasks: ", result);
7979
setTasks(result);
80-
8180
} catch (error) {
8281
console.error(error);
8382
}
@@ -87,20 +86,7 @@ const CountdownTimer = () => {
8786
}, [router]);
8887

8988
useEffect(() => {
90-
var task_times : Time[] = [];
91-
for (let index = 0; index < tasks.length; index++) {
92-
const task = tasks[index];
93-
for (let i = 0; i < task.times.length; i++) {
94-
task_times = task_times.concat(task.times[i])
95-
console.log("new time: ", task.times[i]);
96-
}
97-
}
98-
setTimes(task_times);
99-
console.log("times: ", task_times);
100-
getCurrentTask(task_times);
101-
}, [tasks])
102-
103-
function getCurrentTask(ts: Time[]) {
89+
function getCurrentTask(ts: Time[]) {
10490
let upcomingTimes: Time[];
10591

10692
const d = new Date();
@@ -110,15 +96,18 @@ const CountdownTimer = () => {
11096

11197
// filter out finished tasks
11298
upcomingTimes = ts.filter((time) => {
113-
return !(cur_d == time.day && serializeTime(time.end_time) <= cur_time + 10);
99+
return !(
100+
cur_d == time.day && serializeTime(time.end_time) <= cur_time + 10
101+
);
114102
});
115103

116104
// sort by start time
117105
upcomingTimes = upcomingTimes.sort((a, b) => {
118106
return (
119107
serializeTime(a.start_time) +
120108
((a.day + 8 - cur_d) % 8) * 24 * 60 * 60 -
121-
(serializeTime(b.start_time) + ((b.day + 8 - cur_d) % 8) * 24 * 60 * 60)
109+
(serializeTime(b.start_time) +
110+
((b.day + 8 - cur_d) % 8) * 24 * 60 * 60)
122111
);
123112
});
124113

@@ -129,9 +118,11 @@ const CountdownTimer = () => {
129118
upcomingTimes[0].day == cur_d
130119
) {
131120
setCurrentTime(upcomingTimes[0]);
132-
133-
const cur_task = tasks.filter((task) => task.id === upcomingTimes[0]?.task);
134-
console.log(tasks, cur_task)
121+
122+
const cur_task = tasks.filter(
123+
(task) => task.id === upcomingTimes[0]?.task,
124+
);
125+
console.log(tasks, cur_task);
135126
setCurrentTask(cur_task[0]);
136127
} else {
137128
setCurrentTime(null);
@@ -144,6 +135,67 @@ const CountdownTimer = () => {
144135
}
145136
}
146137

138+
let task_times: Time[] = [];
139+
for (let index = 0; index < tasks.length; index++) {
140+
const task = tasks[index];
141+
for (let i = 0; i < task.times.length; i++) {
142+
task_times = task_times.concat(task.times[i]);
143+
console.log("new time: ", task.times[i]);
144+
}
145+
}
146+
setTimes(task_times);
147+
console.log("times: ", task_times);
148+
getCurrentTask(task_times);
149+
}, [tasks]);
150+
151+
function getCurrentTask(ts: Time[]) {
152+
let upcomingTimes: Time[];
153+
154+
const d = new Date();
155+
const cur_time =
156+
d.getHours() * 60 * 60 + d.getMinutes() * 60 + d.getSeconds();
157+
const cur_d = d.getDay();
158+
159+
// filter out finished tasks
160+
upcomingTimes = ts.filter((time) => {
161+
return !(
162+
cur_d == time.day && serializeTime(time.end_time) <= cur_time + 10
163+
);
164+
});
165+
166+
// sort by start time
167+
upcomingTimes = upcomingTimes.sort((a, b) => {
168+
return (
169+
serializeTime(a.start_time) +
170+
((a.day + 8 - cur_d) % 8) * 24 * 60 * 60 -
171+
(serializeTime(b.start_time) + ((b.day + 8 - cur_d) % 8) * 24 * 60 * 60)
172+
);
173+
});
174+
175+
// logic for if there are no tasks currently or at all
176+
if (upcomingTimes.length > 0) {
177+
if (
178+
serializeTime(upcomingTimes[0].start_time) < cur_time &&
179+
upcomingTimes[0].day == cur_d
180+
) {
181+
setCurrentTime(upcomingTimes[0]);
182+
183+
const cur_task = tasks.filter(
184+
(task) => task.id === upcomingTimes[0]?.task,
185+
);
186+
console.log(tasks, cur_task);
187+
setCurrentTask(cur_task[0]);
188+
} else {
189+
setCurrentTime(null);
190+
setCurrentTask(null);
191+
setNextTime(upcomingTimes[0]);
192+
}
193+
} else {
194+
setCurrentTime(null);
195+
setNextTime(null);
196+
}
197+
}
198+
147199
function onTaskEnd(status: string) {
148200
if (status == "finished") {
149201
setRefresh(!refresh);
@@ -152,7 +204,7 @@ const CountdownTimer = () => {
152204
}
153205

154206
return (
155-
<div className="h-[calc(100vh-64px)] bg-slate-800 font-inter flex w-full flex-col items-center justify-center">
207+
<div className="flex h-[calc(100vh-64px)] w-full flex-col items-center justify-center bg-slate-800 font-inter">
156208
<div className="flex flex-col items-center justify-start rounded-xl bg-slate-800 p-8 font-mono text-white">
157209
<p className="p-4 font-inter text-4xl font-semibold">Focus</p>
158210
<div className="flex flex-row justify-center">
@@ -194,16 +246,14 @@ const CountdownTimer = () => {
194246
<div className="p-4 font-inter text-2xl font-semibold">
195247
tasks
196248
</div>
197-
<UpcomingTasks tasks={tasks} times={times} refresh={refresh}/>
249+
<UpcomingTasks tasks={tasks} times={times} refresh={refresh} />
198250
</div>
199251
) : (
200252
<></>
201253
)}
202254
</div>
203255
</div>
204-
<div className="p-8">
205-
206-
</div>
256+
<div className="p-8"></div>
207257
</div>
208258
</div>
209259
);

client/src/pages/tasks.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ export default function TasksPage() {
3232
const router = useRouter();
3333
const [userId, setUserId] = useState<number | null>(null);
3434
const [items, setItems] = useState<Item[]>([]);
35-
const [loading, setLoading] = useState<boolean>(true);
3635
const [availableTopics, setAvailableTopics] = useState<Topic[]>([]);
3736

3837
const [showAddTask, setShowAddTask] = useState(false);
@@ -78,7 +77,7 @@ export default function TasksPage() {
7877
} catch (err) {
7978
console.error("Failed to load tasks:", err);
8079
} finally {
81-
setLoading(false);
80+
//setLoading(false);
8281
}
8382
}
8483
fetchData();
@@ -166,9 +165,9 @@ export default function TasksPage() {
166165
<div className="content-container min-w-screen relative flex min-h-[calc(100vh-64px)] flex-row items-center justify-center bg-slate-800">
167166
<div className="task-list-container h-full w-full">
168167
<div className="task-list-content flex h-full w-full flex-col items-center justify-center rounded-lg p-3 text-slate-200">
169-
<h1 className="task-list-title border-b-slate-400 p-3 text-center text-4xl font-bold text-slate-100">
170-
Tasks
171-
</h1>
168+
<h1 className="task-list-title border-b-slate-400 p-3 text-center text-4xl font-bold text-slate-100">
169+
Tasks
170+
</h1>
172171
<div className="task-list-bottom flex w-full flex-row justify-center gap-6">
173172
<div
174173
className="task-list-wrapper flex w-fit flex-row justify-center"

0 commit comments

Comments
 (0)