From 49de3574a3cad32ee909e2f923a84a289ad1f074 Mon Sep 17 00:00:00 2001 From: suvodip ghosh Date: Thu, 25 May 2023 21:42:17 +0530 Subject: [PATCH] search --- data/appSchool-test.db | Bin 0 -> 28672 bytes data/appUser.db | Bin 24576 -> 28672 bytes data/user.csv | 3 + public/favicon.ico | Bin 25931 -> 4286 bytes public/next.svg | 1 - public/vercel.svg | 1 - src/pages/add-school-form-test.jsx | 170 +++++++++++++++++++++++++ src/pages/add-user-form.jsx | 2 +- src/pages/api/addSchool-test.js | 34 +++++ src/pages/api/fileUpload-test.js | 38 ++++++ src/pages/api/fileUpload.js | 6 +- src/pages/api/listSchlools-test.js | 73 +++++++++++ src/pages/api/searchUser.js | 79 ++++++++++++ src/pages/edit-school.jsx | 3 + src/pages/file-upload.jsx | 91 +++++++++++++ src/pages/school-list/schoollist-2.jsx | 96 ++++++++++++++ 16 files changed, 591 insertions(+), 6 deletions(-) create mode 100644 data/appSchool-test.db delete mode 100644 public/next.svg delete mode 100644 public/vercel.svg create mode 100644 src/pages/add-school-form-test.jsx create mode 100644 src/pages/api/addSchool-test.js create mode 100644 src/pages/api/fileUpload-test.js create mode 100644 src/pages/api/listSchlools-test.js create mode 100644 src/pages/api/searchUser.js create mode 100644 src/pages/file-upload.jsx create mode 100644 src/pages/school-list/schoollist-2.jsx diff --git a/data/appSchool-test.db b/data/appSchool-test.db new file mode 100644 index 0000000000000000000000000000000000000000..7a2b6d41974c552845e51b377ad6a53cb81c1cd8 GIT binary patch literal 28672 zcmeHPPfQ!x86Vpau<G7zFB0upRv0!UF70t6Bu36O>)&9V3D`wJQ$DdDC$G_w7{pB!m!g+ zJb*tgsLkh-$uFJt zlST>J$vBdUoSYC}H=oJyNHFs3@QAK2LA-G@AmsPgH3%6= zOh_nAwpJG7ah{Wi0#bs^NoYqFi89hCMHIOyDuOKS8`m*q1fb27Ok70qxWthNvztj# zgyM`YxVJpNIJx|Yy)*OZ67C&#^1 zp^)p{8~GutnS}Q3HV@l^wO9u(yL5MzU3##vkRP(<5q!WtIkWv*#!p%6&7_DydBBvd zgYDpGI%N2j7;Gq!Sm&N)Qse+rvM9kFIE#T3p6bw1bkBV%I56OPq*1=h!{mBB%k3(h zu*qf3haOWWST0_|bPqz#%V2x2)z1ECD7w?DQp}H-;r8FOFSK8zKchdOe@eei-=Ty4 zfBS#y&-we?{@9lA{m=J9-&NmN;btc}3^)up3^)up3^)up3^)u_&w%=s&NGzSjSIL5 z!PpJh_EM~zbIbArrfQ98qOtR$j1D?kLz!u&U$M$%4XcsMcy zf00PwT%gb{93|${*4Y5nML|p&3|$U&Q$18~Xhq41@l+-Yn^*IbfGe9~dJb(!=-Nm$ zG8)bA4zfEUzk_5nnV&kZ7G}ir#d&aKI1(KijtxbJCpYC(j@#;}Q$1(uR8OEj^{ku@ zP+!A66{IeAT!d|JPoaOgT>m>%umv~4)<8%O9BLzlD<&6~Do0mRVJbxMr#|mbrw<@N$s>>e$mLS1b z!M^jvj z97)RfUyrwtC!Y~#rk_DtTU%RMfzR4nptU##@kN~Iu@;>??M&~5gMD1AC^Gs$&=HQF zvgRyd9Y#()-^Jzv8yB<+;hU2Z+8?pWG(qu!s{;XGv;$JF-Wf~K8EkBRNfR1khMyQ1 z53^&@k?0s38IDCqA5P6-+XR!GE=(c)g%sD@_#MY)-eDduD5Q|2#v_c}Wc0}cZY0}cZY z0}cZY0}cZY0}cZY0}cZY0}cZX&Hw}WK!d``>+_s*gBx)ECrKd{ae94RRqW)I*18 z(1Pd=`U2f?uA}2ZAP~IKi}g9y5YIA50#%yOd%{@n(d3cn{GG_P;X(?BK^j`&GVk+uEE?mPAq()Q4pViMcD#v3S_A) zl1Xwl%9Asq*Ip$#Bh~gADi6$1cdGX8~oKYA6*!GzB|5|1XUi?qq5KMjqeQMZXU|ixNF+qz`8G2^ zsf#e8nSnqcOto5qYKXMNjcpE=VBO7cp4Pg3c(RP=_e8Hw-JZUCQ%t87fdjm!@~ilp zIT|MRXQ%|lOtjyoAN#l4c6~Xo()t|c|NTwh^?d5N=l+%Z71vK(F1V@EM9)$`*7B&d ztrDO`taVlbK+y0Nkoj$ufYPz_k?fcBDHYk5`z+N~pn1<$323dY65xK{Ajeh-(8#IE zp_AlP!1IX?jJ8z*G+zsbAjtKPzsr)7zqw5EcC9OBeNmVz%4=*}g&lnZD`&CA{zd zy|#0{_q<WylzauE?e6u{TsvI8)tRlxm0CRow za_sRo1 zv4I%OS%Ec*Q*|i~;3DMG>@jH&6h?MyrH40vof#x zcdU5K##`S&K&7{>a87t^r>uC)^wc*TQT@sCaOym^6DKydx2!xgz}Uv~f3NQ&is9OS z*M5WkJw56FxxWoo0etkbruI%b4g(GY4g(GY4g(GY4g(GY4g)o30G=m#t}2yvEH3a_)X$)edqiHG?&_J zH>0fE8@oBRDMWP}Zw)gve!B#gqQhIm@c$MfVFyY2lJrC07#`L%D#)128Si%DRj>zN c6?Unf6K}oRt-4DaZo>%Xs;e}>6Iaat4@(n0IRF3v literal 0 HcmV?d00001 diff --git a/data/appUser.db b/data/appUser.db index ed60910d3814eadbc0a4f8422633df9c69e2f0d2..90783ddf1aa73114bd08e47118d9791ca3eabe2e 100644 GIT binary patch delta 665 zcmYLGO=uHA7@e8T?k2mLoh%{S#E>QnJt^v@+LK6{wim&li@zw+Xwx)ln~;R0Hrh6G zu@*!dMvxxrO)ou3dMgD%vA14CdXjqapy0tn73o30ED0U>m^a_N_n7ZZ^Brz}#j8c)BdeGCiv)7(T5~pRLgvIn|O|))3m$<(K zgnm)HTO@Nuu$+^4aMtx3zr6tT8JGTgtS0y!pwmK64$?eGpTa(MWC5AG7Lz@TV-&*i zX?uuejSohOexzyt8^5lXwLSQ~ZLKr9ulGj6yf94Su{e#=pl#D2Wi-ebJ7JnpYFBIZOmR9>5v%8p k`<+XfisLxYtJlT9bVvklbeyDKvQmr_cMgb_a18L}f18-SQUCw| delta 495 zcmZp8z}Rqrae_4KY6b=dwuuV%K!#qt^v0CA{MG!;%1g)EKbhI&(C4v;9?eKEGrK$rmH!Cg<6hPA)LzncU!{ zJ6XV#XY>8g4rX4?b_Onp!y0)DCr^wPo7@mt&da3$7v(9KtmxFk%e50Bk`EM-n_S}y zF^=C@mzUd?0TeVKP@XsWLy*K|{pffu?z=EOll!8l@$!_zxQ)Cy5UU)@d3gokqCDAP zgLC{q23zv-u7b<(X2G4t=L{F+$pkx%?+!vF1Knxd{0VTUP5u~H35p|_hlSICrcMR` Dj7)GS diff --git a/data/user.csv b/data/user.csv index ea1aa68..d32a2b8 100644 --- a/data/user.csv +++ b/data/user.csv @@ -6,3 +6,6 @@ name 3,published,,parent,,Apr,2023-05-14,2024-05-13,,IK2,,70000000011,,Feb,Sept, name 2,published,,parent,,Apr,2023-05-14,2024-05-13,,IK2,,70000000011,,Feb,Sept,Oct,Jul,2@email.com,IN,WB,Habra,sample road near landmark,individual name 6,published,,parent,,Jun,2023-05-14,2024-05-13,,IK3,,70000000011,,Mar,Sept,Jul,Apr,6@email.com,BD,55,Lalmonirhat,sample road near landmark,individual teacher name,published,,teacher,,Apr,2023-05-15,2024-05-13,,IK2,,99999 99933,,Mar,0,0,0,t1@email.com,IN,WB,Barasat,,individual +suvankar,published,,teacher,,Apr,2023-05-15,2024-05-13,,IK2,,0,,Mar,0,0,0,suvvv@email.com,IN,WB,Barasat,,individual +teacher name,published,,teacher,,Apr,2023-05-15,2024-05-13,,IK2,,99999 99933,,Mar,0,0,0,t1@email.com,IN,WB,Barasat,,individual +Name 11,published,,parent,,Feb,2023-05-14,2024-05-13,,IK2,,70000000011,,Jan,Feb,Mar,Jul,1@email.com,IN,WB,Habra,sample road near landmark,individual diff --git a/public/favicon.ico b/public/favicon.ico index 718d6fea4835ec2d246af9800eddb7ffb276240c..be440219fb277ef2ac838f51355ffd66030f1f2b 100644 GIT binary patch literal 4286 zcmeHLX-iaL6u$j~KJ_V3C@9(>2wJ2a0xKH8O=0} zG%YpDjLMBrOKq_%EGyTV+~z!;b6+k>gVjva^kvTQ&K=Hs&-gvCAj$$d}GyKU_9w(NDj7I0e|<^2M9fV0CBMJv2+ii@&$0I5ZIJNAlYDx zNFkiL2|RlXcQpiP7C>?k9&9ziUvrSq*RLYG&43r6h!db?z zZw3}K{+BMbV_|&Z&SCh>z2K+a1*UB#L|-7pq!OlYA)LSESp3@+z#OjWwfn3s)|9Cj z@Yu@yHv-MAz=S;PkN6CHyzyFh>l8Ypg)U*d(nny z(Ptk)dcKHj)X#PQ*Jkbk(o29@JnN>0s@W@=aJI#BjmHM5Sts-0O0jb@NJxXO|I`Am zNh}b4a`2hxj7*ZVfl2(^L+0X)Fhab^x%e{o8{Y#>A5`ymaUZzM#ej=}KWD)BAK-so Fe*hFlKYaiI literal 25931 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 LrJugUA?W`A8`#=m diff --git a/public/next.svg b/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg deleted file mode 100644 index d2f8422..0000000 --- a/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/pages/add-school-form-test.jsx b/src/pages/add-school-form-test.jsx new file mode 100644 index 0000000..febda55 --- /dev/null +++ b/src/pages/add-school-form-test.jsx @@ -0,0 +1,170 @@ +import NavBar from '../components/NavBar' +import { signIn, signOut, useSession } from 'next-auth/react' +import { useId, useState, useEffect, useMemo } from 'react'; +import Select from 'react-select' +import countryList from 'react-select-country-list' +import 'react-phone-number-input/style.css' +import PhoneInput from 'react-phone-number-input' + +export default function AddSchool() { + const uploadToServer = async (event) => { + const body = new FormData(); + body.append("file", agreement.files[0]); + body.append("fName", `${router.query.school}.pdf`); + const response = await fetch("/api/fileUpload-test", { + method: "POST", + body + }); + }; + const [countryValue, setCountryValue] =useState('') + const options = useMemo(() => countryList().getData(), []) + const [phoneValue, setphoneValue] = useState() + const [allStates, setAllStates] = useState([]) + const [allCities, setAllCities] = useState([]) + const { data: session } = useSession() + + const handleSelectAllStates = stateCode => { + setAllCities([]) + fetch(`https://api.siliconpin.com/v3/list/country/city/?country=${countryValue.value}&state=${stateCode.value}`) + .then(res => res.json()) + .then(data => { + // console.log("handleSelectAllStates:", data, options) + let newData = data && data.length > 0 && data.map(n => { + return { + label: n.name, + value: n.name + } + }) + setAllCities(newData) + }) + } + const selectCountry = countryValue => { + setAllStates([]) + fetch(`https://api.siliconpin.com/v3/list/country/state/?country=${countryValue.value}`) + .then(res => res.json()) + .then(data => { + // console.log("countryValue:", data, options) + let newData = data && data.length > 0 && data.map(n => { + return { + label: n.name, + value: n.iso2 + } + }) + setAllStates(newData) + setAllCities([]) + }) + setCountryValue(countryValue) + } + // console.log(phoneValue) + // const selectCountry = countryValue => { + // setCountryValue(countryValue) + // } + const handleSubmit = async (event) => { + event.preventDefault() + const data = { + // "status":"published", + name: event.target.name.value, + location: event.target.location.value, + expiry: event.target.expiry.value, + status: event.target.status.value, + annual: event.target.annual.value, + toddlers: event.target.toddlers.value, + address: event.target.address.value, + interakto: event.target.interakto.value, + email: event.target.email.value, + pin: event.target.pin.value, + // phone: event.target.phone.value, + // email: event.target.email.value, + + } + const JSONdata = JSON.stringify(data) + console.log(data) + const endpoint = '/api/addSchool-test' + const options = { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSONdata, + } + const response = await fetch(endpoint, options) + + const result = await response.json() + // alert(`Is this your full name: ${result.data}`) + alert(`School Saved`) + } + if (session) { + return ( +
+
+ +
+
+
+ +

School Registration Form

+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+
+
+ + +
+
+
+
+
+ ) + } + return ( + <> + Not signed in
+ + + ) + + } \ No newline at end of file diff --git a/src/pages/add-user-form.jsx b/src/pages/add-user-form.jsx index cdf6860..9f12c55 100644 --- a/src/pages/add-user-form.jsx +++ b/src/pages/add-user-form.jsx @@ -179,7 +179,7 @@ export default function addUserForm() {
- + diff --git a/src/pages/api/addSchool-test.js b/src/pages/api/addSchool-test.js new file mode 100644 index 0000000..604c7ff --- /dev/null +++ b/src/pages/api/addSchool-test.js @@ -0,0 +1,34 @@ +export default function handler(req, res) { + const sqlite3 = require('sqlite3').verbose(); + + // console.log(req.body) + // Open a new database connection + let name, location, expiry, status, toddlers, address, annual, interakto, email, pin = ""; + + // if(req.body.name) name =req.body.name; + // if(req.body.status) status =req.body.status; + // if(req.body.status) status ="published"; + if(req.body.name) name =req.body.name; + if(req.body.location) location =req.body.location; + if(req.body.expiry) expiry =req.body.expiry; + if(req.body.status) status =req.body.status; + if(req.body.toddlers) toddlers =req.body.toddlers; + if(req.body.address) address =req.body.address; + if(req.body.annual) annual =req.body.annual; + if(req.body.state) state =req.body.state; + if(req.body.interakto) interakto =req.body.interakto; + if(req.body.email) email =req.body.email; + if(req.body.pin) pin =req.body.pin; + // if(req.body.usage_expiry) usage_expiry =req.body.usage_expiry; + console.log(address) + const db = new sqlite3.Database('data/appSchool-test.db'); + db.run(`INSERT INTO school (sname, city, usage_expiry, status, toddlers, address, annual, interakto, email, pin ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ? )`, [ name, location, expiry, status, toddlers, address, annual, interakto, email, pin ], + function(err) { + if (err) { + return console.log(err.message); + } + } + ); + db.close(); + res.status(200).json({ msg: 'ok' }); + } \ No newline at end of file diff --git a/src/pages/api/fileUpload-test.js b/src/pages/api/fileUpload-test.js new file mode 100644 index 0000000..c19e1cf --- /dev/null +++ b/src/pages/api/fileUpload-test.js @@ -0,0 +1,38 @@ +import formidable from "formidable"; +import fs from "fs"; + +export const config = { + api: { + bodyParser: false + } +}; + +const post = async (req, res) => { + const form = new formidable.IncomingForm(); + form.parse(req, async function (err, fields, files) { + console.log(fields) + await saveFile(files.file,fields.fName? fields.fName:files.file.originalFilename ); + return res.status(201).send(""); + }); +}; + +const saveFile = async (file,fName) => { + console.log(file.filepath) + console.log(fName) + const data = fs.readFileSync(file.filepath); + fs.writeFileSync(`./public/uploaded/${fName}`, data); + fs.unlinkSync(file.filepath); + return; +}; + +export default (req, res) => { + req.method === "POST" + ? post(req, res) + : req.method === "PUT" + ? console.log("PUT") + : req.method === "DELETE" + ? console.log("DELETE") + : req.method === "GET" + ? console.log("GET") + : res.status(404).send(""); +}; diff --git a/src/pages/api/fileUpload.js b/src/pages/api/fileUpload.js index 843ab77..c19e1cf 100644 --- a/src/pages/api/fileUpload.js +++ b/src/pages/api/fileUpload.js @@ -10,15 +10,15 @@ export const config = { const post = async (req, res) => { const form = new formidable.IncomingForm(); form.parse(req, async function (err, fields, files) { - // console.log(fields) + console.log(fields) await saveFile(files.file,fields.fName? fields.fName:files.file.originalFilename ); return res.status(201).send(""); }); }; const saveFile = async (file,fName) => { - // console.log(file.filepath) - // console.log(fName) + console.log(file.filepath) + console.log(fName) const data = fs.readFileSync(file.filepath); fs.writeFileSync(`./public/uploaded/${fName}`, data); fs.unlinkSync(file.filepath); diff --git a/src/pages/api/listSchlools-test.js b/src/pages/api/listSchlools-test.js new file mode 100644 index 0000000..1978e87 --- /dev/null +++ b/src/pages/api/listSchlools-test.js @@ -0,0 +1,73 @@ +import csv from 'csv-parser'; +import fs from 'fs'; +import sqlite3 from 'sqlite3'; + +export default function handler(req,res) { + +console.log(req.body.school) +// const { +// query: { name, keyword }, +// method, +// } = req; +// console.log(name, keyword, method); + + const DB_NAME = 'data/appSchool-test.db'; + const TABLE_NAME = 'school'; + + // Open a connection to the SQLite database + const db = new sqlite3.Database(DB_NAME); + + const query = `SELECT * FROM ${TABLE_NAME}`; + + function getAllRows(tableName) { + return new Promise((resolve, reject) => { + const sql = `SELECT * FROM ${tableName}`; + db.all(sql, [], (err, rows) => { + if (err) { + reject(err); + return; + } + const data = rows; + resolve(data); + }); + }); + }; + async function doSomething() { + try { + const returnData = await getAllRows(TABLE_NAME); + res.setHeader('Content-Type', 'application/json') + res.status(200).json(returnData) + // console.log(data); + } catch (err) { + console.error(err); + } + } + + doSomething(); +// const returnData = getAllRows('user'); +// console.log(getAllRows('user')); +// const returnData= db.run('SELECT * FROM user'); + +// fs.createReadStream('data/user.csv') +// .pipe(csv()) +// .on('data', (data) => { +// const values = Object.values(data); +// const placeholders = values.map(() => '?').join(','); +// const sql = `INSERT INTO ${TABLE_NAME} (${Object.keys(data).join(',')}) VALUES (${placeholders})`; +// db.run(sql, values, (err) => { +// if (err) { +// console.error(err); +// } +// }); +// }) +// .on('end', () => { +// console.log(`Data inserted successfully into table ${TABLE_NAME}`); + +// // Close the database connection +// db.close(); +// }); + + + +} + diff --git a/src/pages/api/searchUser.js b/src/pages/api/searchUser.js new file mode 100644 index 0000000..a0fb38d --- /dev/null +++ b/src/pages/api/searchUser.js @@ -0,0 +1,79 @@ +import csv from 'csv-parser'; +import fs from 'fs'; +import sqlite3 from 'sqlite3'; + +export default function handler(req,res) { + + // const query = req.query; + const { searchQry, limit } = req.query; + console.log(searchQry) +// const { +// query: { name, keyword }, +// method, +// } = req; +// console.log(name, keyword, method); + + const DB_NAME = 'data/appUser.db'; + const TABLE_NAME = 'user'; + + // Open a connection to the SQLite database + const db = new sqlite3.Database(DB_NAME); + + const query = `SELECT * FROM ${TABLE_NAME}`; + + function getAllRows(tableName, searchQry, pageSize) { + const sql = `SELECT * FROM ${tableName} WHERE uname LIKE '%${searchQry}%'`; + + return new Promise((resolve, reject) => { + db.all(sql, [], (err, rows) => { + if (err) { + reject(err); + return; + } + + resolve(rows); + }); + // let tData={data:rows,page:7} + // const data = tData; + // resolve(data); + }); + }; + async function doSomething() { + try { + const returnData = await getAllRows('user',searchQry,limit); + res.setHeader('Content-Type', 'application/json') + res.status(200).json(returnData) + // console.log(data); + } catch (err) { + console.error(err); + } + } + + doSomething(); +// const returnData = getAllRows('user'); +// console.log(getAllRows('user')); +// const returnData= db.run('SELECT * FROM user'); + +// fs.createReadStream('data/user.csv') +// .pipe(csv()) +// .on('data', (data) => { +// const values = Object.values(data); +// const placeholders = values.map(() => '?').join(','); +// const sql = `INSERT INTO ${TABLE_NAME} (${Object.keys(data).join(',')}) VALUES (${placeholders})`; +// db.run(sql, values, (err) => { +// if (err) { +// console.error(err); +// } +// }); +// }) +// .on('end', () => { +// console.log(`Data inserted successfully into table ${TABLE_NAME}`); + +// // Close the database connection +// db.close(); +// }); + + + +} + diff --git a/src/pages/edit-school.jsx b/src/pages/edit-school.jsx index c3e74f4..fd8aec5 100644 --- a/src/pages/edit-school.jsx +++ b/src/pages/edit-school.jsx @@ -17,6 +17,8 @@ export default function EditSchool() { method: "POST", body }); + + }; const uploadCsv = async (event) => { // alert('p') @@ -166,6 +168,7 @@ export default function EditSchool() {
+
diff --git a/src/pages/file-upload.jsx b/src/pages/file-upload.jsx new file mode 100644 index 0000000..055825d --- /dev/null +++ b/src/pages/file-upload.jsx @@ -0,0 +1,91 @@ +import { signIn, signOut, useSession } from 'next-auth/react' +import {useId, useState, useEffect, useMemo} from 'react'; +import { useRouter } from 'next/router' +export default function fileUpload() { + const [school, setSchool] = useState([]); + const { data: session} = useSession() + const fetchData = async () => { + const response = await fetch("/api/listSchlools-test"); + const data = await response.json(); + + return setSchool(data); + } +// console.log(school) + useEffect(() => { + fetchData(); + },[]) + const uploadToServer = async (event) => { + const body = new FormData(); + body.append("file", agreement.files[0]); + body.append("fName", `${+new Date()}.pdf`); + const response = await fetch("/api/fileUpload-test", { + method: "POST", + body + }); + }; + function fInput() { + let x = document.getElementById('myInput').value + document.getElementById('print').innerHTML = "You Typed :-" + x; + } + var dt = Date(); + var unix = Math.floor(+new Date()/1000); + function myFunction() { + document.getElementById('demo').innerHTML = "Time :-"+dt+ " & Unix Time :-"+unix; + document.getElementById('demo').style.color = "red" + } + // console.log(+new Date()) + // console.log(Math.floor(Date.now() / 1000)) + return ( +
+
+
+ +

+
+ + + +

+ +
+
+
+
+ + + + + + + + + + + + + + {school.map(data => + + + + + + + + )} + +
IDSchool NameToddlersCityInput
{data.id}{data.sname}{data.toddlers}{data.city} +
+   +   + +
+
+
+ +
+ +
+
+ ) +} \ No newline at end of file diff --git a/src/pages/school-list/schoollist-2.jsx b/src/pages/school-list/schoollist-2.jsx new file mode 100644 index 0000000..b8cf988 --- /dev/null +++ b/src/pages/school-list/schoollist-2.jsx @@ -0,0 +1,96 @@ +// import SchoolEditForm from '../../components/SchoolEditForm' +import { signIn, signOut, useSession } from 'next-auth/react' +import React, { useEffect, useState } from "react"; +import Image from 'next/image' +import { Inter } from 'next/font/google' +const inter = Inter({ subsets: ['latin'] }) +import NavBar from '../../components/NavBar' +export default function Modal() { + const [school, setSchool] = useState([]); + const { data: session} = useSession() +const fetchData = async () => { + const response = await fetch("/api/listSchlools-test"); + const data = await response.json(); + return setSchool(data); + } + console.log(school) + useEffect(() => { + fetchData(); + },[]) + +if (session) { + return ( +
+
+ +
+
+
+ + + + +
+ {/* +   + Add School + */} +
+
+ + + + + + + + + + + + + + + + + + {school.map(data=> + + + + + {/* */} + + + + + + + + + + )} + + {/* */} +
NameEmailLocationStatusExpiryToddlersInteraktoAddressPinAnual + Edit +
{data.sname}{data.email}{data.city}{data.city}{data.status}{data.usage_expiry}{data.toddlers}{data.interakto}{data.address}{data.pin}{data.annual} + + + +
+
+
+
+
+ ) +} +{/* */} + return ( + <> + Not signed in
+ + + ) + +}