Compare commits
2 Commits
SQLBackend
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 96a22bad25 | |||
| 24562a53ac |
@@ -1,63 +0,0 @@
|
|||||||
CREATE TABLE `apps` (
|
|
||||||
`id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(30),
|
|
||||||
`url` VARCHAR(50),
|
|
||||||
`icon` VARCHAR(30),
|
|
||||||
`urlbase` VARCHAR(15),
|
|
||||||
`NSFW` VARCHAR(10),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE `links` (
|
|
||||||
`id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
`category` VARCHAR(20),
|
|
||||||
`name` VARCHAR(50),
|
|
||||||
`url` VARCHAR(100),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE `tabs` (
|
|
||||||
`id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(50),
|
|
||||||
`NSFW` BOOLEAN,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE `categories` (
|
|
||||||
`id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(50),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE `messages` (
|
|
||||||
`id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
`message` VARCHAR(255),
|
|
||||||
`easteregg` BOOLEAN,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE `personaldata` (
|
|
||||||
`fname` VARCHAR(20),
|
|
||||||
`lname` VARCHAR(30),
|
|
||||||
`email` VARCHAR(50)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE `providers` (
|
|
||||||
`id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(20),
|
|
||||||
`url` VARCHAR(100),
|
|
||||||
`prefix` VARCHAR(5),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE `themes` (
|
|
||||||
`id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(20),
|
|
||||||
`imagebackground` VARCHAR(100),
|
|
||||||
`colorbackground` VARCHAR(9),
|
|
||||||
`colorserachbackground` VARCHAR(9),
|
|
||||||
`colortextpri` VARCHAR(9),
|
|
||||||
`colortextacc` VARCHAR(9),
|
|
||||||
`colorborder` VARCHAR(9),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
);
|
|
||||||
13
api/package-lock.json
generated
Normal file
13
api/package-lock.json
generated
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"name": "api",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"lockfileVersion": 1,
|
||||||
|
"requires": true,
|
||||||
|
"dependencies": {
|
||||||
|
"wol": {
|
||||||
|
"version": "1.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/wol/-/wol-1.0.7.tgz",
|
||||||
|
"integrity": "sha512-kg7ETY8g3V5+3GVhUfWCVjeXuCmfrX6xfw4cw4c88+MtoxkbFmcs9Y5yhT1wwOL8inogFUQZ8JMzH9OekaaawQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,5 +9,8 @@
|
|||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"wol": "^1.0.7"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,17 +3,7 @@ const bodyParser = require("body-parser");
|
|||||||
const cors = require("cors");
|
const cors = require("cors");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const wol = require("wol");
|
const wol = require("wol");
|
||||||
const mysql = require("mysql");
|
|
||||||
const sql = "SELECT * FROM "
|
|
||||||
|
|
||||||
var con = mysql.createConnection({
|
|
||||||
host: "localhost",
|
|
||||||
user: "hpadmin",
|
|
||||||
password: "changeme",
|
|
||||||
database: "home_page"
|
|
||||||
});
|
|
||||||
|
|
||||||
//Read bookmarks
|
|
||||||
try {
|
try {
|
||||||
var links = require('../src/links.json');
|
var links = require('../src/links.json');
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
@@ -24,7 +14,7 @@ try {
|
|||||||
"links": [
|
"links": [
|
||||||
{
|
{
|
||||||
"name": "Gitea",
|
"name": "Gitea",
|
||||||
"url": "https://sean.bet/gitea"
|
"url": "https://home.halfaperture.com/gitea"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -34,7 +24,6 @@ try {
|
|||||||
var links = require('../src/links.json');
|
var links = require('../src/links.json');
|
||||||
}
|
}
|
||||||
|
|
||||||
//Read personal data
|
|
||||||
try {
|
try {
|
||||||
var personaldata = require('../src/personaldata.json');
|
var personaldata = require('../src/personaldata.json');
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
@@ -47,7 +36,6 @@ try {
|
|||||||
var personaldata = require('../src/personaldata.json');
|
var personaldata = require('../src/personaldata.json');
|
||||||
}
|
}
|
||||||
|
|
||||||
//Read app list
|
|
||||||
if (fs.existsSync('../src/apps.json')) {
|
if (fs.existsSync('../src/apps.json')) {
|
||||||
console.log("apps.json exists");
|
console.log("apps.json exists");
|
||||||
}else {
|
}else {
|
||||||
@@ -59,8 +47,10 @@ if (fs.existsSync('../src/apps.json')) {
|
|||||||
fs.writeFileSync('../src/apps.json',body);
|
fs.writeFileSync('../src/apps.json',body);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Read everything else
|
const providers = require('../src/providers.json');
|
||||||
const themes = require('../src/themes.json');
|
const themes = require('../src/themes.json');
|
||||||
|
const messages = require('../src/messages.json');
|
||||||
|
|
||||||
// initializing app
|
// initializing app
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
@@ -75,7 +65,7 @@ app.get("/sui/api/apps", (req, res) => {
|
|||||||
let apps = JSON.parse(data);
|
let apps = JSON.parse(data);
|
||||||
res.status(200).send(apps.apps);
|
res.status(200).send(apps.apps);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get("/sui/api/links", (req, res) => {
|
app.get("/sui/api/links", (req, res) => {
|
||||||
@@ -83,31 +73,19 @@ app.get("/sui/api/links", (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
app.get("/sui/api/providers", (req, res) => {
|
app.get("/sui/api/providers", (req, res) => {
|
||||||
con.query('SELECT * FROM providers', (error, results, fields) => {
|
res.status(200).send(providers.providers);
|
||||||
if (error) throw error;
|
|
||||||
res.status(200).send(results);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get("/sui/api/themes", (req, res) => {
|
app.get("/sui/api/themes", (req, res) => {
|
||||||
con.query('SELECT * FROM themes', (error, results, fields) => {
|
res.status(200).send(themes.themes);
|
||||||
if (error) throw error;
|
|
||||||
res.status(200).send(results);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get("/sui/api/personaldata", (req, res) => {
|
app.get("/sui/api/personaldata", (req, res) => {
|
||||||
con.query('SELECT * FROM personaldata', (error, results, fields) => {
|
res.status(200).send(personaldata);
|
||||||
if (error) throw error;
|
|
||||||
res.status(200).send(results);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get("/sui/api/messages", (req, res) => {
|
app.get("/sui/api/messages", (req, res) => {
|
||||||
con.query('SELECT * FROM messages', (error, results, fields) => {
|
res.status(200).send(messages.messages);
|
||||||
if (error) throw error;
|
|
||||||
res.status(200).send(results);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
app.post("/sui/api/appUpdate", jsonParser, (req, res) => {
|
app.post("/sui/api/appUpdate", jsonParser, (req, res) => {
|
||||||
@@ -118,9 +96,10 @@ app.post("/sui/api/appUpdate", jsonParser, (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
app.get("/sui/api/wakeDakota", (req, res) => {
|
app.get("/sui/api/wakeDakota", (req, res) => {
|
||||||
wol.wake('18:C0:4D:81:57:68', function(err, res){
|
wol.wake('18:C0:4D:81:57:68', function(err,res){
|
||||||
console.log(res);
|
console.log(res);
|
||||||
});
|
});
|
||||||
|
res.status(200).send("success");
|
||||||
});
|
});
|
||||||
|
|
||||||
// app is listening on port 5000
|
// app is listening on port 5000
|
||||||
|
|||||||
101
api/server.js.save
Normal file
101
api/server.js.save
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
const express = require("express");
|
||||||
|
const bodyParser = require("body-parser");
|
||||||
|
const cors = require("cors");
|
||||||
|
const fs = require("fs");
|
||||||
|
const wol = require("wol");
|
||||||
|
|
||||||
|
try {
|
||||||
|
var links = require('../src/links.json');
|
||||||
|
} catch(err) {
|
||||||
|
let body = `{
|
||||||
|
"bookmarks" : [
|
||||||
|
{
|
||||||
|
"category": "Example",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"name": "Gitea",
|
||||||
|
"url": "https://home.halfaperture.com/gitea"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}`;
|
||||||
|
fs.writeFileSync('../src/links.json',body);
|
||||||
|
var links = require('../src/links.json');
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
var personaldata = require('../src/personaldata.json');
|
||||||
|
} catch(err) {
|
||||||
|
let body = `{
|
||||||
|
"fname":"",
|
||||||
|
"lname":"",
|
||||||
|
"email":""
|
||||||
|
}`;
|
||||||
|
fs.writeFileSync('../src/personaldata.json',body);
|
||||||
|
var personaldata = require('../src/personaldata.json');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fs.existsSync('../src/apps.json')) {
|
||||||
|
console.log("apps.json exists");
|
||||||
|
}else {
|
||||||
|
let body = `{
|
||||||
|
"apps" : [
|
||||||
|
{"name":"Example","url":"your.site.com/example","icon":"web","urlbase":"/Example","NSFW":"SAFE"}
|
||||||
|
]
|
||||||
|
}`;
|
||||||
|
fs.writeFileSync('../src/apps.json',body);
|
||||||
|
}
|
||||||
|
|
||||||
|
const providers = require('../src/providers.json');
|
||||||
|
const themes = require('../src/themes.json');
|
||||||
|
const messages = require('../src/messages.json');
|
||||||
|
|
||||||
|
// initializing app
|
||||||
|
const app = express();
|
||||||
|
|
||||||
|
// initializing cors middleware for all routes
|
||||||
|
app.use(cors());
|
||||||
|
var jsonParser = bodyParser.json();
|
||||||
|
|
||||||
|
// creating route to make request to server for API
|
||||||
|
app.get("/sui/api/apps", (req, res) => {
|
||||||
|
fs.readFile('../src/apps.json', (err, data) => {
|
||||||
|
if (err) throw err;
|
||||||
|
let apps = JSON.parse(data);
|
||||||
|
res.status(200).send(apps.apps);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/sui/api/links", (req, res) => {
|
||||||
|
res.status(200).send(links.bookmarks);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/sui/api/providers", (req, res) => {
|
||||||
|
res.status(200).send(providers.providers);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/sui/api/themes", (req, res) => {
|
||||||
|
res.status(200).send(themes.themes);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/sui/api/personaldata", (req, res) => {
|
||||||
|
res.status(200).send(personaldata);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/sui/api/messages", (req, res) => {
|
||||||
|
res.status(200).send(messages.messages);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post("/sui/api/appUpdate", jsonParser, (req, res) => {
|
||||||
|
let data = JSON.stringify(req.body)
|
||||||
|
fs.writeFileSync('../src/apps.json',data)
|
||||||
|
var applications = require('../src/apps.json');
|
||||||
|
res.status(200).send(applications.apps)
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post("/sui/api/wakeDakota", (req, res) => { wol.wake('18:C0:4D:81:57:68', function(err, res){ console.log(res);// app is listening on port 5000
|
||||||
|
});app.listen(5000, () => {
|
||||||
|
}); console.log("node server is running on port 5000");
|
||||||
|
});
|
||||||
21728
package-lock.json
generated
21728
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"proxy": "http://localhost:5000",
|
"proxy": "http://localhost:5000",
|
||||||
"homepage": "https://sean.bet/sui",
|
"homepage": "https://home.halfaperture.com/sui",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@testing-library/jest-dom": "^5.16.1",
|
"@testing-library/jest-dom": "^5.16.1",
|
||||||
"@testing-library/react": "^11.2.7",
|
"@testing-library/react": "^11.2.7",
|
||||||
@@ -14,11 +14,13 @@
|
|||||||
"express": "^4.18.1",
|
"express": "^4.18.1",
|
||||||
"formik": "^2.2.9",
|
"formik": "^2.2.9",
|
||||||
"history": "^5.1.0",
|
"history": "^5.1.0",
|
||||||
|
"mysql": "^2.18.1",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
"react-router-dom": "^6.1.1",
|
"react-router-dom": "^6.1.1",
|
||||||
"react-scripts": "4.0.3",
|
"react-scripts": "4.0.3",
|
||||||
"web-vitals": "^1.1.2",
|
"web-vitals": "^1.1.2",
|
||||||
|
"wol": "^1.0.7",
|
||||||
"yup": "^0.32.11"
|
"yup": "^0.32.11"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,24 +1 @@
|
|||||||
{
|
{"apps":[{"name":"Code Server", "url":"sean.bet/code","icon":"microsoft-visual-studio-code","urlbase":"/Code","NSFW":"SAFE"},{"name":"Deluge","url":"sean.bet/deluge","icon":"water","urlbase":"/Deluge","NSFW":"NSFW"},{"name":"Gitea","url":"sean.bet/gitea","icon":"tea","urlbase":"/Gitea","NSFW":"SAFE"},{"name":"Grafana","url":"sean.bet/grafana","icon":"chart-areaspline-variant","urlbase":"/Grafana","NSFW":"SAFE"},{"name":"Guacamole","url":"sean.bet/guacamole","icon":"remote-desktop","urlbase":"/Guacamole","NSFW":"SAFE"},{"name":"Jackett","url":"sean.bet/jackett","icon":"tshirt-crew","urlbase":"/Jackett","NSFW":"NSFW"},{"name":"Lidarr","url":"sean.bet/lidarr","icon":"music-circle","urlbase":"/Lidarr","NSFW":"NSFW"},{"name":"NextCloud","url":"sean.bet/nextcloud","icon":"cloud","urlbase":"/NextCloud","NSFW":"SAFE"},{"name":"NZBHydra","url":"sean.bet/nzbhydra","icon":"snake","urlbase":"/NZBHydra","NSFW":"NSFW"},{"name":"PiHole","url":"sean.bet/admin","icon":"pi-hole","urlbase":"/Admin","NSFW":"SAFE"},{"name":"Plex","url":"sean.bet/plex","icon":"plex","urlbase":"/Plex","NSFW":"SAFE"},{"name":"OctoPrint","url":"sean.bet/octoprint","icon":"printer-3d","urlbase":"/octoprint","NSFW":"SAFE"},{"name":"Ombi","url":"sean.bet/requests","icon":"magnify","urlbase":"/Ombi","NSFW":"NSFW"},{"name":"Organizr","url":"sean.bet","icon":"home","urlbase":"/Organizr","NSFW":"SAFE"},{"name":"Radarr","url":"sean.bet/radarr","icon":"movie-open","urlbase":"/Radarr","NSFW":"NSFW"},{"name":"Readarr","url":"sean.bet/readarr","icon":"library","urlbase":"/Readarr","NSFW":"NSFW"},{"name":"SABnzbd","url":"sean.bet/sabnzbd","icon":"download","urlbase":"/SABnzbd","NSFW":"NSFW"},{"name":"Sonarr","url":"sean.bet/sonarr","icon":"television-classic","urlbase":"/Sonarr","NSFW":"NSFW"},{"name":"Tautulli","url":"sean.bet/stats","icon":"chart-bar","urlbase":"/Stats","NSFW":"NSFW"},{"name":"uBooquity","url":"sean.bet/ubooquity","icon":"book-open-outline","urlbase":"/uBooquity","NSFW":"SAFE"},{"name":"Wiki","url":"sean.bet/wiki","icon":"wikipedia","urlbase":"/Wiki","NSFW":"SAFE"}]}
|
||||||
"apps" : [
|
|
||||||
{"name":"Deluge","url":"sean.bet/deluge","icon":"water","urlbase":"/Deluge","NSFW":"NSFW"},
|
|
||||||
{"name":"Gitea","url":"sean.bet/gitea","icon":"tea","urlbase":"/Gitea","NSFW":"SAFE"},
|
|
||||||
{"name":"Grafana","url":"sean.bet/grafana","icon":"chart-areaspline-variant","urlbase":"/Grafana","NSFW":"SAFE"},
|
|
||||||
{"name":"Guacamole","url":"sean.bet/guacamole","icon":"remote-desktop","urlbase":"/Guacamole","NSFW":"SAFE"},
|
|
||||||
{"name":"Jackett","url":"sean.bet/jackett","icon":"tshirt-crew","urlbase":"/Jackett","NSFW":"NSFW"},
|
|
||||||
{"name":"Lidarr","url":"sean.bet/lidarr","icon":"music-circle","urlbase":"/Lidarr","NSFW":"NSFW"},
|
|
||||||
{"name":"NextCloud","url":"sean.bet/nextcloud","icon":"cloud","urlbase":"/NextCloud","NSFW":"SAFE"},
|
|
||||||
{"name":"NZBHydra","url":"sean.bet/nzbhydra","icon":"snake","urlbase":"/NZBHydra","NSFW":"NSFW"},
|
|
||||||
{"name":"PiHole","url":"sean.bet/admin","icon":"pi-hole","urlbase":"/Admin","NSFW":"SAFE"},
|
|
||||||
{"name":"Plex","url":"sean.bet/plex","icon":"plex","urlbase":"/Plex","NSFW":"SAFE"},
|
|
||||||
{"name":"OctoPrint","url":"sean.bet/octoprint","icon":"printer-3d","urlbase":"/octoprint","NSFW":"SAFE"},
|
|
||||||
{"name":"Ombi","url":"sean.bet/requests","icon":"magnify","urlbase":"/Ombi","NSFW":"NSFW"},
|
|
||||||
{"name":"Organizr","url":"sean.bet","icon":"home","urlbase":"/Organizr","NSFW":"SAFE"},
|
|
||||||
{"name":"Radarr","url":"sean.bet/radarr","icon":"movie-open","urlbase":"/Radarr","NSFW":"NSFW"},
|
|
||||||
{"name":"Readarr","url":"sean.bet/readarr","icon":"library","urlbase":"/Readarr","NSFW":"NSFW"},
|
|
||||||
{"name":"SABnzbd","url":"sean.bet/sabnzbd","icon":"download","urlbase":"/SABnzbd","NSFW":"NSFW"},
|
|
||||||
{"name":"Sonarr","url":"sean.bet/sonarr","icon":"television-classic","urlbase":"/Sonarr","NSFW":"NSFW"},
|
|
||||||
{"name":"Tautulli","url":"sean.bet/stats","icon":"chart-bar","urlbase":"/Stats","NSFW":"NSFW"},
|
|
||||||
{"name":"uBooquity","url":"sean.bet/ubooquity","icon":"book-open-outline","urlbase":"/uBooquity","NSFW":"SAFE"},
|
|
||||||
{"name":"Wiki","url":"sean.bet/wiki","icon":"wikipedia","urlbase":"/Wiki","NSFW":"SAFE"}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export function greet() {
|
|||||||
let currentTime = new Date();
|
let currentTime = new Date();
|
||||||
let greet = Math.floor(currentTime.getHours() / 6);
|
let greet = Math.floor(currentTime.getHours() / 6);
|
||||||
let easterEggChance = Math.floor(Math.random() * 100);
|
let easterEggChance = Math.floor(Math.random() * 100);
|
||||||
let greetings = require("../messages.json");
|
let greetings = require('../messages.json');
|
||||||
let timeBased = [];
|
let timeBased = [];
|
||||||
let easterEggs = [];
|
let easterEggs = [];
|
||||||
for (var i = 0; i < greetings.messages.length; i++) {
|
for (var i = 0; i < greetings.messages.length; i++) {
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ const ApplicationSettings = () => {
|
|||||||
const addRow = () => {
|
const addRow = () => {
|
||||||
setState([
|
setState([
|
||||||
...state,
|
...state,
|
||||||
{ key: state.length +1,name: "", url: "sean.bet/", icon: "", urlbase: "/", NSFW: false}
|
{ key: state.length +1,name: "", url: "home.halfaperture.com/", icon: "", urlbase: "/", NSFW: false}
|
||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import Messages from './Messages';
|
|||||||
function MessageInfo() {
|
function MessageInfo() {
|
||||||
const [state, setState] = useState([]);
|
const [state, setState] = useState([]);
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const response = await fetch("/sui/api/messages");
|
const response = await fetch("/sui/api/messages");
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
setState(data);
|
setState(data);
|
||||||
@@ -13,13 +13,14 @@ function MessageInfo() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getData();
|
getData();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div id="messageForm">
|
<div id="messageForm">
|
||||||
{state.map((greetings, index) => (
|
{state.map((greetings, index) => (
|
||||||
<Messages
|
<Messages
|
||||||
key={index}
|
key={index}
|
||||||
group={index+1}
|
group={index+1}
|
||||||
|
index={greetings.index}
|
||||||
greeting={greetings.message}
|
greeting={greetings.message}
|
||||||
easterEgg={greetings.easteregg}
|
easterEgg={greetings.easteregg}
|
||||||
/>
|
/>
|
||||||
@@ -28,4 +29,4 @@ function MessageInfo() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default MessageInfo
|
export default MessageInfo
|
||||||
@@ -1,15 +1,17 @@
|
|||||||
function Messages(props) {
|
function Messages(props) {
|
||||||
|
|
||||||
var eeChecked;
|
var eeChecked;
|
||||||
if(props.easterEgg === 1) {
|
if(props.easterEgg === "TRUE") {
|
||||||
eeChecked = true;
|
eeChecked = true;
|
||||||
} else if(props.easterEgg === 0) {
|
} else if(props.easterEgg === "FALSE") {
|
||||||
eeChecked = false;
|
eeChecked = false;
|
||||||
} else {
|
} else {
|
||||||
eeChecked = false;
|
eeChecked = false;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div id="messageGrid" title={props.group}>
|
<div id="messageGrid" title={props.group}>
|
||||||
|
<label htmlFor="index">Index</label>
|
||||||
|
<input id="index" type="text" defaultValue={props.index}></input>
|
||||||
<label htmlFor="greeting">Greeting</label>
|
<label htmlFor="greeting">Greeting</label>
|
||||||
<input id="greeting" type="text" defaultValue={props.greeting}></input>
|
<input id="greeting" type="text" defaultValue={props.greeting}></input>
|
||||||
<label htmlFor="Easter Egg">Easter Egg</label>
|
<label htmlFor="Easter Egg">Easter Egg</label>
|
||||||
@@ -18,4 +20,4 @@ function Messages(props) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Messages;
|
export default Messages;
|
||||||
@@ -7,7 +7,7 @@ function PersonalInfo() {
|
|||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const response = await fetch("/sui/api/personaldata");
|
const response = await fetch("/sui/api/personaldata");
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
setState(data[0]);
|
setState(data);
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -23,4 +23,4 @@ function PersonalInfo() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default PersonalInfo;
|
export default PersonalInfo;
|
||||||
16
src/components/WolButton.js
Normal file
16
src/components/WolButton.js
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
function WolButton(props) {
|
||||||
|
return (
|
||||||
|
<div className="wake"><input type="button" id="wolbutton" onClick={runWakeCommand}></input>
|
||||||
|
<label htmlFor="wolbutton"><span className="iconify" data-icon="mdi-monitor"></span></label></div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default WolButton;
|
||||||
|
|
||||||
|
function runWakeCommand() {
|
||||||
|
const requestOptions = {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {'Content-Type': 'application/json'},
|
||||||
|
};
|
||||||
|
fetch("/sui/api/wakeDakota", requestOptions)
|
||||||
|
}
|
||||||
@@ -290,7 +290,7 @@ table a{
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-column-gap: 5px;
|
grid-column-gap: 5px;
|
||||||
grid-row-gap: 5px;
|
grid-row-gap: 5px;
|
||||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
|
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||||
grid-template-rows: 64px;
|
grid-template-rows: 64px;
|
||||||
padding-bottom: var(--module-spacing);
|
padding-bottom: var(--module-spacing);
|
||||||
}
|
}
|
||||||
@@ -418,7 +418,10 @@ table a{
|
|||||||
#nav_item h4{
|
#nav_item h4{
|
||||||
color: var(--color-text-acc);
|
color: var(--color-text-acc);
|
||||||
}
|
}
|
||||||
|
#nav item button{
|
||||||
|
display: block;
|
||||||
|
color: var(--color-text-pri);
|
||||||
|
}
|
||||||
#nav_item a{
|
#nav_item a{
|
||||||
font-size: 1.25em;
|
font-size: 1.25em;
|
||||||
display: block;
|
display: block;
|
||||||
@@ -427,6 +430,7 @@ table a{
|
|||||||
line-height: 2;
|
line-height: 2;
|
||||||
justify-self: center;
|
justify-self: center;
|
||||||
color: var(--color-text-pri);
|
color: var(--color-text-pri);
|
||||||
|
border-radius: 1em;
|
||||||
}
|
}
|
||||||
#nav_item a:hover{
|
#nav_item a:hover{
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@@ -684,7 +688,7 @@ table a{
|
|||||||
}
|
}
|
||||||
|
|
||||||
#modal-footer{
|
#modal-footer{
|
||||||
display:flex;
|
display:grid;
|
||||||
font-size:2em;
|
font-size:2em;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
@@ -705,6 +709,10 @@ table a{
|
|||||||
#modal-footer input[type="checkbox"]:checked + label{
|
#modal-footer input[type="checkbox"]:checked + label{
|
||||||
color: var(--color-text-acc);
|
color: var(--color-text-acc);
|
||||||
}
|
}
|
||||||
|
#modal-footer input[type="button"]{
|
||||||
|
display: none;
|
||||||
|
color: var(--color-text-pri);
|
||||||
|
}
|
||||||
|
|
||||||
.sneaky{
|
.sneaky{
|
||||||
right: 1em;
|
right: 1em;
|
||||||
@@ -888,6 +896,12 @@ table a{
|
|||||||
color: #FDF1EF;
|
color: #FDF1EF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.theme-loyal{
|
||||||
|
background-color: #000000;
|
||||||
|
border: 4px solid #ffffff;
|
||||||
|
color: #ff0000;
|
||||||
|
}
|
||||||
|
|
||||||
/* MEDIA QUERIES */
|
/* MEDIA QUERIES */
|
||||||
|
|
||||||
@media screen and (max-width: 1260px)
|
@media screen and (max-width: 1260px)
|
||||||
|
|||||||
@@ -149,7 +149,11 @@
|
|||||||
{
|
{
|
||||||
"name": "Unifi",
|
"name": "Unifi",
|
||||||
"url": "https://network.unifi.ui.com"
|
"url": "https://network.unifi.ui.com"
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"name": "Code Server",
|
||||||
|
"url": "https://sean.bet/code"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -197,8 +201,8 @@
|
|||||||
"url": "https://outlook.office365.com/ecp/"
|
"url": "https://outlook.office365.com/ecp/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Classic Protection",
|
"name": "Dev Ops",
|
||||||
"url": "https://protection.office.com"
|
"url": "https://dev.azure.com/CottonIT/"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import HideButton from '../components/HideButton'
|
import HideButton from '../components/HideButton';
|
||||||
|
import WolButton from '../components/WolButton';
|
||||||
import { setTheme } from "../assets/functions";
|
import { setTheme } from "../assets/functions";
|
||||||
import { Outlet, Link } from "react-router-dom";
|
import { Outlet, Link } from "react-router-dom";
|
||||||
|
|
||||||
@@ -18,6 +19,8 @@ function Settings() {
|
|||||||
</nav>
|
</nav>
|
||||||
<nav id="nav_item">
|
<nav id="nav_item">
|
||||||
<header id="modal-footer">
|
<header id="modal-footer">
|
||||||
|
<WolButton />
|
||||||
|
<br/>
|
||||||
<HideButton
|
<HideButton
|
||||||
checked = {isChecked}
|
checked = {isChecked}
|
||||||
/>
|
/>
|
||||||
@@ -30,4 +33,4 @@ function Settings() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Settings;
|
export default Settings;
|
||||||
|
|||||||
@@ -179,6 +179,15 @@
|
|||||||
"colortextpri": "#FDF1EF",
|
"colortextpri": "#FDF1EF",
|
||||||
"colortextacc": "#F97E82",
|
"colortextacc": "#F97E82",
|
||||||
"colorborder": "#F97E82"
|
"colorborder": "#F97E82"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "loyal",
|
||||||
|
"imagebackground": "none",
|
||||||
|
"colorbackground": "#111111",
|
||||||
|
"colorserachbackground": "#ffffff20",
|
||||||
|
"colortextpri": "#AA0000",
|
||||||
|
"colortextacc": "#dddddd",
|
||||||
|
"colorborder": "#dddddd"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user