Added icon_links.py
to customize where the icons for discord/telegram/gitea take you
This commit is contained in:
parent
51877cf56e
commit
e068e2b827
1
cdrm-frontend/dist/assets/index-DhrTUBtZ.css
vendored
1
cdrm-frontend/dist/assets/index-DhrTUBtZ.css
vendored
File diff suppressed because one or more lines are too long
155
cdrm-frontend/dist/assets/index-Hj0TonAS.js
vendored
155
cdrm-frontend/dist/assets/index-Hj0TonAS.js
vendored
File diff suppressed because one or more lines are too long
33
cdrm-frontend/dist/index.html
vendored
33
cdrm-frontend/dist/index.html
vendored
@ -1,6 +1,5 @@
|
||||
<<<<<<< Updated upstream
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<html lang="en" class="w-full h-full">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favico.png" />
|
||||
@ -13,32 +12,10 @@
|
||||
<meta property='og:url' content="{{ data.opengraph_url }}" />
|
||||
<meta property='og:locale' content='en_US' />
|
||||
<title>{{ data.tab_title }}</title>
|
||||
<script type="module" crossorigin src="/assets/index-D2On2KQO.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-0Rv9u7Qs.css">
|
||||
<script type="module" crossorigin src="/assets/index-DN7XJ__W.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-COb8XlA9.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<body class="w-full h-full">
|
||||
<div id="root" class="w-full h-full"></div>
|
||||
</body>
|
||||
=======
|
||||
<!doctype html>
|
||||
<html lang="en" class="w-full h-full">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favico.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="{{ data.description }}"/>
|
||||
<meta name="keywords" content="{{ data.keywords }}"/>
|
||||
<meta property='og:title' content="{{ data.opengraph_title }}" />
|
||||
<meta property='og:description' content="{{ data.opengraph_description }}" />
|
||||
<meta property='og:image' content="{{ data.opengraph_image }}" />
|
||||
<meta property='og:url' content="{{ data.opengraph_url }}" />
|
||||
<meta property='og:locale' content='en_US' />
|
||||
<title>{{ data.tab_title }}</title>
|
||||
<script type="module" crossorigin src="/assets/index-Hj0TonAS.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-DhrTUBtZ.css">
|
||||
</head>
|
||||
<body class="w-full h-full">
|
||||
<div id="root" class="w-full h-full"></div>
|
||||
</body>
|
||||
>>>>>>> Stashed changes
|
||||
</html>
|
@ -1,3 +1,4 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { NavLink } from 'react-router-dom';
|
||||
import homeIcon from '../assets/icons/home.svg';
|
||||
import cacheIcon from '../assets/icons/cache.svg';
|
||||
@ -8,105 +9,96 @@ import telegramIcon from '../assets/icons/telegram.svg';
|
||||
import giteaIcon from '../assets/icons/gitea.svg';
|
||||
|
||||
function NavBar() {
|
||||
const [externalLinks, setExternalLinks] = useState({
|
||||
discord: '#',
|
||||
telegram: '#',
|
||||
gitea: '#',
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
fetch('/api/links')
|
||||
.then(response => response.json())
|
||||
.then(data => setExternalLinks(data))
|
||||
.catch(error => console.error('Error fetching links:', error));
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div className="flex flex-col w-full h-full bg-white/1">
|
||||
<div>
|
||||
<p className='text-white text-2xl font-bold p-3 text-center mb-5'>
|
||||
<a href='/'>
|
||||
CDRM-Project
|
||||
</a>
|
||||
<a href='/'>CDRM-Project</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className='overflow-y-auto grow'>
|
||||
<NavLink
|
||||
to='/'
|
||||
className={({ isActive }) =>
|
||||
`flex flex-row p-3 border-l-3 ${isActive ? 'border-l-sky-500/50 bg-black/50' : 'hover:border-l-sky-500/50 hover:bg-white/5'}`
|
||||
}
|
||||
>
|
||||
<button className='w-1/3 p-3 flex flex-col items-center justify-center cursor-pointer'>
|
||||
<img src={homeIcon} alt="Home" className='w-1/2 cursor-pointer' />
|
||||
</button>
|
||||
<p className='grow text-white md:text-2xl font-bold flex items-center justify-start'>
|
||||
Home
|
||||
</p>
|
||||
</NavLink>
|
||||
<NavLink
|
||||
to='/cache'
|
||||
className={({ isActive }) =>
|
||||
`flex flex-row p-3 border-l-3 ${isActive ? 'border-l-emerald-500/50 bg-black/50' : 'hover:border-l-emerald-500/50 hover:bg-white/5'}`
|
||||
}
|
||||
>
|
||||
<button className='w-1/3 p-3 flex flex-col items-center justify-center cursor-pointer'>
|
||||
<img src={cacheIcon} alt="Cache" className='w-1/2 cursor-pointer' />
|
||||
</button>
|
||||
<p className='grow text-white md:text-2xl font-bold flex items-center justify-start'>
|
||||
Cache
|
||||
</p>
|
||||
</NavLink>
|
||||
<NavLink
|
||||
to='/api'
|
||||
className={({ isActive }) =>
|
||||
`flex flex-row p-3 border-l-3 ${isActive ? 'border-l-indigo-500/50 bg-black/50' : 'hover:border-l-indigo-500/50 hover:bg-white/5'}`
|
||||
}
|
||||
>
|
||||
<button className='w-1/3 p-3 flex flex-col items-center justify-center cursor-pointer'>
|
||||
<img src={apiIcon} alt="API" className='w-1/2 cursor-pointer' />
|
||||
</button>
|
||||
<p className='grow text-white md:text-2xl font-bold flex items-center justify-start'>
|
||||
API
|
||||
</p>
|
||||
</NavLink>
|
||||
<NavLink
|
||||
to='/testplayer'
|
||||
className={({ isActive }) =>
|
||||
`flex flex-row p-3 border-l-3 ${isActive ? 'border-l-rose-700/50 bg-black/50' : 'hover:border-l-rose-700/50 hover:bg-white/5'}`
|
||||
}
|
||||
>
|
||||
<button className='w-1/3 p-3 flex flex-col items-center justify-center cursor-pointer'>
|
||||
<img src={testPlayerIcon} alt="Test Player" className='w-1/2 cursor-pointer' />
|
||||
</button>
|
||||
<p className='grow text-white md:text-2xl font-bold flex items-center justify-start'>
|
||||
Test Player
|
||||
</p>
|
||||
</NavLink>
|
||||
{/* Static routes */}
|
||||
{[{
|
||||
to: '/',
|
||||
label: 'Home',
|
||||
icon: homeIcon,
|
||||
color: 'sky'
|
||||
}, {
|
||||
to: '/cache',
|
||||
label: 'Cache',
|
||||
icon: cacheIcon,
|
||||
color: 'emerald'
|
||||
}, {
|
||||
to: '/api',
|
||||
label: 'API',
|
||||
icon: apiIcon,
|
||||
color: 'indigo'
|
||||
}, {
|
||||
to: '/testplayer',
|
||||
label: 'Test Player',
|
||||
icon: testPlayerIcon,
|
||||
color: 'rose-700'
|
||||
}].map(({ to, label, icon, color }) => (
|
||||
<NavLink
|
||||
key={label}
|
||||
to={to}
|
||||
className={({ isActive }) =>
|
||||
`flex flex-row p-3 border-l-3 ${
|
||||
isActive
|
||||
? `border-l-${color}-500/50 bg-black/50`
|
||||
: `hover:border-l-${color}-500/50 hover:bg-white/5`
|
||||
}`
|
||||
}
|
||||
>
|
||||
<button className='w-1/3 p-3 flex flex-col items-center justify-center cursor-pointer'>
|
||||
<img src={icon} alt={label} className='w-1/2 cursor-pointer' />
|
||||
</button>
|
||||
<p className='grow text-white md:text-2xl font-bold flex items-center justify-start'>
|
||||
{label}
|
||||
</p>
|
||||
</NavLink>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{/* External links */}
|
||||
<div className='flex flex-row w-full h-16 self-end bg-black/25'>
|
||||
<a
|
||||
href='https://discord.cdrm-project.com'
|
||||
href={externalLinks.discord}
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='w-1/3 p-3 flex flex-col items-center justify-center cursor-pointer hover:bg-blue-950 group'
|
||||
>
|
||||
<img
|
||||
src={discordIcon}
|
||||
alt="Discord"
|
||||
className='w-1/2 cursor-pointer group-hover:animate-bounce'
|
||||
/>
|
||||
<img src={discordIcon} alt="Discord" className='w-1/2 group-hover:animate-bounce' />
|
||||
</a>
|
||||
<a
|
||||
href='https://telegram.cdrm-project.com'
|
||||
href={externalLinks.telegram}
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='w-1/3 p-3 flex flex-col items-center justify-center cursor-pointer hover:bg-blue-400 group'
|
||||
>
|
||||
<img
|
||||
src={telegramIcon}
|
||||
alt="Telegram"
|
||||
className='w-1/2 cursor-pointer group-hover:animate-bounce'
|
||||
/>
|
||||
<img src={telegramIcon} alt="Telegram" className='w-1/2 group-hover:animate-bounce' />
|
||||
</a>
|
||||
<a
|
||||
href='https://cdm-project.com/tpd94/cdrm-project'
|
||||
href={externalLinks.gitea}
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='w-1/3 p-3 flex flex-col items-center justify-center cursor-pointer hover:bg-green-700 group'
|
||||
>
|
||||
<img
|
||||
src={giteaIcon}
|
||||
alt="Gitea"
|
||||
className='w-1/2 cursor-pointer group-hover:animate-bounce'
|
||||
/>
|
||||
<img src={giteaIcon} alt="Gitea" className='w-1/2 group-hover:animate-bounce' />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
5
configs/icon_links.py
Normal file
5
configs/icon_links.py
Normal file
@ -0,0 +1,5 @@
|
||||
data = {
|
||||
'discord': 'https://discord.cdrm-project.com/',
|
||||
'telegram': 'https://telegram.cdrm-project.com/',
|
||||
'gitea': 'https://cdm-project.com/tpd94/cdm-project'
|
||||
}
|
@ -10,6 +10,7 @@ import mysql.connector
|
||||
from io import StringIO
|
||||
import tempfile
|
||||
import time
|
||||
from configs.icon_links import data as icon_data
|
||||
|
||||
api_bp = Blueprint('api', __name__)
|
||||
with open(f'{os.getcwd()}/configs/config.yaml', 'r') as file:
|
||||
@ -233,4 +234,12 @@ def decrypt_data():
|
||||
return jsonify({
|
||||
'status': 'fail',
|
||||
'message': result['message']
|
||||
})
|
||||
})
|
||||
|
||||
@api_bp.route('/api/links', methods=['GET'])
|
||||
def get_links():
|
||||
return jsonify({
|
||||
'discord': icon_data['discord'],
|
||||
'telegram': icon_data['telegram'],
|
||||
'gitea': icon_data['gitea'],
|
||||
})
|
Loading…
x
Reference in New Issue
Block a user