Create everything required to login and register

This commit is contained in:
Tim
2023-04-02 19:34:00 +02:00
parent 82d5625e60
commit 5be77eeba1
26 changed files with 1664 additions and 55 deletions

View File

@ -1,19 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}Welcome!{% endblock %}</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text></svg>">
{# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}
{% block stylesheets %}
{{ encore_entry_link_tags('app') }}
{% endblock %}
{% block javascripts %}
{{ encore_entry_script_tags('app') }}
{% endblock %}
</head>
<body>
{% block body %}{% endblock %}
</body>
</html>

View File

@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}BLES{% endblock %}</title>
<link rel="shortcut icon" type="image/jpg" href="/favicon.png">
<script src="https://kit.fontawesome.com/3471b6556e.js" crossorigin="anonymous"></script>
{% if chartjs|default(false) %}
<script src="https://cdn.jsdelivr.net/npm/chart.js@3.9.1/dist/chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns@2.0.0/dist/chartjs-adapter-date-fns.bundle.min.js"></script>
{% endif %}
{% block css %}
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin="anonymous">
{% endblock %}
</head>
<body>
{{ include('base/navbar.html.twig') }}
{# alert block #}
<div class="container">
<br>
<div class="row">
<div class="col-sm mx-auto">
{% block flashes %}
{% for msg in app.session.flashBag.get('error') %}
<div class="alert alert-danger" role="alert">
<strong>Error: </strong> {{ msg|raw }}
</div>
{% endfor %}
{% for msg in app.session.flashBag.get('success') %}
<div class="alert alert-success">
<strong>Success: </strong> {{ msg|raw }}
</div>
{% endfor %}
{% endblock %}
</div>
</div>
</div>
{# body blocks #}
{% block bodyraw %}
<div class="container">
<div class="row">
<div class="col-sm mx-auto">
{% block body %}{% endblock %}
</div>
{% if block('body2') is defined %}
<div class="col-sm mx-auto">
{{ block('body2') }}
</div>
{% endif %}
</div>
</div>
{% endblock %}
{# javascript block #}
{% block js %}
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js"
integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"></script>
{% endblock %}
</body>
</html>

View File

@ -0,0 +1,33 @@
<nav class="navbar navbar-expand-md navbar-dark bg-dark" style="z-index: 1;">
<div class="container-fluid">
<a title="BlueLinked Eco System" class="navbar-brand" href="{{ path('home') }}">BLES</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar"
aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
<li class="nav-item">
<a class="nav-link" href="{{ path('home') }}">Home</a>
</li>
</ul>
<ul class="navbar-nav my-2 my-lg-0">
{% if app.environment == 'dev' %}
<li class="nav-item">
<a class="btn navbar-text bg-danger" href="#">dev</a> &nbsp;
</li>
{% endif %}
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
<span class="nav-item navbar-text mr-sm-2">Logged in as</span>
<li class="nav-item">
<a class="nav-link" href="{{ path('user_profile') }}">{{ app.user.username }}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ path('logout') }}">Logout</a>
</li>
{% endif %}
</ul>
</div>
</div>
</nav>

View File

@ -0,0 +1,32 @@
{% extends 'base/base.html.twig' %}
{% block title %}Login{% endblock %}
{% block body %}
<form action="{{ path('login') }}" method="post">
{% if error %}
<div class="alert alert-danger">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
{% endif %}
{% if app.user %}
<div class="mb-3">
You are already logged in as {{ app.user }}, <a href="{{ path('logout') }}">Logout</a>
</div>
{% endif %}
<h1 class="h3 mb-3 font-weight-normal">Please login</h1>
<label for="inputUsername">Username</label>
<input type="text" value="{{ last_username }}" name="_username" id="inputUsername" class="form-control" required
autofocus>
<br/>
<label for="inputPassword">Password</label>
<input type="password" name="_password" id="inputPassword" class="form-control" required>
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
<br/>
<div class="checkbox mb-3">
<label>
<input type="checkbox" name="_remember_me"> Remember me
</label>
</div>
<button class="btn btn-primary" type="submit">Login</button>
</form>
{% endblock %}

View File

@ -0,0 +1,6 @@
{% extends 'base/base.html.twig' %}
{% block body %}
<h1 class="h3 mb-3 font-weight-normal">Register new user</h1>
{{ form(registrationForm) }}
{% endblock %}

View File

@ -0,0 +1,5 @@
{% extends 'base/base.html.twig' %}
{% block body %}
{{ text | nl2br }}
{% endblock %}

View File

@ -0,0 +1,26 @@
{% extends "base/base.html.twig" %}
{% block body %}
<div class="row">
<div class="col-sm">
<h4>{{ app.user.name }}</h4>
{% if is_granted('ROLE_API') %}
Your api key: {{ app.user.apiKey }} <a class="btn btn-primary" href="{{ path('user_apikey_generate') }}">Regenerate</a> <br/>
{% endif %}
<br/>
{% if is_granted('ROLE_ADMIN') %}
<br/><br/>
<h4>Latest release stats</h4>
Branch: {{ release.branch }} <br/>
Date: {{ release.date }} <br/>
Hash short: {{ release.commitHashShort }} <br/>
Hash long: {{ release.commitHashLong }} <br/>
Commit date: {{ release.commitDate }} <br/>
{% endif %}
</div>
<div class="col-sm">
<h4>Change profile</h4>
{{ form(form) }}
</div>
</div>
{% endblock %}