Compare commits
66 Commits
Author | SHA1 | Date | |
---|---|---|---|
40b04e4cfa | |||
5e0eca4b1e | |||
e82f78485d | |||
630ad3a94f | |||
52ab27bd5c | |||
67e0d5559b | |||
7c48fb9de5 | |||
bbd884d80c | |||
be7707d5f7 | |||
8ddd866e49 | |||
674c8b5f0a | |||
3b03b4ba31 | |||
e26ed450fa | |||
8aed669d57 | |||
776b9b70e2 | |||
c040b8a75c | |||
bff04407e0 | |||
9d37814bc5 | |||
5ef43e88b0 | |||
a79709e1ac | |||
e9d63a63d0 | |||
0f1bff66dc | |||
a15bcebbc7 | |||
9d23af5579 | |||
36f9f0183f | |||
c56f3abf88 | |||
bb735afe33 | |||
dbad5ed64b | |||
071ba0a986 | |||
41d5fc2d4b | |||
6ea3e89741 | |||
e7bed8124c | |||
3f931f5ef8 | |||
038eefa72a | |||
4042e28939 | |||
162fbd0404 | |||
88af722686 | |||
8f1f18de8b | |||
9ebce5f1d9 | |||
e2f3a26c88 | |||
8caec6a46d | |||
48cd36d0a8 | |||
c17ac0f579 | |||
ffb82c9db6 | |||
2749da6df9 | |||
1bd42249ce | |||
0f3cbd6f05 | |||
b2000331ce | |||
69cc898fd7 | |||
8e9288f7f1 | |||
0726a31ad5 | |||
9cc410006a | |||
00b620f229 | |||
7c3e6e5809 | |||
4d2e91e48c | |||
4d198eef62 | |||
99dc5515bc | |||
a8a7cd99a5 | |||
81e32aad29 | |||
4117e1faad | |||
505fce9848 | |||
489e5e60b9 | |||
b9b88eaf0e | |||
c4880480ec | |||
8626368af2 | |||
d82eb440e8 |
BIN
frontend/src/assets/images/alai.png
Normal file
BIN
frontend/src/assets/images/alai.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.8 KiB |
BIN
frontend/src/assets/images/obelisk.jpg
Normal file
BIN
frontend/src/assets/images/obelisk.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
@ -7,6 +7,8 @@ import axios from 'axios';
|
||||
import jwt_decode from 'jwt-decode';
|
||||
import auth from '../utils/Auth';
|
||||
|
||||
const url = new URL(window.location.href);
|
||||
const api = (url.port == "5173") ? "http://localhost:3001" : "/api/v1";
|
||||
const { onMenuToggle } = useLayout();
|
||||
const outsideClickListener = ref(null);
|
||||
const topbarMenuActive = ref(false);
|
||||
@ -69,7 +71,7 @@ async function savePassword(pass) {
|
||||
var token = localStorage.getItem("token");
|
||||
var decoded = jwt_decode(token);
|
||||
try {
|
||||
const response = await axios.patch(`http://localhost:3001/user/` + decoded.id, pass, auth.getTokenHeader());
|
||||
const response = await axios.patch(api + `/user/` + decoded.id, pass, auth.getTokenHeader());
|
||||
if (response.status !== 204) {
|
||||
console.error(response);
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ var auth = {
|
||||
},
|
||||
checkToken(redirect = true, callback = null) {
|
||||
const url = new URL(window.location.href);
|
||||
const api = (url.port == "5173") ? "http://localhost:3001" : "/api";
|
||||
const api = (url.port == "5173") ? "http://localhost:3001" : "/api/v1";
|
||||
|
||||
const config = this.getTokenHeader();
|
||||
|
||||
|
@ -24,10 +24,13 @@ const setColorOptions = () => {
|
||||
textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary');
|
||||
surfaceBorder = documentStyle.getPropertyValue('--surface-border');
|
||||
};
|
||||
const url = new URL(window.location.href);
|
||||
const api = (url.port == "5173") ? "http://localhost:3001" : "/api/v1";
|
||||
|
||||
|
||||
async function getGames() {
|
||||
try {
|
||||
const response = await axios.get(`http://localhost:3001/game?limit=5000`);
|
||||
const response = await axios.get(api + `/game?limit=5000`);
|
||||
games.value = response.data.map(game_id => {
|
||||
return game_id.ID;
|
||||
});
|
||||
@ -42,7 +45,7 @@ async function getFrames() {
|
||||
if (selectedGame.value === undefined) {
|
||||
return;
|
||||
}
|
||||
const response = await axios.get(`http://localhost:3001/frame?limit=5000&game_id=` + selectedGame.value);
|
||||
const response = await axios.get(api + `/frame?limit=5000&game_id=` + selectedGame.value);
|
||||
if (response.data[response.data.length - 1].elapsed_time >= 10000) {
|
||||
ms.value = false;
|
||||
}
|
||||
|
@ -41,12 +41,6 @@ const onClickLinux = () => {
|
||||
<span>Features</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a @click="smoothScroll('#moreinfo')"
|
||||
class="flex m-0 md:ml-5 px-0 py-3 text-900 font-medium line-height-3 p-ripple" v-ripple>
|
||||
<span>More info</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a @click="smoothScroll('#downloads')"
|
||||
class="flex m-0 md:ml-5 px-0 py-3 text-900 font-medium line-height-3 p-ripple" v-ripple>
|
||||
@ -88,7 +82,7 @@ const onClickLinux = () => {
|
||||
<div class="grid mt-8 pb-2 md:pb-8">
|
||||
<div class="flex justify-content-center col-12 lg:col-6 p-0 flex-order-1 lg:flex-order-0"
|
||||
style="border-radius: 8px">
|
||||
<img src="public/images/alai.png" class="w-11" alt="alai screenshot" />
|
||||
<img src="@/assets/images/alai.png" class="w-11" alt="alai screenshot" />
|
||||
</div>
|
||||
|
||||
<div class="col-12 lg:col-6 my-auto flex flex-column lg:align-items-end text-center lg:text-right">
|
||||
@ -118,7 +112,7 @@ const onClickLinux = () => {
|
||||
|
||||
<div class="flex align-items-center justify-content-end flex-order-1 sm:flex-order-2 col-12 lg:col-6 p-0"
|
||||
style="border-radius: 8px">
|
||||
<img src="public/images/obelisk.jpg" class="flex w-11" alt="obelisk" width="100" height="100" />
|
||||
<img src="@/assets/images/obelisk.jpg" class="flex w-11" alt="obelisk" width="100" height="100" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -7,6 +7,8 @@ const username = ref('');
|
||||
const password = ref('');
|
||||
const router = useRouter();
|
||||
const toast = useToast();
|
||||
const url = new URL(window.location.href);
|
||||
const api = (url.port == "5173") ? "http://localhost:3001" : "/api/v1";
|
||||
|
||||
async function onLoginClick() {
|
||||
var login =
|
||||
@ -15,7 +17,7 @@ async function onLoginClick() {
|
||||
password: password.value
|
||||
};
|
||||
try {
|
||||
const response = await axios.post(`http://localhost:3001/login`, login);
|
||||
const response = await axios.post(api + `/login`, login);
|
||||
if (response.status === 200) {
|
||||
localStorage.setItem('token', response.data.token);
|
||||
router.push('/home');
|
||||
|
@ -19,10 +19,12 @@ const submitted = ref(false);
|
||||
const checkAuth = () => {
|
||||
auth.checkToken(true);
|
||||
};
|
||||
const url = new URL(window.location.href);
|
||||
const api = (url.port == "5173") ? "http://localhost:3001" : "/api/v1";
|
||||
|
||||
async function showTable() {
|
||||
try {
|
||||
const response = await axios.get(`http://localhost:3001/os`);
|
||||
const response = await axios.get(api + `/os`);
|
||||
console.log(response.data);
|
||||
users.value = response.data;
|
||||
}
|
||||
@ -41,7 +43,7 @@ async function onCreateClick() {
|
||||
name: os.value.name
|
||||
};
|
||||
try {
|
||||
const response = await axios.post(`http://localhost:3001/os`, newOS, auth.getTokenHeader());
|
||||
const response = await axios.post(api + `/os`, newOS, auth.getTokenHeader());
|
||||
|
||||
if (response.status === 204) {
|
||||
toast.add({ severity: 'success', summary: 'Successful', detail: 'OS Created', life: 3000 });
|
||||
@ -94,7 +96,7 @@ async function onChangeOS() {
|
||||
};
|
||||
console.log(os.value.ID);
|
||||
try {
|
||||
const response = await axios.patch(`http://localhost:3001/os/` + os.value.ID, changeOS, auth.getTokenHeader());
|
||||
const response = await axios.patch(api + `/os/` + os.value.ID, changeOS, auth.getTokenHeader());
|
||||
|
||||
if (response.status === 204) {
|
||||
toast.add({ severity: 'success', summary: 'Successful', detail: 'OS Modified', life: 3000 });
|
||||
@ -117,7 +119,7 @@ const confirmDeleteUser = (editUser) => {
|
||||
|
||||
async function deleteUser() {
|
||||
try {
|
||||
const response = await axios.delete(`http://localhost:3001/os/` + os.value.ID, auth.getTokenHeader());
|
||||
const response = await axios.delete(api + `/os/` + os.value.ID, auth.getTokenHeader());
|
||||
if (response.status !== 204) {
|
||||
console.error(response);
|
||||
}
|
||||
@ -139,7 +141,7 @@ const confirmDeleteSelected = () => {
|
||||
const deleteSelectedUsers = () => {
|
||||
selectedUsers.value.forEach(element => {
|
||||
try {
|
||||
const response = axios.delete(`http://localhost:3001/os/` + element.ID, auth.getTokenHeader());
|
||||
const response = axios.delete(api + `/os/` + element.ID, auth.getTokenHeader());
|
||||
if (response.status !== 204) {
|
||||
console.error(response);
|
||||
}
|
||||
@ -173,8 +175,8 @@ const initFilters = () => {
|
||||
<template v-slot:start>
|
||||
<div class="my-2">
|
||||
<Button label="New" icon="pi pi-plus" class="p-button-success mr-2" @click="openNew" />
|
||||
<Button label="Delete" icon="pi pi-trash" class="p-button-danger"
|
||||
@click="confirmDeleteSelected" :disabled="!selectedUsers || !selectedUsers.length" />
|
||||
<Button label="Delete" icon="pi pi-trash" class="p-button-danger" @click="confirmDeleteSelected"
|
||||
:disabled="!selectedUsers || !selectedUsers.length" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -185,8 +187,7 @@ const initFilters = () => {
|
||||
:rows="10" :filters="filters"
|
||||
paginatorTemplate="FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink CurrentPageReport RowsPerPageDropdown"
|
||||
:rowsPerPageOptions="[5, 10, 25]"
|
||||
currentPageReportTemplate="Showing {first} to {last} of {totalRecords} users"
|
||||
responsiveLayout="scroll">
|
||||
currentPageReportTemplate="Showing {first} to {last} of {totalRecords} users" responsiveLayout="scroll">
|
||||
<template #header>
|
||||
<div class="flex flex-column md:flex-row md:justify-content-between md:align-items-center">
|
||||
<h5 class="m-0">Manage Users</h5>
|
||||
@ -258,8 +259,7 @@ const initFilters = () => {
|
||||
<span v-if="os">Are you sure you want to delete the selected users?</span>
|
||||
</div>
|
||||
<template #footer>
|
||||
<Button label="No" icon="pi pi-times" class="p-button-text"
|
||||
@click="deleteUsersDialog = false" />
|
||||
<Button label="No" icon="pi pi-times" class="p-button-text" @click="deleteUsersDialog = false" />
|
||||
<Button label="Yes" icon="pi pi-check" class="p-button-text" @click="deleteSelectedUsers" />
|
||||
</template>
|
||||
</Dialog>
|
||||
|
@ -19,10 +19,12 @@ const userDialogChange = ref(false);
|
||||
const checkAuth = () => {
|
||||
auth.checkToken(true);
|
||||
};
|
||||
const url = new URL(window.location.href);
|
||||
const api = (url.port == "5173") ? "http://localhost:3001" : "/api/v1";
|
||||
|
||||
async function showTable() {
|
||||
try {
|
||||
const response = await axios.get(`http://localhost:3001/user`, auth.getTokenHeader());
|
||||
const response = await axios.get(api + `/user`, auth.getTokenHeader());
|
||||
users.value = response.data;
|
||||
}
|
||||
catch (error) {
|
||||
@ -48,7 +50,7 @@ async function onCreateClick() {
|
||||
email: user.value.email
|
||||
};
|
||||
try {
|
||||
const response = await axios.post(`http://localhost:3001/user`, newUser, auth.getTokenHeader());
|
||||
const response = await axios.post(api + `/user`, newUser, auth.getTokenHeader());
|
||||
|
||||
if (response.status === 204) {
|
||||
toast.add({ severity: 'success', summary: 'Successful', detail: 'User Created', life: 3000 });
|
||||
@ -104,7 +106,7 @@ async function onChangeUser() {
|
||||
email: user.value.email
|
||||
};
|
||||
try {
|
||||
const response = await axios.patch(`http://localhost:3001/user/` + user.value.ID, changeUser, auth.getTokenHeader());
|
||||
const response = await axios.patch(api + `/user/` + user.value.ID, changeUser, auth.getTokenHeader());
|
||||
|
||||
if (response.status === 204) {
|
||||
toast.add({ severity: 'success', summary: 'Successful', detail: 'User Modified', life: 3000 });
|
||||
@ -127,7 +129,7 @@ const confirmDeleteUser = (editUser) => {
|
||||
|
||||
async function deleteUser() {
|
||||
try {
|
||||
const response = await axios.delete(`http://localhost:3001/user/` + user.value.ID, auth.getTokenHeader());
|
||||
const response = await axios.delete(api + `/user/` + user.value.ID, auth.getTokenHeader());
|
||||
if (response.status !== 204) {
|
||||
console.error(response);
|
||||
}
|
||||
@ -149,7 +151,7 @@ const confirmDeleteSelected = () => {
|
||||
const deleteSelectedUsers = () => {
|
||||
selectedUsers.value.forEach(element => {
|
||||
try {
|
||||
const response = axios.delete(`http://localhost:3001/user/` + element.ID, auth.getTokenHeader());
|
||||
const response = axios.delete(api + `/user/` + element.ID, auth.getTokenHeader());
|
||||
if (response.status !== 204) {
|
||||
console.error(response);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user