Mise en prod

This commit is contained in:
hugol
2024-11-16 11:49:20 +01:00
parent a21b69bd8f
commit 3210782a6c
38 changed files with 3486 additions and 6524 deletions

View File

@@ -1,60 +1,67 @@
@extends('layouts.auth')
@section('content')
<div class="max-w-464-px mx-auto w-100">
<div>
<a href="/" class="mb-40 max-w-290-px">
<img src="{{ asset('assets/images/logo.png') }}" alt="">
</a>
<h4 class="mb-12">Se Connecter</h4>
<p class="mb-32 text-secondary-light text-lg">Prêt à tout dechirer !</p>
</div>
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<form method="POST" action="{{ route('login') }}">
@csrf
<div class="icon-field mb-16">
<span class="icon top-50 translate-middle-y">
<iconify-icon icon="mage:email"></iconify-icon>
</span>
<input id="email" type="email" class="form-control h-56-px bg-neutral-50 radius-12 @error('email') is-invalid @enderror"
name="email" value="{{ old('email') }}" required autocomplete="email" placeholder="Email" autofocus>
</div>
@error('email')
<span class="alert alert-danger bg-danger-100 text-danger-600 border-danger-100 px-24 py-11 text-lg radius-8 d-flex align-items-center justify-content-between" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<div class="position-relative mb-20">
<div class="icon-field">
<span class="icon top-50 translate-middle-y">
<iconify-icon icon="solar:lock-password-outline"></iconify-icon>
</span>
<input id="password" type="password"
class="form-control h-56-px bg-neutral-50 radius-12 @error('password') is-invalid @enderror" name="password "
required autocomplete="current-password">
<!-- Header -->
<div class="mb-3 text-center">
<a class="fw-bold fs-1" href="/">
<img src="{{url('/')}}/media/logo.png" class="img-fluid mx-auto">
</a>
<p class="text-uppercase fw-bold fs-sm text-muted">Se connecter!</p>
</div>
<!-- END Header -->
<div class="row g-0 justify-content-center">
<div class="col-sm-8 col-xl-6">
<form class="js-validation-signin" method="POST" action="{{ route('login') }}" novalidate="novalidate">
@csrf
<div class="mb-3">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror"
name="email" value="{{ old('email') }}" required autocomplete="email" autofocus placeholder="Email">
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<span class="toggle-password ri-eye-line cursor-pointer position-absolute end-0 top-50 translate-middle-y me-16 text-secondary-light" data-toggle="#your-password"></span>
</div>
@error('password')
<span class="alert alert-danger bg-danger-100 text-danger-600 border-danger-100 px-24 py-11 text-lg radius-8 d-flex align-items-center justify-content-between" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<div class="">
<div class="d-flex justify-content-between gap-2">
<div class="form-check style-check d-flex align-items-center">
<input class="form-check-input border border-neutral-300" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
<label class="form-check-label" for="remember">Se seouvenir de moi </label>
<div class="mb-3">
<input id="password" type="password"
class="form-control @error('password') is-invalid @enderror" name="password"
required autocomplete="current-password" placeholder="Mot de passe">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="mb-5">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="remember" id="remember"
{{ old('remember') ? 'checked' : '' }}>
<label class="form-check-label" for="remember">
Se souvenir de moi
</label>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary text-sm btn-sm px-12 py-16 w-100 radius-12 mt-32"> Connexion</button>
</form>
<button type="submit" class="btn w-100 btn-lg btn-hero btn-primary mb-3">Connexion
</button>
<p class="text-center">
<a href="/forgot-password" class="text-black">
<i class="fa fa-key opacity-50 me-1"></i> Mot de passe oublié ?
</a>
</p>
<div class="mb-4">
<p class="mt-3 mb-0 d-lg-flex justify-content-lg-between text-center">
<a class="btn btn-sm btn-alt-secondary d-block d-lg-inline-block m-2" href="/">
<i class="fa fa-rotate-back opacity-50 me-1"></i> Revenir à MyX
</a>
</p>
</div>
</form>
</div>
</div>
@endsection
@endsection

View File

@@ -1,4 +1,4 @@
@extends('layouts.app')
@extends('layouts.auth')
@section('content')
<div class="container">

View File

@@ -0,0 +1,66 @@
@extends('layouts.app')
@section('content')
<div class="bg-body-light">
<div class="content content-full">
<div class="d-flex flex-column flex-sm-row justify-content-sm-between align-items-sm-center">
<h1 class="flex-grow-1 fs-3 fw-semibold my-2 my-sm-3">Historique des participations</h1>
<nav class="flex-shrink-0 my-2 my-sm-0 ms-sm-3" aria-label="breadcrumb">
<ol class="breadcrumb">
</ol>
</nav>
</div>
</div>
</div>
<div class="content">
<div class="row">
@foreach($contests as $contest)
<div class="col-md-6 my-2">
<a class="block block-rounded block-link-pop" href="{{$contest->url}}" target="_blank">
@if(isset($contest->picture))
<div class="block-content pb-8 bg-image" style="background-image: url('{{$contest->picture}}');">
@if($contest->participated)
<span class="badge bg-danger fw-bold p-2 text-uppercase">
Participé
</span>
@endif
</div>
@endif
<div class="block-content text-center">
<h4 class="mb-1">{{$contest->name}}</h4>
<p class="fs-sm">
Fin le <span class="text-primary"> {{ \Carbon\Carbon::parse($contest->fin)->format('d/m/y') }}</span>
</p>
<p>
{!! $contest->description !!}
</p>
</div>
<div class="block-content block-content-full bg-body-light">
<div class="row g-0 fs-sm text-center">
<div class="col-4">
<span class="text-muted fw-semibold">
<i class="fa fa-fw fa-heart opacity-50 me-1"></i> {{$contest->nblike}}
</span>
</div>
<div class="col-4">
<span class="text-muted fw-semibold">
<i class="fa fa-retweet fa-heart opacity-50 me-1"></i> {{$contest->nbreply}}
</span>
</div>
<div class="col-4">
<span class="text-muted fw-semibold">
<i class="fa fa-reply fa-comments opacity-50 me-1"></i> {{$contest->nbtweet}}
</span>
</div>
</div>
</div>
</a>
</div>
@endforeach
<div class="mb-3">
{!! $contests->links() !!}
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,26 @@
@extends('layouts.app')
@section('content')
<div class="bg-body-light">
<div class="content content-full">
<div class="d-flex flex-column flex-sm-row justify-content-sm-between align-items-sm-center">
<h1 class="flex-grow-1 fs-3 fw-semibold my-2 my-sm-3">Liste des concours</h1>
<nav class="flex-shrink-0 my-2 my-sm-0 ms-sm-3" aria-label="breadcrumb">
<ol class="breadcrumb">
</ol>
</nav>
</div>
</div>
</div>
<div class="content">
<div class="row">
@foreach($contests as $contest)
<livewire:contest :contest="$contest">
@endforeach
<div class="mb-3">
{!! $contests->links() !!}
</div>
</div>
</div>
@endsection

View File

@@ -1,88 +1,138 @@
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="robots" content="noindex, nofollow">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<link rel="shortcut icon" href="{{url('/')}}/media/favicons/favicon.png">
<link rel="apple-touch-icon" sizes="180x180" href="{{url('/')}}/media/favicons/apple-touch-icon-180x180.png">
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
{!! SEO::generate(true) !!}
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<!-- Modules -->
@yield('css')
@vite(['resources/sass/main.scss', 'resources/js/dashmix/app.js'])
<script src="{{ asset('js/setTheme.js') }}"></script>
@yield('js')
@livewireStyles
@laravelPWA
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
{{ config('app.name', 'Laravel') }}
<div id="page-container" class="sidebar-o sidebar-dark enable-page-overlay side-scroll page-header-fixed main-content-narrow">
<nav id="sidebar" aria-label="Main Navigation">
<div class="smini-hidden">
<div class="content-header justify-content-lg-center bg-white">
<a class="fw-semibold text-white tracking-wide" href="/">
<img src="{{url('/')}}/media/logo.png" width="100px" class="img-fluid mx-auto d-none d-md-block" alt="Logo MyX">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="{{ __('Toggle navigation') }}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav me-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ms-auto">
<!-- Authentication Links -->
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@endif
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button"
data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ Auth::user()->name }}
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a href="{{ route('profile.edit') }}" class="dropdown-item">
{{ __('Profile') }}
</a>
<a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
@csrf
</form>
</div>
</li>
@endguest
</ul>
<div class="d-lg-none">
<button type="button" class="btn btn-sm btn-alt-secondary d-lg-none" data-toggle="layout" data-action="sidebar_close">
<i class="fa fa-times-circle"></i>
</button>
</div>
</div>
</nav>
<main class="py-4">
@yield('content')
</main>
</div>
</div>
<div class="js-sidebar-scroll">
<div class="smini-hidden">
<div class="content-side content-side-full bg-black-10 d-flex align-items-center">
<a class="img-link d-inline-block">
<img class="img-avatar img-avatar48 img-avatar-thumb" src="{{url('/')}}/media/avatars/avatar8.jpg" alt="">
</a>
<div class="ms-3">
<a class="fw-semibold text-dual">{{ucfirst(Auth::user()->name)}}</a>
</div>
</div>
</div>
<div class="content-side">
<ul class="nav-main">
<li class="nav-main-item">
<a class="nav-main-link" href="/">
<i class="nav-main-link-icon fa fa-gauge"></i>
<span class="nav-main-link-name">Dashboard</span>
</a>
</li>
<li class="nav-main-item">
<a class="nav-main-link" href="#">
<i class="nav-main-link-icon fa fa-users"></i>
<span class="nav-main-link-name">Accounts</span>
</a>
</li>
<li class="nav-main-item">
<a class="nav-main-link" href="/history">
<i class="nav-main-link-icon fa fa-chart-line"></i>
<span class="nav-main-link-name">Historique</span>
</a>
</li>
<li class="nav-main-item">
<a class="nav-main-link" href="/nova" target="_blank">
<i class="nav-main-link-icon fa fa-toolbox"></i>
<span class="nav-main-link-name">Nova</span>
</a>
</li>
</ul>
</div>
</div>
</nav>
<header id="page-header">
<div class="content-header">
<div class="row g-0 align-items-center w-100">
<div class="col-5">
<button type="button" class="btn btn-alt-secondary" data-toggle="layout" data-action="sidebar_toggle">
<i class="fa fa-fw fa-bars"></i>
</button>
</div>
<div class="col-2 text-center">
<a href="/">
<img src="{{url('/')}}/media/logo.png" class="img-fluid mx-auto d-md-none d-sm-block" alt="Logo MyX">
</a>
</div>
<div class="col-5 text-end">
<div class="dropdown d-inline-block">
<button type="button" class="btn btn-sm btn-alt-primary ms-1 mx-2" id="page-header-user-dropdown" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="far fa-fw fa-user-circle"></i>
<i class="fa fa-fw fa-angle-down ms-1 d-none d-sm-inline-block"></i>
</button>
<div class="dropdown-menu dropdown-menu-end p-0" aria-labelledby="page-header-user-dropdown">
<div class="p-2">
{{ucfirst(Auth::user()->name)}}
<div role="separator" class="dropdown-divider"></div>
<a class="dropdown-item" href="/profile">
<i class="far fa-fw fa-user me-1"></i> Mon compte
</a>
<a class="dropdown-item" href="/history">
<i class="fa-solid fa-chart-line me-1"></i> Historique
</a>
<div role="separator" class="dropdown-divider"></div>
<a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
<i class="far fa-fw fa-arrow-alt-circle-left me-1"></i> Déconnexion
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
@csrf
</form>
</div>
</div>
</div>
</div>
</div>
</header>
<main id="main-container">
@yield('content')
</main>
<footer id="page-footer" class="bg-body-extra-light">
<div class="content py-3">
<div class="row fs-sm">
<div class="col-sm-6 order-sm-1 py-1 text-center text-sm-start">
Copyright © <span data-toggle="year-copy"></span> <b>MyX</b>. Tous droits réservés
</div>
</div>
</div>
</footer>
</div>
@livewireScripts
</body>
</html>

View File

@@ -1,101 +1,51 @@
<!DOCTYPE html>
<html lang="fr" data-theme="light">
<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="{{ asset('assets/images/favicon.png') }}" sizes="16x16">
<!-- remix icon font css -->
<link rel="stylesheet" href="{{ asset('assets/css/remixicon.css') }}">
<!-- BootStrap css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/bootstrap.min.css') }}">
<!-- Apex Chart css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/apexcharts.css') }}">
<!-- Data Table css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/dataTables.min.css') }}">
<!-- Text Editor css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/editor-katex.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/lib/editor.atom-one-dark.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/lib/editor.quill.snow.css') }}">
<!-- Date picker css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/flatpickr.min.css') }}">
<!-- Calendar css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/full-calendar.css') }}">
<!-- Vector Map css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/jquery-jvectormap-2.0.5.css') }}">
<!-- Popup css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/magnific-popup.css') }}">
<!-- Slick Slider css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/slick.css') }}">
<!-- prism css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/prism.css') }}">
<!-- file upload css -->
<link rel="stylesheet" href="{{ asset('assets/css/lib/file-upload.css') }}">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex, nofollow">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<link rel="stylesheet" href="{{ asset('assets/css/lib/audioplayer.css') }}">
<!-- main css -->
<link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
<link rel="shortcut icon" href="{{url('/')}}/media/favicons/favicon.png">
<link rel="icon" type="image/png" sizes="192x192" href="{{url('/')}}/media/favicons/favicon-192x192.png">
<link rel="apple-touch-icon" sizes="180x180" href="{{url('/')}}/media/favicons/apple-touch-icon-180x180.png">
{!! SEO::generate(true) !!}
<!-- Modules -->
@yield('css')
@vite(['resources/sass/main.scss', 'resources/js/dashmix/app.js'])
<script src="{{ asset('js/setTheme.js') }}"></script>
@yield('js')
@laravelPWA
</head>
<body>
<div id="page-container">
<!-- Main Container -->
<main id="main-container">
<!-- Page Content -->
<div class="bg-image" style="background-image: url('{{url('/')}}/media/photos/twitter.jpg');">
<div class="row g-0 bg-primary-op">
<!-- Meta Info Section -->
<div class="hero-static col-md-8 d-none d-md-flex align-items-md-center justify-content-md-center text-md-center">
<div class="p-5 text-center w-100">
<section class="auth bg-base d-flex flex-wrap">
<div class="auth-left d-lg-block d-none">
<div class="d-flex align-items-center flex-column h-100 justify-content-center">
<img src="{{ asset('assets/images/auth/auth-img.png') }}" alt="">
</div>
</div>
<!-- END Meta Info Section -->
<!-- Main Section -->
<div class="hero-static col-md-4 d-flex align-items-center bg-body-extra-light">
<div class="p-3 w-100">
@yield('content')
</div>
</div>
<!-- END Main Section -->
</div>
</div>
</div>
<div class="auth-right py-32 px-24 d-flex flex-column justify-content-center">
@yield('content')
</div>
</section>
<!-- jQuery library js -->
<script src="{{ asset('assets/js/lib/jquery-3.7.1.min.js') }}"></script>
<!-- Bootstrap js -->
<script src="{{ asset('assets/js/lib/bootstrap.bundle.min.js') }}"></script>
<!-- Apex Chart js -->
<script src="{{ asset('assets/js/lib/apexcharts.min.js') }}"></script>
<!-- Data Table js -->
<script src="{{ asset('assets/js/lib/dataTables.min.js') }}"></script>
<!-- Iconify Font js -->
<script src="{{ asset('assets/js/lib/iconify-icon.min.js') }}"></script>
<!-- jQuery UI js -->
<script src="{{ asset('assets/js/lib/jquery-ui.min.js') }}"></script>
<!-- Vector Map js -->
<script src="{{ asset('assets/js/lib/jquery-jvectormap-2.0.5.min.js') }}"></script>
<script src="{{ asset('assets/js/lib/jquery-jvectormap-world-mill-en.js') }}"></script>
<!-- Popup js -->
<script src="{{ asset('assets/js/lib/magnifc-popup.min.js') }}"></script>
<!-- Slick Slider js -->
<script src="{{ asset('assets/js/lib/slick.min.js') }}"></script>
<!-- prism js -->
<script src="{{ asset('assets/js/lib/prism.js') }}"></script>
<!-- file upload js -->
<script src="{{ asset('assets/js/lib/file-upload.js') }}"></script>
<!-- audioplayer -->
<script src="{{ asset('assets/js/lib/audioplayer.js') }}"></script>
<!-- main js -->
<script src="{{ asset('assets/js/app.js') }}"></script>
<script>
// ================== Password Show Hide Js Start ==========
function initializePasswordToggle(toggleSelector) {
$(toggleSelector).on('click', function() {
$(this).toggleClass("ri-eye-off-line");
var input = $($(this).attr("data-toggle"));
if (input.attr("type") === "password") {
input.attr("type", "text");
} else {
input.attr("type", "password");
}
});
}
// Call the function
initializePasswordToggle('.toggle-password');
// ========================= Password Show Hide Js End ===========================
</script>
<!-- END Page Content -->
</main>
<!-- END Main Container -->
</div>
</body>
</html>
</html>

View File

@@ -1,105 +0,0 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<!-- Styles -->
<style>
html,
body {
background-color: #fff;
color: #636b6f;
font-family: 'Nunito', sans-serif;
font-weight: 200;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links>a {
color: #636b6f;
padding: 0 25px;
font-size: 13px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
@if (Route::has('register'))
<a href="{{ route('register') }}">Register</a>
@endif
@endauth
</div>
@endif
<div class="content">
<div class="title m-b-md">
Laravel
</div>
<div class="links">
<a href="https://laravel.com/docs">Docs</a>
<a href="https://laracasts.com">Laracasts</a>
<a href="https://laravel-news.com">News</a>
<a href="https://blog.laravel.com">Blog</a>
<a href="https://nova.laravel.com">Nova</a>
<a href="https://forge.laravel.com">Forge</a>
<a href="https://vapor.laravel.com">Vapor</a>
<a href="https://github.com/laravel/laravel">GitHub</a>
</div>
</div>
</div>
</body>
</html>