Added API endpoints for navbar and themes

This commit is contained in:
Neshura 2022-12-17 21:30:05 +01:00
parent fd298c90d1
commit bb76b00506
No known key found for this signature in database
GPG key ID: ACDF5B6EBECF6B0A
4 changed files with 102 additions and 0 deletions

15
pages/api/v1/navbar.tsx Normal file
View file

@ -0,0 +1,15 @@
import fsPromises from 'fs/promises'
import path from 'path'
export default async function Navbar(req: any, res: any) {
try {
const filePath = path.join(process.cwd(), '/public/data/navbar.json')
const jsonData = await fsPromises.readFile(filePath)
const data = JSON.parse(jsonData.toString())
res.status(200).json(data)
}
catch (error) {
console.log(error)
res.status(500).json({error: 'Error reading data'})
}
}

15
pages/api/v1/themes.tsx Normal file
View file

@ -0,0 +1,15 @@
import fsPromises from 'fs/promises'
import path from 'path'
export default async function Navbar(req: any, res: any) {
try {
const filePath = path.join(process.cwd(), '/public/data/themes.json')
const jsonData = await fsPromises.readFile(filePath)
const data = JSON.parse(jsonData.toString())
res.status(200).json(data)
}
catch (error) {
console.log(error)
res.status(500).json({error: 'Error reading data'})
}
}

20
public/data/navbar.json Normal file
View file

@ -0,0 +1,20 @@
{
"links": [
{
"name": "Home",
"href": "/"
},
{
"name": "About",
"href": "/about"
},
{
"name": "Games",
"href": "/games"
},
{
"name": "Services",
"href": "/services"
}
]
}

52
public/data/themes.json Normal file
View file

@ -0,0 +1,52 @@
{
"themes": [
{
"themeName": "Light Theme",
"themeId": 0,
"colors": {
"background": "#ffffff",
"primary": "#00aaff",
"secondary": "#ff5300",
"online": "#00ff00",
"loading": "#ff5300",
"offline": "#ff0000"
}
},
{
"themeName": "Dark Theme",
"themeId": 1,
"colors": {
"background": "#1f1f1f",
"primary": "#00aaff",
"secondary": "#ff5300",
"online": "#00ff00",
"loading": "#ff5300",
"offline": "#ff0000"
}
},
{
"themeName": "AMOLED Theme",
"themeId": 2,
"colors": {
"background": "#000000",
"primary": "#00aaff",
"secondary": "#ff5300",
"online": "#00ff00",
"loading": "#ff5300",
"offline": "#ff0000"
}
},
{
"themeName": "AMOLED Theme 2",
"themeId": 3,
"colors": {
"background": "#000000",
"primary": "#00ffaa",
"secondary": "#aa00ff",
"online": "#00ff00",
"loading": "#ff5300",
"offline": "#ff0000"
}
}
]
}