mirror of
https://github.com/hubHarmony/servii-frontend.git
synced 2024-11-17 21:40:30 +00:00
+ framework page choice
This commit is contained in:
parent
27ec3b79ec
commit
7f1f2df84d
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
@ -3,12 +3,50 @@ import styles from './CreateServer.module.scss';
|
||||
import { getUserSubdomain } from "../../service/firebase";
|
||||
import serviiApi from "../../service/api.tsx";
|
||||
import PropTypes from "prop-types";
|
||||
import vanillaLogo from '../../assets/frameworks/vanilla.png';
|
||||
import bukkitLogo from '../../assets/frameworks/bukkit.png';
|
||||
import paperLogo from '../../assets/frameworks/paper.png';
|
||||
import spigotLogo from '../../assets/frameworks/spigot.png';
|
||||
|
||||
|
||||
const frameworks = [
|
||||
{ name: 'vanilla', logo: vanillaLogo },
|
||||
{ name: 'bukkit', logo: bukkitLogo },
|
||||
{ name: 'spigot', logo: spigotLogo },
|
||||
{ name: 'paper', logo: paperLogo },
|
||||
];
|
||||
|
||||
const versions = {
|
||||
vanilla: ['1.21', '1.20', '1.19'],
|
||||
bukkit: [
|
||||
'1.15.0', '1.15.1', '1.15.2', '1.15.3', '1.15.4', '1.15.5',
|
||||
'1.16.0', '1.16.1', '1.16.2', '1.16.3', '1.16.4', '1.16.5',
|
||||
'1.17.0', '1.17.1', '1.17.2', '1.17.3', '1.17.4', '1.17.5',
|
||||
'1.18.1', '1.18.2',
|
||||
'1.19.1', '1.19.2', '1.19.3', '1.19.4',
|
||||
'1.20.1', '1.20.2', '1.20.4', '1.20.6'
|
||||
],
|
||||
spigot: ['1.21', '1.20'],
|
||||
paper: [
|
||||
'1.13.1', '1.13.2',
|
||||
'1.14.1', '1.14.2', '1.14.3', '1.14.4',
|
||||
'1.15.1', '1.15.2',
|
||||
'1.16.1', '1.16.2', '1.16.3', '1.16.4', '1.16.5',
|
||||
'1.17.1',
|
||||
'1.18.1', '1.18.2',
|
||||
'1.19.1', '1.19.2', '1.19.3', '1.19.4',
|
||||
'1.20.1', '1.20.2', '1.20.4', '1.20.5', '1.20.6'
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
|
||||
const CreateServer = ({ user, onCreateServer, onSubdomainUpdate, onCancel, noServers }) => {
|
||||
const [subdomain, setSubdomain] = useState(null);
|
||||
const [subdomainInput, setSubdomainInput] = useState('');
|
||||
const [serverName, setServerName] = useState('');
|
||||
const [serverVersion, setServerVersion] = useState('');
|
||||
const [serverVersion, setServerVersion] = useState();
|
||||
const [selectedFramework, setSelectedFramework] = useState("vanilla");
|
||||
|
||||
const loadSubdomain = async () => {
|
||||
try {
|
||||
@ -40,7 +78,7 @@ const CreateServer = ({ user, onCreateServer, onSubdomainUpdate, onCancel, noSer
|
||||
|
||||
const handleCreateServer = async () => {
|
||||
try {
|
||||
await onCreateServer(serverName, serverVersion);
|
||||
await onCreateServer(serverName, serverVersion , selectedFramework);
|
||||
} catch (error) {
|
||||
console.error('Error creating server:', error);
|
||||
}
|
||||
@ -92,16 +130,40 @@ const CreateServer = ({ user, onCreateServer, onSubdomainUpdate, onCancel, noSer
|
||||
value={serverName}
|
||||
onChange={(e) => setServerName(validateInput(e.target.value))}
|
||||
/>
|
||||
|
||||
<div className={styles.subtitle}>Sélection du framework</div>
|
||||
<div className={styles.carreContainer}>
|
||||
|
||||
{frameworks.map((framework, index) => (
|
||||
<img
|
||||
key={index}
|
||||
className={`${styles.carre} ${selectedFramework === framework.name ? styles.selected : ''}`}
|
||||
src={framework.logo.toLowerCase()}
|
||||
alt={`${framework.name} Logo`}
|
||||
onClick={() => {
|
||||
setSelectedFramework(framework.name);
|
||||
setServerVersion('');
|
||||
}}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className={styles.subtitle}>Sélection de la version</div>
|
||||
|
||||
<select
|
||||
className={styles.select}
|
||||
name="version"
|
||||
id="version-select"
|
||||
value={serverVersion}
|
||||
onChange={(e) => setServerVersion(e.target.value)}
|
||||
disabled={!selectedFramework}
|
||||
>
|
||||
<option>Version</option>
|
||||
<option value="1.21">1.21</option>
|
||||
{selectedFramework && versions[selectedFramework].map((version, index) => (
|
||||
<option key={index} value={version}>{version}</option>
|
||||
))}
|
||||
</select>
|
||||
|
||||
<div className={styles.buttonContainer}>
|
||||
<button className={styles.btnServCreate} onClick={handleCreateServer}>
|
||||
Créer
|
||||
|
@ -25,7 +25,6 @@
|
||||
.input, .select {
|
||||
width: 60rem;
|
||||
padding: 1rem;
|
||||
margin-top: 1rem;
|
||||
background-color: #090325;
|
||||
border: none;
|
||||
border-radius: 0.5rem;
|
||||
@ -118,7 +117,9 @@
|
||||
color: #AAA6C3;
|
||||
font-weight: 600;
|
||||
text-align: start;
|
||||
margin-bottom: 2rem;
|
||||
margin-bottom: 1.5rem;
|
||||
margin-top: 2rem;
|
||||
|
||||
}
|
||||
|
||||
.inputsubdomain {
|
||||
@ -132,6 +133,37 @@
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
|
||||
.carreContainer {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 5rem;
|
||||
}
|
||||
|
||||
.carre {
|
||||
width: 5rem;
|
||||
height: 5rem;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
border: 1px solid black;
|
||||
cursor: pointer;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.carre:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.selected {
|
||||
border: 2px solid #fff;
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@media (max-width: 800px) {
|
||||
|
||||
.buttonContainer{
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Link } from 'react-router-dom';
|
||||
import styles from './serverCard.module.scss';
|
||||
|
||||
import paper from '../../assets/frameworks/paper_mc.png';
|
||||
import paper from '../../assets/frameworks/paper.png';
|
||||
import spigot from '../../assets/frameworks/spigot.png';
|
||||
import bukkit from '../../assets/frameworks/bukkit.png';
|
||||
import vanilla from '../../assets/frameworks/vanilla.png';
|
||||
|
@ -39,10 +39,10 @@ const DashboardPage = ({ user }) => {
|
||||
loadServers();
|
||||
}, []);
|
||||
|
||||
const handleCreateServer = async (serverName, serverVersion) => {
|
||||
const handleCreateServer = async (serverName, serverVersion , framework) => {
|
||||
try {
|
||||
if (!serverName || !serverVersion) return;
|
||||
await serviiApi.serverCreate(serverName, serverVersion, "spigot");
|
||||
await serviiApi.serverCreate(serverName, serverVersion, framework);
|
||||
await loadServers();
|
||||
setShowCreateServer(false);
|
||||
} catch (error) {
|
||||
|
Loading…
Reference in New Issue
Block a user