This commit is contained in:
Tutur33
2023-12-06 22:04:30 +01:00
parent f81296cf7c
commit 62974abf9e
26 changed files with 2197 additions and 96 deletions
+8 -3
View File
@@ -3,7 +3,8 @@
"commands": [
"./commands",
"@adonisjs/core/build/commands/index.js",
"@adonisjs/repl/build/commands"
"@adonisjs/repl/build/commands",
"@adonisjs/lucid/build/commands"
],
"exceptionHandlerNamespace": "App/Exceptions/Handler",
"aliases": {
@@ -21,7 +22,11 @@
"@adonisjs/core",
"@adonisjs/session",
"@adonisjs/view",
"@adonisjs/shield"
"@adonisjs/shield",
"@adonisjs/lucid",
"@adonisjs/auth",
"@adonisjs/attachment-lite",
"adonis-responsive-attachment"
],
"metaFiles": [
{
@@ -50,5 +55,5 @@
"testProviders": [
"@japa/preset-adonis/TestsProvider"
],
"lastCompiledAt": "2023-12-02T21:42:21.286Z"
"lastCompiledAt": "2023-12-06T21:03:33.792Z"
}
-7
View File
@@ -1,7 +0,0 @@
PORT=3333
HOST=0.0.0.0
NODE_ENV=production
APP_KEY=1Ad59qH3RodlK8Py5hr2WA2VeNUXEqmL
DRIVE_DISK=local
SESSION_DRIVER=cookie
CACHE_VIEWS=false
+474
View File
@@ -95,6 +95,480 @@
"args": [],
"aliases": [],
"flags": []
},
"db:seed": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/DbSeed",
"commandName": "db:seed",
"description": "Execute database seeders",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection for the seeders",
"alias": "c"
},
{
"name": "interactive",
"propertyName": "interactive",
"type": "boolean",
"description": "Run seeders in interactive mode",
"alias": "i"
},
{
"name": "files",
"propertyName": "files",
"type": "array",
"description": "Define a custom set of seeders files names to run",
"alias": "f"
},
{
"name": "compact-output",
"propertyName": "compactOutput",
"type": "boolean",
"description": "A compact single-line output"
}
]
},
"db:wipe": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/DbWipe",
"commandName": "db:wipe",
"description": "Drop all tables, views and types in database",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "drop-views",
"propertyName": "dropViews",
"type": "boolean",
"description": "Drop all views"
},
{
"name": "drop-types",
"propertyName": "dropTypes",
"type": "boolean",
"description": "Drop all custom types (Postgres only)"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
}
]
},
"db:truncate": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/DbTruncate",
"commandName": "db:truncate",
"description": "Truncate all tables in database",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
}
]
},
"make:model": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/MakeModel",
"commandName": "make:model",
"description": "Make a new Lucid model",
"args": [
{
"type": "string",
"propertyName": "name",
"name": "name",
"required": true,
"description": "Name of the model class"
}
],
"aliases": [],
"flags": [
{
"name": "migration",
"propertyName": "migration",
"type": "boolean",
"alias": "m",
"description": "Generate the migration for the model"
},
{
"name": "controller",
"propertyName": "controller",
"type": "boolean",
"alias": "c",
"description": "Generate the controller for the model"
},
{
"name": "factory",
"propertyName": "factory",
"type": "boolean",
"alias": "f",
"description": "Generate a factory for the model"
}
]
},
"make:migration": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/MakeMigration",
"commandName": "make:migration",
"description": "Make a new migration file",
"args": [
{
"type": "string",
"propertyName": "name",
"name": "name",
"required": true,
"description": "Name of the migration file"
}
],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "The connection flag is used to lookup the directory for the migration file"
},
{
"name": "folder",
"propertyName": "folder",
"type": "string",
"description": "Pre-select a migration directory"
},
{
"name": "create",
"propertyName": "create",
"type": "string",
"description": "Define the table name for creating a new table"
},
{
"name": "table",
"propertyName": "table",
"type": "string",
"description": "Define the table name for altering an existing table"
}
]
},
"make:seeder": {
"settings": {},
"commandPath": "@adonisjs/lucid/build/commands/MakeSeeder",
"commandName": "make:seeder",
"description": "Make a new Seeder file",
"args": [
{
"type": "string",
"propertyName": "name",
"name": "name",
"required": true,
"description": "Name of the seeder class"
}
],
"aliases": [],
"flags": []
},
"make:factory": {
"settings": {},
"commandPath": "@adonisjs/lucid/build/commands/MakeFactory",
"commandName": "make:factory",
"description": "Make a new factory",
"args": [
{
"type": "string",
"propertyName": "model",
"name": "model",
"required": true,
"description": "The name of the model"
}
],
"aliases": [],
"flags": [
{
"name": "model-path",
"propertyName": "modelPath",
"type": "string",
"description": "The path to the model"
},
{
"name": "exact",
"propertyName": "exact",
"type": "boolean",
"description": "Create the factory with the exact name as provided",
"alias": "e"
}
]
},
"migration:run": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Run",
"commandName": "migration:run",
"description": "Migrate database by running pending migrations",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force to run migrations in production"
},
{
"name": "dry-run",
"propertyName": "dryRun",
"type": "boolean",
"description": "Do not run actual queries. Instead view the SQL output"
},
{
"name": "compact-output",
"propertyName": "compactOutput",
"type": "boolean",
"description": "A compact single-line output"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
},
"migration:rollback": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Rollback",
"commandName": "migration:rollback",
"description": "Rollback migrations to a specific batch number",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explictly force to run migrations in production"
},
{
"name": "dry-run",
"propertyName": "dryRun",
"type": "boolean",
"description": "Do not run actual queries. Instead view the SQL output"
},
{
"name": "batch",
"propertyName": "batch",
"type": "number",
"description": "Define custom batch number for rollback. Use 0 to rollback to initial state"
},
{
"name": "compact-output",
"propertyName": "compactOutput",
"type": "boolean",
"description": "A compact single-line output"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
},
"migration:status": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Status",
"commandName": "migration:status",
"description": "View migrations status",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
}
]
},
"migration:reset": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Reset",
"commandName": "migration:reset",
"description": "Rollback all migrations",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
},
{
"name": "dry-run",
"propertyName": "dryRun",
"type": "boolean",
"description": "Do not run actual queries. Instead view the SQL output"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
},
"migration:refresh": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Refresh",
"commandName": "migration:refresh",
"description": "Rollback and migrate database",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
},
{
"name": "dry-run",
"propertyName": "dryRun",
"type": "boolean",
"description": "Do not run actual queries. Instead view the SQL output"
},
{
"name": "seed",
"propertyName": "seed",
"type": "boolean",
"description": "Run seeders"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
},
"migration:fresh": {
"settings": {
"loadApp": true
},
"commandPath": "@adonisjs/lucid/build/commands/Migration/Fresh",
"commandName": "migration:fresh",
"description": "Drop all tables and re-migrate the database",
"args": [],
"aliases": [],
"flags": [
{
"name": "connection",
"propertyName": "connection",
"type": "string",
"description": "Define a custom database connection",
"alias": "c"
},
{
"name": "force",
"propertyName": "force",
"type": "boolean",
"description": "Explicitly force command to run in production"
},
{
"name": "seed",
"propertyName": "seed",
"type": "boolean",
"description": "Run seeders"
},
{
"name": "drop-views",
"propertyName": "dropViews",
"type": "boolean",
"description": "Drop all views"
},
{
"name": "drop-types",
"propertyName": "dropTypes",
"type": "boolean",
"description": "Drop all custom types (Postgres only)"
},
{
"name": "disable-locks",
"propertyName": "disableLocks",
"type": "boolean",
"description": "Disable locks acquired to run migrations safely"
}
]
}
},
"aliases": {}
+2 -2
View File
@@ -9,9 +9,9 @@ const config_1 = require("@adonisjs/session/build/config");
exports.default = (0, config_1.sessionConfig)({
enabled: true,
driver: Env_1.default.get('SESSION_DRIVER'),
cookieName: 'adonis-session',
cookieName: 'session',
clearWithBrowser: false,
age: '2h',
age: '1y',
cookie: {
path: '/',
httpOnly: true,
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../config/session.ts"],"names":[],"mappings":";;;;;AAOA,gFAAsC;AACtC,gGAAsD;AACtD,2DAA8D;AAE9D,kBAAe,IAAA,sBAAa,EAAC;IAU3B,OAAO,EAAE,IAAI;IAiBb,MAAM,EAAE,aAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAUjC,UAAU,EAAE,gBAAgB;IAW5B,gBAAgB,EAAE,KAAK;IAgBvB,GAAG,EAAE,IAAI;IAWT,MAAM,EAAE;QACN,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;KAChB;IAWD,IAAI,EAAE;QACJ,QAAQ,EAAE,qBAAW,CAAC,OAAO,CAAC,UAAU,CAAC;KAC1C;IAWD,eAAe,EAAE,OAAO;CACzB,CAAC,CAAA"}
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../config/session.ts"],"names":[],"mappings":";;;;;AAOA,gFAAsC;AACtC,gGAAsD;AACtD,2DAA8D;AAE9D,kBAAe,IAAA,sBAAa,EAAC;IAU3B,OAAO,EAAE,IAAI;IAiBb,MAAM,EAAE,aAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAUjC,UAAU,EAAE,SAAS;IAWrB,gBAAgB,EAAE,KAAK;IAgBvB,GAAG,EAAE,IAAI;IAWT,MAAM,EAAE;QACN,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;KAChB;IAWD,IAAI,EAAE;QACJ,QAAQ,EAAE,qBAAW,CAAC,OAAO,CAAC,UAAU,CAAC;KAC1C;IAWD,eAAe,EAAE,OAAO;CACzB,CAAC,CAAA"}
+1613 -40
View File
File diff suppressed because it is too large Load Diff
+8 -1
View File
@@ -64,14 +64,21 @@
"youch-terminal": "^2.2.3"
},
"dependencies": {
"@adonisjs/attachment-lite": "^1.0.8",
"@adonisjs/auth": "^8.2.3",
"@adonisjs/core": "^5.9.0",
"@adonisjs/lucid": "^18.4.2",
"@adonisjs/repl": "^3.1.11",
"@adonisjs/session": "^6.4.0",
"@adonisjs/shield": "^7.1.1",
"@adonisjs/view": "^6.2.0",
"adonis-responsive-attachment": "^1.5.10",
"alpinejs": "^3.13.3",
"luxon": "^3.4.4",
"phc-argon2": "^1.1.4",
"proxy-addr": "^2.0.7",
"reflect-metadata": "^0.1.13",
"source-map-support": "^0.5.21"
"source-map-support": "^0.5.21",
"sqlite3": "^5.1.6"
}
}
+4 -1
View File
@@ -1,8 +1,11 @@
{
"entrypoints": {
"app": {
"css": [
"/assets/app.02c2543a.css"
],
"js": [
"/assets/app.31d6cfe0.js"
"/assets/app.8c2f579c.js"
]
}
}
+2 -1
View File
@@ -1,3 +1,4 @@
{
"assets/app.js": "/assets/app.31d6cfe0.js"
"assets/app.css": "/assets/app.02c2543a.css",
"assets/app.js": "/assets/app.8c2f579c.js"
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

+18 -1
View File
@@ -1 +1,18 @@
<p> It's a 404 </p>
@layout('layouts/main')
@set('title', 'Page not found')
@section('body')
<main class="grid min-h-screen place-items-center bg-white px-6 py-24 sm:py-32 lg:px-8">
<div class="text-center">
<p class="text-base font-semibold text-indigo-600">404</p>
<h1 class="mt-4 text-3xl font-bold tracking-tight text-gray-900 sm:text-5xl">Page not found</h1>
<p class="mt-6 text-base leading-7 text-gray-600">Sorry, we couldnt find the page youre looking for.</p>
<div class="mt-10 flex items-center justify-center gap-x-6">
<a href="#" class="rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Go back home</a>
<a href="#" class="text-sm font-semibold text-gray-900">Contact support <span aria-hidden="true">&rarr;</span></a>
</div>
</div>
</main>
@end
+1 -18
View File
@@ -1,18 +1 @@
@layout('layouts/main')
@set('title', 'Page not found')
@section('body')
<main class="grid min-h-screen place-items-center bg-white px-6 py-24 sm:py-32 lg:px-8">
<div class="text-center">
<p class="text-base font-semibold text-indigo-600">404</p>
<h1 class="mt-4 text-3xl font-bold tracking-tight text-gray-900 sm:text-5xl">Page not found</h1>
<p class="mt-6 text-base leading-7 text-gray-600">Sorry, we couldnt find the page youre looking for.</p>
<div class="mt-10 flex items-center justify-center gap-x-6">
<a href="#" class="rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Go back home</a>
<a href="#" class="text-sm font-semibold text-gray-900">Contact support <span aria-hidden="true">&rarr;</span></a>
</div>
</div>
</main>
@end
<p> It's a 403 </p>
+7 -2
View File
@@ -27,6 +27,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
const Server_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Core/Server"));
Server_1.default.middleware.register([() => Promise.resolve().then(() => __importStar(global[Symbol.for('ioc.use')]("Adonis/Core/BodyParser")))]);
Server_1.default.middleware.registerNamed({});
Server_1.default.middleware.register([
() => Promise.resolve().then(() => __importStar(global[Symbol.for('ioc.use')]("Adonis/Core/BodyParser"))),
() => Promise.resolve().then(() => __importStar(global[Symbol.for('ioc.use')]('App/Middleware/SilentAuth')))
]);
Server_1.default.middleware.registerNamed({
auth: () => Promise.resolve().then(() => __importStar(global[Symbol.for('ioc.use')]('App/Middleware/Auth')))
});
//# sourceMappingURL=kernel.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../start/kernel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sFAA4C;AAW5C,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,oGAAsC,CAAC,CAAC,CAAA;AAkBzE,gBAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA"}
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../start/kernel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sFAA4C;AAW5C,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;IACzB,GAAG,EAAE,oGAAsC;IAC3C,GAAG,EAAE,yEAAQ,2BAA2B,GAAC;CAC1C,CAAC,CAAA;AAkBF,gBAAM,CAAC,UAAU,CAAC,aAAa,CAAC;IAC9B,IAAI,EAAE,GAAG,EAAE,yEAAQ,qBAAqB,GAAC;CAC1C,CAAC,CAAA"}
+20 -1
View File
@@ -4,7 +4,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
const Route_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Core/Route"));
const ResponsiveAttachment_1 = global[Symbol.for('ioc.use')]("Adonis/Addons/ResponsiveAttachment");
Route_1.default.get('/', async ({ view }) => {
return view.render('welcome');
return view.render('home');
}).as('home');
Route_1.default.get('/terms', async ({ view }) => {
return view.render('terms');
}).as('terms');
Route_1.default.get('/auth/login', 'AuthController.login').as('login');
Route_1.default.post('/auth/login', 'AuthController.doLogin');
Route_1.default.get('/auth/signup', 'AuthController.signup').as('signup');
Route_1.default.post('/auth/signup', 'AuthController.doSignup');
Route_1.default.get('/compte', 'CompteController.index').as('compte').middleware(['auth']);
Route_1.default.post('/modifpseudo', 'CompteController.modifpseudo');
Route_1.default.post('/modifemail', 'CompteController.modifemail');
Route_1.default.get('/auth/logout', 'AuthController.logout').as('logout');
Route_1.default.get('/compte/delete', 'CompteController.delete').as('delete');
Route_1.default.post('/compte', async ({ auth, request, response }) => {
const avatar = request.file('avatar');
auth.user.avatar = await ResponsiveAttachment_1.ResponsiveAttachment.fromFile(avatar);
await auth.user.save();
return response.redirect().back();
});
//# sourceMappingURL=routes.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../start/routes.ts"],"names":[],"mappings":";;;;;AAoBA,oFAA0C;AAE1C,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA"}
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../start/routes.ts"],"names":[],"mappings":";;;;;AAoBA,oFAA0C;AAC1C,mGAA8E;AAG9E,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;AAEb,eAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACrC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AAEd,eAAK,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AAC5D,eAAK,CAAC,IAAI,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAA;AACnD,eAAK,CAAC,GAAG,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;AAC/D,eAAK,CAAC,IAAI,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAA;AAErD,eAAK,CAAC,GAAG,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAChF,eAAK,CAAC,IAAI,CAAC,cAAc,EAAE,8BAA8B,CAAC,CAAA;AAC1D,eAAK,CAAC,IAAI,CAAC,aAAa,EAAE,6BAA6B,CAAC,CAAA;AAExD,eAAK,CAAC,GAAG,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;AAC/D,eAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;AAEnE,eAAK,CAAC,IAAI,CAAC,SAAS,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAA;IAEtC,IAAI,CAAC,IAAK,CAAC,MAAM,GAAG,MAAM,2CAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/D,MAAM,IAAI,CAAC,IAAK,CAAC,IAAI,EAAE,CAAA;IAEvB,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;AACnC,CAAC,CAAC,CAAA"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -2,10 +2,10 @@
"entrypoints": {
"app": {
"css": [
"http://localhost:8080/assets/app.css"
"/assets/app.02c2543a.css"
],
"js": [
"http://localhost:8080/assets/app.js"
"/assets/app.8c2f579c.js"
]
}
}
+2 -2
View File
@@ -1,4 +1,4 @@
{
"assets/app.css": "http://localhost:8080/assets/app.css",
"assets/app.js": "http://localhost:8080/assets/app.js"
"assets/app.css": "/assets/app.02c2543a.css",
"assets/app.js": "/assets/app.8c2f579c.js"
}
+23 -7
View File
@@ -17,9 +17,18 @@
<h2 class="text-2xl font-bold mb-3 mt-9">Here is your personal information:</h2>
<p>pseudo : {{ auth.user.pseudo }}</p>
<p>email : {{ auth.user.email }}</p>
<p>created at : {{ auth.user.createdAt }}</p>
<p>created at : <span id="formattedDate"></span></p>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
const createdAt = "{{ auth.user.createdAt }}";
const maDate = createdAt.substring(8, 10) + '/' + createdAt.substring(5, 7) + '/' + createdAt.substring(0, 4);
document.getElementById('formattedDate').innerText = maDate;
});
</script>
<div id="settings">
<h2 class="text-2xl font-bold mb-5 mt-9">You can modify your personal information:</h2>
@@ -64,20 +73,27 @@
<div>
<div class="mt-12">
<img class="h-32 w-32 rounded-full" src="{{ auth.user.avatarUrl }}" alt="">
<form action="" method="post" enctype="multipart/form-data">
<form action="" method="post" enctype="multipart/form-data" class="mt-4">
<label for="avatar">Avatar :</label>
<input type="file" name="avatar" id="avatar">
<button type=""submit>Valider</button>
<button
type="submit"
class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded mt-2 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50"
>Valider
</button>
</form>
</div>
<div>
<h2>Delete your compte :</h2>
<a href="{{ route('delete') }}">Delete</a>
<div class="mt-12">
<h2 class="text-2xl font-bold mb-3 mt-9">Delete your compte :</h2>
<a href="{{ route('delete') }}"
class="inline-block bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-opacity-50">
Delete
</a>
</div>
+2 -2
View File
@@ -1,5 +1,5 @@
<header class="flex mt-36 mx-4 mb-24 sm:mx-24">
<div class="mr-10">
<header class="flex mt-36 mx-4 sm:mx-24">
<div class="sm:mr-10">
<h1 class="text-4xl font-bold mb-3">Hi! 👋🏻<br>I'm Arthur.</h1>
<h2 class="text-2xl font-bold mb-3">Founder</h2>
+1 -1
View File
@@ -1,4 +1,4 @@
<section id="about" class="pt-32 mx-4 mb-24 sm:mx-24">
<section id="about" class="pt-32 mx-4 sm:mx-24">
<h2 class="text-2xl font-bold mb-10">About</h2>
<p>Hi ! I'm Arthur, a passionate developer based in France. My journey in the world of development is an inspiring adventure. Every line of code I write is a step toward creating unique and engaging experiences. I am driven by the desire to bring ideas to life and shape them into innovative designs.</p>
+1 -1
View File
@@ -1,4 +1,4 @@
<section id="contact" class="pt-32 mx-4 mb-24 sm:mx-24">
<section id="contact" class="pt-32 mx-4 sm:mx-24">
<h2 class="text-2xl font-bold mb-10">Contact</h2>
@component('components/form/form', {
+1 -1
View File
@@ -1,4 +1,4 @@
<section id="projects" class="pt-32 mx-4 mb-24 sm:mx-24">
<section id="projects" class="pt-32 mx-4 sm:mx-24">
<h2 class="text-2xl font-bold mb-10">Projects</h2>
<div class="flex flex-wrap justify-center">
BIN
View File
Binary file not shown.