mirror of
https://github.com/BeamMP/BeamMP-Website.git
synced 2026-02-16 02:30:47 +00:00
various changes
This commit is contained in:
@@ -2,9 +2,9 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
<link rel="icon" type="image/ico+xml" href="/favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>BeamMP Website Loading..</title>
|
<title>BeamMP Website</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
BIN
public/favicon.ico
Normal file
BIN
public/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 108 KiB |
BIN
src/assets/BeamMP_blk.png
Normal file
BIN
src/assets/BeamMP_blk.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 87 KiB |
BIN
src/assets/BeamMP_wht.png
Normal file
BIN
src/assets/BeamMP_wht.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
@@ -24,18 +24,20 @@ function closeMobileMenu() {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<header
|
<header class="border-b border-neutral-200 dark:border-neutral-800 bg-white/80 dark:bg-neutral-900/70 backdrop-blur sticky top-0 z-20">
|
||||||
class="border-b border-neutral-200 dark:border-neutral-800 bg-white/80 dark:bg-neutral-900/70 backdrop-blur sticky top-0 z-20"
|
|
||||||
>
|
|
||||||
<nav class="max-w-6xl mx-auto px-4 h-16 flex items-center justify-between">
|
<nav class="max-w-6xl mx-auto px-4 h-16 flex items-center justify-between">
|
||||||
<RouterLink to="/" class="flex items-center gap-2 shrink-0" @click="closeMobileMenu">
|
<RouterLink to="/" class="flex items-center gap-2 shrink-0" @click="closeMobileMenu">
|
||||||
<!-- Light mode logo -->
|
<!-- Light mode logo (black) -->
|
||||||
<img src="/beammp-logo.png" alt="BeamMP Logo" class="h-10 w-auto shrink-0 dark:hidden" />
|
|
||||||
<!-- Dark mode logo -->
|
|
||||||
<img
|
<img
|
||||||
src="/beammp-logo-dark.png"
|
src="/src/assets/BeamMP_blk.png"
|
||||||
alt="BeamMP Logo"
|
alt="BeamMP Logo"
|
||||||
class="h-10 w-auto shrink-0 hidden dark:block"
|
class="h-16 w-auto shrink-0 dark:hidden"
|
||||||
|
/>
|
||||||
|
<!-- Dark mode logo (white) -->
|
||||||
|
<img
|
||||||
|
src="/src/assets/BeamMP_wht.png"
|
||||||
|
alt="BeamMP Logo"
|
||||||
|
class="h-16 w-auto shrink-0 hidden dark:block"
|
||||||
/>
|
/>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
|
|
||||||
@@ -50,12 +52,7 @@ function closeMobileMenu() {
|
|||||||
href="https://forum.beammp.com"
|
href="https://forum.beammp.com"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
:class="
|
:class="cn(navigationMenuTriggerStyle(), 'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white')"
|
||||||
cn(
|
|
||||||
navigationMenuTriggerStyle(),
|
|
||||||
'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Forum
|
Forum
|
||||||
</a>
|
</a>
|
||||||
@@ -67,12 +64,7 @@ function closeMobileMenu() {
|
|||||||
href="https://docs.beammp.com"
|
href="https://docs.beammp.com"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
:class="
|
:class="cn(navigationMenuTriggerStyle(), 'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white')"
|
||||||
cn(
|
|
||||||
navigationMenuTriggerStyle(),
|
|
||||||
'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Docs
|
Docs
|
||||||
</a>
|
</a>
|
||||||
@@ -82,12 +74,7 @@ function closeMobileMenu() {
|
|||||||
<NavigationMenuLink as-child>
|
<NavigationMenuLink as-child>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
to="/communities"
|
to="/communities"
|
||||||
:class="
|
:class="cn(navigationMenuTriggerStyle(), 'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white')"
|
||||||
cn(
|
|
||||||
navigationMenuTriggerStyle(),
|
|
||||||
'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Communities
|
Communities
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
@@ -97,12 +84,7 @@ function closeMobileMenu() {
|
|||||||
<NavigationMenuLink as-child>
|
<NavigationMenuLink as-child>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
to="/servers"
|
to="/servers"
|
||||||
:class="
|
:class="cn(navigationMenuTriggerStyle(), 'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white')"
|
||||||
cn(
|
|
||||||
navigationMenuTriggerStyle(),
|
|
||||||
'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Servers
|
Servers
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
@@ -112,12 +94,7 @@ function closeMobileMenu() {
|
|||||||
<NavigationMenuLink as-child>
|
<NavigationMenuLink as-child>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
to="/stats"
|
to="/stats"
|
||||||
:class="
|
:class="cn(navigationMenuTriggerStyle(), 'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white')"
|
||||||
cn(
|
|
||||||
navigationMenuTriggerStyle(),
|
|
||||||
'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Statistics
|
Statistics
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
@@ -129,12 +106,7 @@ function closeMobileMenu() {
|
|||||||
href="https://github.com/BeamMP/BeamMP"
|
href="https://github.com/BeamMP/BeamMP"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
:class="
|
:class="cn(navigationMenuTriggerStyle(), 'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white')"
|
||||||
cn(
|
|
||||||
navigationMenuTriggerStyle(),
|
|
||||||
'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
GitHub
|
GitHub
|
||||||
</a>
|
</a>
|
||||||
@@ -146,12 +118,7 @@ function closeMobileMenu() {
|
|||||||
href="https://www.patreon.com/BeamMP"
|
href="https://www.patreon.com/BeamMP"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
:class="
|
:class="cn(navigationMenuTriggerStyle(), 'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white')"
|
||||||
cn(
|
|
||||||
navigationMenuTriggerStyle(),
|
|
||||||
'bg-transparent text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 dark:bg-transparent dark:text-white dark:hover:bg-neutral-800 dark:hover:text-white'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Patreon
|
Patreon
|
||||||
</a>
|
</a>
|
||||||
@@ -166,9 +133,9 @@ function closeMobileMenu() {
|
|||||||
<div class="flex lg:hidden items-center gap-2">
|
<div class="flex lg:hidden items-center gap-2">
|
||||||
<ThemeToggle />
|
<ThemeToggle />
|
||||||
<button
|
<button
|
||||||
|
@click="toggleMobileMenu"
|
||||||
class="p-2 text-neutral-900 dark:text-white hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-md transition-colors"
|
class="p-2 text-neutral-900 dark:text-white hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-md transition-colors"
|
||||||
aria-label="Toggle menu"
|
aria-label="Toggle menu"
|
||||||
@click="toggleMobileMenu"
|
|
||||||
>
|
>
|
||||||
<Menu v-if="!mobileMenuOpen" class="w-6 h-6" />
|
<Menu v-if="!mobileMenuOpen" class="w-6 h-6" />
|
||||||
<X v-else class="w-6 h-6" />
|
<X v-else class="w-6 h-6" />
|
||||||
|
|||||||
@@ -15,18 +15,22 @@ import {
|
|||||||
} from 'lucide-vue-next'
|
} from 'lucide-vue-next'
|
||||||
|
|
||||||
const onlinePlayers = ref('...')
|
const onlinePlayers = ref('...')
|
||||||
|
const onlineServers = ref('...')
|
||||||
const isLoading = ref(true)
|
const isLoading = ref(true)
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
try {
|
try {
|
||||||
const response = await fetch('https://backend.beammp.com/metrics')
|
const response = await fetch('https://backend.beammp.com/metrics')
|
||||||
|
// beammp_players_online 2783 beammp_public_servers 2959 beammp_all_servers 4663
|
||||||
const data = await response.text()
|
const data = await response.text()
|
||||||
const values = data.split(' ')
|
const values = data.split(' ')
|
||||||
if (values.length >= 2) {
|
if (values.length >= 2) {
|
||||||
onlinePlayers.value = values[1]
|
onlinePlayers.value = values[1]
|
||||||
|
onlineServers.value = values[3]
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
onlinePlayers.value = 'N/A'
|
onlinePlayers.value = 'N/A'
|
||||||
|
onlineServers.value = 'N/A'
|
||||||
} finally {
|
} finally {
|
||||||
isLoading.value = false
|
isLoading.value = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,14 +4,9 @@ import { RouterLink } from 'vue-router'
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section class="min-h-[60vh] flex items-center justify-center">
|
<section class="min-h-[60vh] flex items-center justify-center">
|
||||||
<div
|
<div class="text-center px-6 py-10 sm:px-8 sm:py-12 rounded-xl border border-neutral-200/30 bg-white/60 dark:bg-neutral-900/60 backdrop-blur-md shadow-sm space-y-4">
|
||||||
class="text-center px-6 py-10 sm:px-8 sm:py-12 rounded-xl border border-neutral-200/30 bg-white/60 dark:bg-neutral-900/60 backdrop-blur-md shadow-sm space-y-4"
|
|
||||||
>
|
|
||||||
<div class="flex items-center justify-center gap-3">
|
<div class="flex items-center justify-center gap-3">
|
||||||
<span
|
<span class="inline-flex items-center justify-center rounded-full bg-orange-600/10 text-orange-600 dark:text-orange-400 w-12 h-12 text-xl font-bold">404</span>
|
||||||
class="inline-flex items-center justify-center rounded-full bg-orange-600/10 text-orange-600 dark:text-orange-400 w-12 h-12 text-xl font-bold"
|
|
||||||
>404</span
|
|
||||||
>
|
|
||||||
<h1 class="text-2xl sm:text-3xl font-bold tracking-tight">Page Not Found</h1>
|
<h1 class="text-2xl sm:text-3xl font-bold tracking-tight">Page Not Found</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -21,14 +16,12 @@ import { RouterLink } from 'vue-router'
|
|||||||
<div class="flex flex-wrap items-center justify-center gap-3 pt-2">
|
<div class="flex flex-wrap items-center justify-center gap-3 pt-2">
|
||||||
<RouterLink
|
<RouterLink
|
||||||
to="/"
|
to="/"
|
||||||
class="inline-flex px-4 py-2 rounded-md bg-orange-600 hover:bg-orange-500 text-white text-sm font-medium"
|
class="inline-flex px-4 py-2 rounded-md bg-orange-600 hover:bg-orange-500 text-white text-sm font-medium">
|
||||||
>
|
|
||||||
Return Home
|
Return Home
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
to="/servers"
|
to="/servers"
|
||||||
class="inline-flex px-4 py-2 rounded-md border border-neutral-300/60 dark:border-neutral-700/60 text-sm font-medium text-neutral-800 dark:text-neutral-200 hover:bg-neutral-100 dark:hover:bg-neutral-800"
|
class="inline-flex px-4 py-2 rounded-md border border-neutral-300/60 dark:border-neutral-700/60 text-sm font-medium text-neutral-800 dark:text-neutral-200 hover:bg-neutral-100 dark:hover:bg-neutral-800">
|
||||||
>
|
|
||||||
Browse Servers
|
Browse Servers
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user