view-screenings
Screenings can be viewed and filtered by date or type
localhost:3000/screenings
Screening data is available via Supabase client import { supabase } from "@utils/supabaseClient";
src/pages/screenings.js
async function getScreenings(newValue) {
if (newValue.endDate == newValue.startDate) {
try {
setLoading(true);
const { from, to } = getFromAndTo();
let { data, error, status } = await supabase
.from("screenings")
.select("*")
.eq("organisation", organisation)
.lte("created_at", newValue.endDate + " 23:59:59")
.gte("created_at", newValue.startDate + " 00:00:00")
.order("created_at", { ascending: false });
if (error && status !== 406) {
throw error;
}
if (data) {
setPage(page + 1);
setUserData(data);
}
} catch (error) {
console.log(error);
} finally {
setLoading(false);
}
} else {
try {
setLoading(true);
const { from, to } = getFromAndTo();
let { data, error, status } = await supabase
.from("screenings")
.select("*")
.eq("organisation", organisation)
.lte("created_at", newValue.endDate)
.gte("created_at", newValue.startDate)
.range(from, to)
.order("created_at", { ascending: false });
if (error && status !== 406) {
throw error;
}
if (data) {
setPage(page + 1);
setUserData(data);
}
} catch (error) {
console.log(error);
} finally {
setLoading(false);
}
}
}
Get screenings based on filter type
src/pages/screenings.js
// get screenings / filter type
async function getScreeningsByType(type) {
try {
setLoading(true);
let { data, error, status } = await supabase
.from("screenings")
.select("*")
.eq("organisation", organisation)
.filter("type", "in", '("' + type + '")')
.order("created_at", { ascending: false });
if (error && status !== 406) {
throw error;
}
if (data) {
setUserData(data);
}
} catch (error) {
console.log(error);
} finally {
setLoading(false);
}
}
Get total screenings
src/pages/screenings.js
async function getScreeningsCount() {
try {
setLoading(true);
await supabase
.from("screenings")
.select("*", { count: "exact", head: true })
.eq("organisation", organisation)
.then((res) => {
setTotalScreenings(res.count);
});
} catch (error) {
console.log("error");
console.log(error);
} finally {
setLoading(false);
}
}
Download screenings
src/pages/screenings.js
async function getScreeningsCount() {
async function getScreeningsDownload() {
if (value.endDate == value.startDate) {
try {
setLoading(true);
const { from, to } = getFromAndTo();
let { data, error, status } = await supabase
.from("screenings")
.select("*")
.eq("organisation", organisation)
// .eq("created_at", newValue.startDate)
.lte("created_at", value.endDate + " 23:59:59")
.gte("created_at", value.startDate + " 00:00:00")
// .range(from, to)
.order("created_at", { ascending: false });
if (error && status !== 406) {
throw error;
}
if (data) {
setUserDownloadData(data);
}
} catch (error) {
console.log(error);
// console.log("user not logged in");
} finally {
setLoading(false);
setOpen(true);
}
} else {
try {
setLoading(true);
const { from, to } = getFromAndTo();
let { data, error, status } = await supabase
.from("screenings")
.select("*")
.eq("organisation", organisation)
.lte("created_at", value.endDate)
.gte("created_at", value.startDate)
// .range(from, to)
.order("created_at", { ascending: false });
if (error && status !== 406) {
throw error;
}
if (data) {
setUserDownloadData(data);
}
} catch (error) {
console.log(error);
// console.log("user not logged in");
} finally {
setLoading(false);
setOpen(true);
}
}
}