Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 12 additions & 13 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,29 @@ name: CI/CD

on:
push:
branches: [ main ]
branches: [main]
pull_request:
branches: [ main ]
branches: [main]

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [12.x]

steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Checkout repository
uses: actions/checkout@v2

- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

- name: Install dependencies
run: npm install
- name: Install dependencies
run: npm install

- name: Build
run: npm run build
- name: Build
run: npm run build
11 changes: 6 additions & 5 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" type="image/png" href="./images/codedigger-logo-64px.png" />
<link
rel="icon"
type="image/png"
href="./images/codedigger-logo-64px.png"
/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="codedigger"
/>
<meta name="description" content="codedigger" />

<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />

Expand Down
18 changes: 13 additions & 5 deletions src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ import mainUpsolve from './pages/Upsolve/mainUpsolve'
import { atcoder, codechef, codeforces } from './actions/upsolve.actions'
import Navbar from './pages/Navbar'


const { Header, Footer, Content } = Layout

//react context
Expand Down Expand Up @@ -127,7 +126,7 @@ const App = () => {
</Menu>
</Header> */}

<Navbar/>
<Navbar />
<Content>
<Router>
<Routes>
Expand All @@ -138,11 +137,20 @@ const App = () => {
<Route path="/login" element={<Login />} />
<Route path="/register" element={<Register />} />
{/* Login/Registration */}
<Route path="/upsolve/codeforces" element={mainUpsolve("virtualData",codeforces,"codeforces")} />
<Route
path="/upsolve/codeforces"
element={mainUpsolve('virtualData', codeforces, 'codeforces')}
/>
{/* Codeforces upsolve */}
<Route path="/upsolve/atcoder" element={mainUpsolve("PracticeData", atcoder, "atcoder")} />
<Route
path="/upsolve/atcoder"
element={mainUpsolve('PracticeData', atcoder, 'atcoder')}
/>
{/* Atcoder Upsolve */}
<Route path="/upsolve/codechef" element={mainUpsolve("simpleData", codechef, "codechef")} />
<Route
path="/upsolve/codechef"
element={mainUpsolve('simpleData', codechef, 'codechef')}
/>
{/* Codechef upsolve */}
<Route path="/" element={<Homepage />} /> {/* Homepage */}
<Route path="/profile" element={<Profile />} />
Expand Down
100 changes: 51 additions & 49 deletions src/helpers/Upsolve/PracticeApi.js
Original file line number Diff line number Diff line change
@@ -1,55 +1,57 @@
async function PracticeAPI(
setFirstPage,
setLastPage,
page,
PracticeToggle,setPracticeToggle,
setPreviousPage,
setNextPage,
setCurrentPage,
setData,
setLoader,platform
) {
const creds = JSON.parse(localStorage.getItem('creds'))
const acessToken = creds.access
const response = await platform(acessToken, page, PracticeToggle)
if (response.status === 200) {
const data = await response.json()
if (data.status === 'OK' && data.result.length > 0) {
const newLinks = data.links
setFirstPage(newLinks.first.split('=')[1])
setLastPage(newLinks.last.split('=')[1])
if (newLinks.prev !== null) {
setPreviousPage(newLinks.prev.split('=')[1])
}
if (newLinks.next !== null) {
setNextPage(newLinks.next.split('=')[1])
}
setLastPage(data.meta.last_page)
setCurrentPage(data.meta.current_page)
const result = await data.result
await setData(result)
} else if (PracticeToggle == true) {
localStorage.setItem(
'err',
'Please practice or compete to view this page'
)
window.location = '/home'
} else {
setPracticeToggle(true)
setFirstPage,
setLastPage,
page,
PracticeToggle,
setPracticeToggle,
setPreviousPage,
setNextPage,
setCurrentPage,
setData,
setLoader,
platform
) {
const creds = JSON.parse(localStorage.getItem('creds'))
const acessToken = creds.access
const response = await platform(acessToken, page, PracticeToggle)
if (response.status === 200) {
const data = await response.json()
if (data.status === 'OK' && data.result.length > 0) {
const newLinks = data.links
setFirstPage(newLinks.first.split('=')[1])
setLastPage(newLinks.last.split('=')[1])
if (newLinks.prev !== null) {
setPreviousPage(newLinks.prev.split('=')[1])
}

setLoader(false)
} else {
const data = await response.json()

if (
data.error ===
"You haven't Entered your Atcoder Handle in your Profile.. Update Now!"
) {
localStorage.setItem('err', data.error)
window.location = '/home'
if (newLinks.next !== null) {
setNextPage(newLinks.next.split('=')[1])
}
setLastPage(data.meta.last_page)
setCurrentPage(data.meta.current_page)
const result = await data.result
await setData(result)
} else if (PracticeToggle == true) {
localStorage.setItem(
'err',
'Please practice or compete to view this page'
)
window.location = '/home'
} else {
setPracticeToggle(true)
}

setLoader(false)
} else {
const data = await response.json()

if (
data.error ===
"You haven't Entered your Atcoder Handle in your Profile.. Update Now!"
) {
localStorage.setItem('err', data.error)
window.location = '/home'
}
}
}

export default PracticeAPI
export default PracticeAPI
97 changes: 49 additions & 48 deletions src/helpers/Upsolve/SimpleApi.js
Original file line number Diff line number Diff line change
@@ -1,58 +1,59 @@
async function SimpleAPIData(
setFirstPage,
setLastPage,
page,
setPreviousPage,
setNextPage,
setCurrentPage,
setData,
setLoader,platform
) {
const creds = JSON.parse(localStorage.getItem('creds'))
const acessToken = creds.access
const response = await platform(acessToken, page);

if (response.status === 200) {
const data = await response.json()

if (data.status === 'OK') {
if (data.result.length > 0) {
const newLinks = data.links
await setFirstPage(newLinks.first.split('=')[1])

await setLastPage(newLinks.last.split('=')[1])

if (newLinks.prev !== null) {
setPreviousPage(newLinks.prev.split('=')[1])
}
if (newLinks.next !== null) {
setNextPage(newLinks.next.split('=')[1])
}
await setLastPage(data.meta.last_page)
await setCurrentPage(data.meta.current_page)
} else {
localStorage.setItem(
'err',
'Codechef upsolve is available when you participate in atleast one contest'
)
window.location = '/home'
setFirstPage,
setLastPage,
page,
setPreviousPage,
setNextPage,
setCurrentPage,
setData,
setLoader,
platform
) {
const creds = JSON.parse(localStorage.getItem('creds'))
const acessToken = creds.access
const response = await platform(acessToken, page)

if (response.status === 200) {
const data = await response.json()

if (data.status === 'OK') {
if (data.result.length > 0) {
const newLinks = data.links
await setFirstPage(newLinks.first.split('=')[1])

await setLastPage(newLinks.last.split('=')[1])

if (newLinks.prev !== null) {
setPreviousPage(newLinks.prev.split('=')[1])
}
if (newLinks.next !== null) {
setNextPage(newLinks.next.split('=')[1])
}
await setLastPage(data.meta.last_page)
await setCurrentPage(data.meta.current_page)
} else {
localStorage.setItem('err', 'No contest found for this handle')
localStorage.setItem(
'err',
'Codechef upsolve is available when you participate in atleast one contest'
)
window.location = '/home'
}

const result = await data.result
await setData(result)
setLoader(false)
} else if (response.status == 500) {
localStorage.setItem('err', 'No contest found for this handle')
window.location = '/home'
} else {
const data = await response.json()
localStorage.setItem('err', data.error)
localStorage.setItem('err', 'No contest found for this handle')
window.location = '/home'
}

const result = await data.result
await setData(result)
setLoader(false)
} else if (response.status == 500) {
localStorage.setItem('err', 'No contest found for this handle')
window.location = '/home'
} else {
const data = await response.json()
localStorage.setItem('err', data.error)
window.location = '/home'
}
}

export default SimpleAPIData
export default SimpleAPIData
Loading