-
+
Delete Account
-
+
Once your account is deleted, all of its resources and data will
be permanently deleted. Before deleting your account, please
download any data or information that you wish to retain.
@@ -57,12 +57,12 @@ const closeModal = () => {
Are you sure you want to delete your account?
-
+
Once your account is deleted, all of its resources and data
will be permanently deleted. Please enter your password to
confirm you would like to permanently delete your account.
diff --git a/resources/js/Pages/Profile/Partials/UpdatePasswordForm.vue b/resources/js/Pages/Profile/Partials/UpdatePasswordForm.vue
index 45dfbde..d689381 100644
--- a/resources/js/Pages/Profile/Partials/UpdatePasswordForm.vue
+++ b/resources/js/Pages/Profile/Partials/UpdatePasswordForm.vue
@@ -36,11 +36,11 @@ const updatePassword = () => {
-
+
Your email address is unverified.
Click here to re-send the verification email.
@@ -101,7 +101,7 @@ const form = useForm({
>
Saved.
diff --git a/resources/js/Pages/Spawn.vue b/resources/js/Pages/Spawn.vue
index 8faca23..706578c 100644
--- a/resources/js/Pages/Spawn.vue
+++ b/resources/js/Pages/Spawn.vue
@@ -3,6 +3,9 @@ import TextInput from '@/Components/TextInput.vue';
import { Head, Link, useForm } from '@inertiajs/vue3';
import PrimaryButton from '@/Components/PrimaryButton.vue';
import axios from 'axios';
+import Layout from '@/Layouts/Layout.vue';
+import InputError from '@/Components/InputError.vue';
+import InputLabel from '@/Components/InputLabel.vue';
const form = useForm({
name: "",
@@ -10,19 +13,32 @@ const form = useForm({
});
const submit = () => {
- axios.post("/spawn", {
- name: form.name,
- port: form.port,
- });
+ form.post("/spawn");
}
+
+console.log();
-
-
coucou
+
+
+
+ Créer Votre Serveur Minecraft Gratuitement
+ Nos serveurs sont isolés via Docker et offrent un stockage limité à 10Go. Pour économiser les ressources, un serveur inactif pendant une période prolongée sera automatiquement arrêté.
+
+
+
\ No newline at end of file
diff --git a/resources/js/Pages/Welcome.vue b/resources/js/Pages/Welcome.vue
deleted file mode 100644
index 63eed9c..0000000
--- a/resources/js/Pages/Welcome.vue
+++ /dev/null
@@ -1,386 +0,0 @@
-
-
-
-
-
-

-
-
-
-
-
-
-
-
-
-
-
-

-

-
-
-
-
-
-
-
-
-
- Documentation
-
-
-
- Laravel has wonderful documentation
- covering every aspect of the
- framework. Whether you are a
- newcomer or have prior experience
- with Laravel, we recommend reading
- our documentation from beginning to
- end.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Laracasts
-
-
-
- Laracasts offers thousands of video
- tutorials on Laravel, PHP, and JavaScript
- development. Check them out, see for
- yourself, and massively level up your
- development skills in the process.
-
-
-
-
-
-
-
-
-
-
-
- Laravel News
-
-
-
- Laravel News is a community driven portal
- and newsletter aggregating all of the latest
- and most important news in the Laravel
- ecosystem, including new package releases
- and tutorials.
-
-
-
-
-
-
-
-
-
-
-
- Vibrant Ecosystem
-
-
-
- Laravel's robust library of first-party
- tools and libraries, such as
- Forge,
- Vapor,
- Nova,
- Envoyer, and
- Herd
- help you take your projects to the next
- level. Pair them with powerful open source
- libraries like
- Cashier,
- Dusk,
- Echo,
- Horizon,
- Sanctum,
- Telescope, and more.
-
-
-
-
-
-
-
-
-
-
-
diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php
index 334627a..df9b050 100644
--- a/resources/views/app.blade.php
+++ b/resources/views/app.blade.php
@@ -9,13 +9,13 @@
-
+
@routes
@vite(['resources/js/app.js', "resources/js/Pages/{$page['component']}.vue"])
@inertiaHead
-
+
@inertia
diff --git a/routes/web.php b/routes/web.php
index c7cfac7..0ef1a33 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -1,10 +1,11 @@
Route::has('login'),
- 'canRegister' => Route::has('register'),
- 'laravelVersion' => Application::VERSION,
- 'phpVersion' => PHP_VERSION,
- ]);
-});
+ return Inertia::render('Home');
+})->name("home");
-Route::get("/spawn", function (Request $request) {
- $connector = new FixedUriConnector(
- 'unix:///var/run/docker.sock',
- new UnixConnector()
- );
- $browser = new Browser($connector);
- $browser->get('http://localhost/info')->then(function (ResponseInterface $response) {
- }, function (Exception $e) {
- echo 'Error: ' . $e->getMessage() . PHP_EOL;
- });
+Route::get("/info", function() {
+ $config = Docker::info();
+ return Inertia::render('Info', [ "config" => $config ]);
+})->name("docker.info");
+Route::get("/spawn", function (Request $request) {
return Inertia::render('Spawn');
-});
+})->name("docker.create");
Route::post("/spawn", function (Request $request) {
$request->validate([
"name" => "required|string",
"port" => "required|string"
]);
- $container = (object)[];
- Container::create($request->name, [
- "Hostname" => "mincraft-". $request->name,
- "Domainname" => $request->name,
- "User" => "root",
- "Image" => "minecraft:latest",
- "OpenStdin" => true,
- "Tty" => true,
- "ExposedPorts" => [ "25565/tcp" => (object)[] ],
- "HostConfig" => [
- "PortBindings" => [ "25565/tcp" => [[ "HostPort" => $request->port ]] ],
- ]
- ],
- [
- "onSucces" => function ($c) use($container) {
- $container = $c;
- $container->start([
- "onSucces" => function ($c, $data) {
- return dd($c, $data);
- },
- "onError" => function($e) {
- return dd($e);
- }
- ]);
- },
- "onError" => function($e) {
- return dd($e);
- }
+ $container = Container::create($request->name, [
+ "Hostname" => "mincraft-". $request->name,
+ "Domainname" => $request->name,
+ "User" => "root",
+ "Image" => "minecraft:latest",
+ "OpenStdin" => true,
+ "Tty" => true,
+ "ExposedPorts" => [ "25565/tcp" => (object)[] ],
+ "HostConfig" => [
+ "PortBindings" => [ "25565/tcp" => [[ "HostPort" => $request->port ]] ],
]
- );
+ ]);
+ $container->start();
+ return redirect("/");
});
Route::get('/dashboard', function () {
- exec("docker-compose up -d –force-recreate");
return Inertia::render('Dashboard');
})->middleware(['auth', 'verified'])->name('dashboard');
diff --git a/tailwind.config.js b/tailwind.config.js
index d7c4a93..5a07e9a 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -9,14 +9,37 @@ export default {
'./resources/views/**/*.blade.php',
'./resources/js/**/*.vue',
],
-
theme: {
extend: {
fontFamily: {
sans: ['Figtree', ...defaultTheme.fontFamily.sans],
+ roboto: ["Roboto"]
+ },
+ colors: {
+ gray: {
+ 100: '#f5f5f5', // Gris très clair
+ 200: '#e5e5e5', // Un peu plus foncé
+ 300: '#d4d4d4',
+ 400: '#a3a3a3',
+ 500: '#737373', // Milieu de la palette
+ 600: '#525252',
+ 700: '#404040',
+ 800: '#262626',
+ 900: '#171717', // Gris très foncé
+ },
+ textColor: {
+ 100: '#ffffff', // Blanc pur pour texte sur fond très foncé
+ 200: '#f5f5f5', // Presque blanc, lisible sur gris foncé
+ 300: '#e5e5e5',
+ 400: '#cccccc', // Lisible sur gris moyen
+ 500: '#a3a3a3', // Texte équilibré sur fond gris 700-900
+ 600: '#737373', // Neutre, polyvalent
+ 700: '#525252', // Parfait pour du texte contrasté sur gris clair
+ 800: '#404040', // Bonne lisibilité sur fonds très clairs
+ 900: '#171717', // Noir profond, lisible sur gris pâle
+ },
},
},
},
-
plugins: [forms],
};