mirror of
https://github.com/getnamingo/registry.git
synced 2025-05-10 16:58:34 +02:00
Updated the profile page
This commit is contained in:
parent
5d0778526c
commit
ac61a4c3ad
7 changed files with 45 additions and 672 deletions
|
@ -2,111 +2,30 @@
|
|||
|
||||
namespace App\Controllers;
|
||||
|
||||
use App\Models\User;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
class ProfileController extends Controller
|
||||
{
|
||||
public function profile(Request $request, Response $response)
|
||||
{
|
||||
$username = $_SESSION['auth_username'];
|
||||
$email = $_SESSION['auth_email'];
|
||||
$status = $_SESSION['auth_status'];
|
||||
if ($status == 0) {
|
||||
$status = "Confirmed";
|
||||
} else {
|
||||
$status = "Unknown";
|
||||
}
|
||||
$roles = $_SESSION['auth_roles'];
|
||||
if ($roles == 0) {
|
||||
$role = "Admin";
|
||||
} else {
|
||||
$role = "Unknown";
|
||||
}
|
||||
|
||||
public function profile(Request $request, Response $response)
|
||||
{
|
||||
$username = $_SESSION['auth_username'];
|
||||
$email = $_SESSION['auth_email'];
|
||||
$status = $_SESSION['auth_status'];
|
||||
if ($status == 0) {
|
||||
$status = "Confirmed";
|
||||
} else {
|
||||
$status = "Unknown";
|
||||
}
|
||||
$roles = $_SESSION['auth_roles'];
|
||||
if ($roles == 0) {
|
||||
$role = "Admin";
|
||||
} else {
|
||||
$role = "Unknown";
|
||||
}
|
||||
|
||||
return view($response,'admin/profile/profile.twig',['email' => $email, 'username' => $username, 'status' => $status, 'role' => $role]);
|
||||
}
|
||||
|
||||
public function notifications(Request $request, Response $response)
|
||||
{
|
||||
$username = $_SESSION['auth_username'];
|
||||
$email = $_SESSION['auth_email'];
|
||||
$status = $_SESSION['auth_status'];
|
||||
if ($status == 0) {
|
||||
$status = "Confirmed";
|
||||
} else {
|
||||
$status = "Unknown";
|
||||
}
|
||||
$roles = $_SESSION['auth_roles'];
|
||||
if ($roles == 0) {
|
||||
$role = "Admin";
|
||||
} else {
|
||||
$role = "Unknown";
|
||||
}
|
||||
|
||||
return view($response,'admin/profile/notifications.twig',['email' => $email, 'username' => $username, 'status' => $status, 'role' => $role]);
|
||||
}
|
||||
|
||||
public function security(Request $request, Response $response)
|
||||
{
|
||||
$username = $_SESSION['auth_username'];
|
||||
$email = $_SESSION['auth_email'];
|
||||
$status = $_SESSION['auth_status'];
|
||||
if ($status == 0) {
|
||||
$status = "Confirmed";
|
||||
} else {
|
||||
$status = "Unknown";
|
||||
}
|
||||
$roles = $_SESSION['auth_roles'];
|
||||
if ($roles == 0) {
|
||||
$role = "Admin";
|
||||
} else {
|
||||
$role = "Unknown";
|
||||
}
|
||||
|
||||
return view($response,'admin/profile/security.twig',['email' => $email, 'username' => $username, 'status' => $status, 'role' => $role]);
|
||||
}
|
||||
|
||||
public function plans(Request $request, Response $response)
|
||||
{
|
||||
$username = $_SESSION['auth_username'];
|
||||
$email = $_SESSION['auth_email'];
|
||||
$status = $_SESSION['auth_status'];
|
||||
if ($status == 0) {
|
||||
$status = "Confirmed";
|
||||
} else {
|
||||
$status = "Unknown";
|
||||
}
|
||||
$roles = $_SESSION['auth_roles'];
|
||||
if ($roles == 0) {
|
||||
$role = "Admin";
|
||||
} else {
|
||||
$role = "Unknown";
|
||||
}
|
||||
|
||||
return view($response,'admin/profile/plans.twig',['email' => $email, 'username' => $username, 'status' => $status, 'role' => $role]);
|
||||
}
|
||||
|
||||
public function invoices(Request $request, Response $response)
|
||||
{
|
||||
$username = $_SESSION['auth_username'];
|
||||
$email = $_SESSION['auth_email'];
|
||||
$status = $_SESSION['auth_status'];
|
||||
if ($status == 0) {
|
||||
$status = "Confirmed";
|
||||
} else {
|
||||
$status = "Unknown";
|
||||
}
|
||||
$roles = $_SESSION['auth_roles'];
|
||||
if ($roles == 0) {
|
||||
$role = "Admin";
|
||||
} else {
|
||||
$role = "Unknown";
|
||||
}
|
||||
|
||||
return view($response,'admin/profile/invoices.twig',['email' => $email, 'username' => $username, 'status' => $status, 'role' => $role]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,112 +0,0 @@
|
|||
{% extends "layouts/app.twig" %}
|
||||
|
||||
{% block title %}Invoices{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page-wrapper">
|
||||
<!-- Page header -->
|
||||
<div class="page-header d-print-none">
|
||||
<div class="container-xl">
|
||||
<div class="row g-2 align-items-center">
|
||||
<div class="col">
|
||||
<!-- Page pre-title -->
|
||||
<div class="page-pretitle">
|
||||
Overview
|
||||
</div>
|
||||
<h2 class="page-title">
|
||||
Profile
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Page body -->
|
||||
<div class="page-body">
|
||||
<div class="container-xl">
|
||||
<div class="card">
|
||||
<div class="row g-0">
|
||||
<div class="col-3 d-none d-md-block border-end">
|
||||
<div class="card-body">
|
||||
<h4 class="subheader">Settings</h4>
|
||||
<div class="list-group list-group-transparent">
|
||||
<a href="{{route('profile')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('profile') %} active{% endif %}">My Account</a>
|
||||
<a href="{{route('notifications')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('notifications') %} active{% endif %}">Notifications</a>
|
||||
<a href="{{route('security')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('security') %} active{% endif %}">Security</a>
|
||||
<a href="{{route('plans')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('plans') %} active{% endif %}">Plans</a>
|
||||
<a href="{{route('invoices')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('invoices') %} active{% endif %}">Invoices</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex flex-column">
|
||||
<div class="card-body">
|
||||
<form action="{{route('change.password')}}" name="register" method="post">
|
||||
{{ csrf.field | raw }}
|
||||
<h2 class="mb-4">Invoices</h2>
|
||||
<h3 class="card-title">Profile Details</h3>
|
||||
<div class="row g-3">
|
||||
<div class="col-md">
|
||||
<div class="form-label">User Name</div>
|
||||
<div class="form-control-plaintext">{{ username }}</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Email</div>
|
||||
<div class="form-control-plaintext">{{ email }}</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Status</div>
|
||||
<span class="badge bg-green mt-2">{{ status }}</span>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Role</div>
|
||||
<span class="badge bg-blue mt-2">{{ role }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="card-title mt-4">Change Password</h3>
|
||||
<div class="row g-3">
|
||||
<div class="col-md">
|
||||
<div class="form-label required">Old Password</div>
|
||||
<input type="password" class="form-control{{ errors.old_password ? ' is-invalid' : '' }}" name="old_password" placeholder="Enter old password" required>
|
||||
{% if errors.old_password %}
|
||||
<small class="form-hint">{{ errors.old_password | first }}</small>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label required">New Password</div>
|
||||
<input type="password" class="form-control{{ errors.new_password ? ' is-invalid' : '' }}" name="new_password" placeholder="Enter new password" required>
|
||||
{% if errors.new_password %}
|
||||
<small class="form-hint">{{ errors.new_password | first }}</small>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer bg-transparent mt-auto">
|
||||
<div class="btn-list justify-content-end">
|
||||
<a href="{{route('home')}}" class="btn">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-arrow-back" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 11l-4 4l4 4m-4 -4h11a4 4 0 0 0 0 -8h-1"></path></svg> Back
|
||||
</a>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path><path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path></svg> Update
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer footer-transparent d-print-none">
|
||||
<div class="container-xl">
|
||||
<div class="col-12 col-lg-auto mt-3 mt-lg-0">
|
||||
<ul class="list-inline list-inline-dots mb-0">
|
||||
<li class="list-inline-item">
|
||||
Copyright © 2023
|
||||
<a href="https://getpinga.com" class="link-secondary">Pinga</a>.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,112 +0,0 @@
|
|||
{% extends "layouts/app.twig" %}
|
||||
|
||||
{% block title %}Notifications{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page-wrapper">
|
||||
<!-- Page header -->
|
||||
<div class="page-header d-print-none">
|
||||
<div class="container-xl">
|
||||
<div class="row g-2 align-items-center">
|
||||
<div class="col">
|
||||
<!-- Page pre-title -->
|
||||
<div class="page-pretitle">
|
||||
Overview
|
||||
</div>
|
||||
<h2 class="page-title">
|
||||
Profile
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Page body -->
|
||||
<div class="page-body">
|
||||
<div class="container-xl">
|
||||
<div class="card">
|
||||
<div class="row g-0">
|
||||
<div class="col-3 d-none d-md-block border-end">
|
||||
<div class="card-body">
|
||||
<h4 class="subheader">Settings</h4>
|
||||
<div class="list-group list-group-transparent">
|
||||
<a href="{{route('profile')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('profile') %} active{% endif %}">My Account</a>
|
||||
<a href="{{route('notifications')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('notifications') %} active{% endif %}">Notifications</a>
|
||||
<a href="{{route('security')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('security') %} active{% endif %}">Security</a>
|
||||
<a href="{{route('plans')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('plans') %} active{% endif %}">Plans</a>
|
||||
<a href="{{route('invoices')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('invoices') %} active{% endif %}">Invoices</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex flex-column">
|
||||
<div class="card-body">
|
||||
<form action="{{route('change.password')}}" name="register" method="post">
|
||||
{{ csrf.field | raw }}
|
||||
<h2 class="mb-4">Notifications</h2>
|
||||
<h3 class="card-title">Profile Details</h3>
|
||||
<div class="row g-3">
|
||||
<div class="col-md">
|
||||
<div class="form-label">User Name</div>
|
||||
<div class="form-control-plaintext">{{ username }}</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Email</div>
|
||||
<div class="form-control-plaintext">{{ email }}</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Status</div>
|
||||
<span class="badge bg-green mt-2">{{ status }}</span>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Role</div>
|
||||
<span class="badge bg-blue mt-2">{{ role }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="card-title mt-4">Change Password</h3>
|
||||
<div class="row g-3">
|
||||
<div class="col-md">
|
||||
<div class="form-label required">Old Password</div>
|
||||
<input type="password" class="form-control{{ errors.old_password ? ' is-invalid' : '' }}" name="old_password" placeholder="Enter old password" required>
|
||||
{% if errors.old_password %}
|
||||
<small class="form-hint">{{ errors.old_password | first }}</small>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label required">New Password</div>
|
||||
<input type="password" class="form-control{{ errors.new_password ? ' is-invalid' : '' }}" name="new_password" placeholder="Enter new password" required>
|
||||
{% if errors.new_password %}
|
||||
<small class="form-hint">{{ errors.new_password | first }}</small>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer bg-transparent mt-auto">
|
||||
<div class="btn-list justify-content-end">
|
||||
<a href="{{route('home')}}" class="btn">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-arrow-back" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 11l-4 4l4 4m-4 -4h11a4 4 0 0 0 0 -8h-1"></path></svg> Back
|
||||
</a>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path><path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path></svg> Update
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer footer-transparent d-print-none">
|
||||
<div class="container-xl">
|
||||
<div class="col-12 col-lg-auto mt-3 mt-lg-0">
|
||||
<ul class="list-inline list-inline-dots mb-0">
|
||||
<li class="list-inline-item">
|
||||
Copyright © 2023
|
||||
<a href="https://getpinga.com" class="link-secondary">Pinga</a>.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,189 +0,0 @@
|
|||
{% extends "layouts/app.twig" %}
|
||||
|
||||
{% block title %}Plans{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page-wrapper">
|
||||
<!-- Page header -->
|
||||
<div class="page-header d-print-none">
|
||||
<div class="container-xl">
|
||||
<div class="row g-2 align-items-center">
|
||||
<div class="col">
|
||||
<!-- Page pre-title -->
|
||||
<div class="page-pretitle">
|
||||
Overview
|
||||
</div>
|
||||
<h2 class="page-title">
|
||||
Profile
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Page body -->
|
||||
<div class="page-body">
|
||||
<div class="container-xl">
|
||||
<div class="card">
|
||||
<div class="row g-0">
|
||||
<div class="col-3 d-none d-md-block border-end">
|
||||
<div class="card-body">
|
||||
<h4 class="subheader">Settings</h4>
|
||||
<div class="list-group list-group-transparent">
|
||||
<a href="{{route('profile')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('profile') %} active{% endif %}">My Account</a>
|
||||
<a href="{{route('notifications')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('notifications') %} active{% endif %}">Notifications</a>
|
||||
<a href="{{route('security')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('security') %} active{% endif %}">Security</a>
|
||||
<a href="{{route('plans')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('plans') %} active{% endif %}">Plans</a>
|
||||
<a href="{{route('invoices')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('invoices') %} active{% endif %}">Invoices</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex flex-column">
|
||||
<div class="card-body">
|
||||
<h2 class="mb-4">Plans</h2>
|
||||
<p class="text-muted mb-4">This workspace’s Basic Plan is set to $34 per month and will renew on June 19, 2022.</p>
|
||||
<div class="row row-cards">
|
||||
<div class="col-lg-4">
|
||||
<div class="card card-md">
|
||||
<div class="card-body text-center">
|
||||
<div class="text-uppercase text-muted font-weight-medium">Free</div>
|
||||
<div class="display-5 fw-bold my-3">$0</div>
|
||||
<ul class="list-unstyled lh-lg">
|
||||
<li><strong>3</strong> Users</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/check -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-success" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l5 5l10 -10" /></svg>
|
||||
Sharing Tools
|
||||
</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/x -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-danger" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" /></svg>
|
||||
Design Tools
|
||||
</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/x -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-danger" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" /></svg>
|
||||
Private Messages
|
||||
</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/x -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-danger" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" /></svg>
|
||||
Twitter API
|
||||
</li>
|
||||
</ul>
|
||||
<div class="text-center mt-4">
|
||||
<a href="#" class="btn w-100">Choose plan</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="card card-md">
|
||||
<div class="ribbon ribbon-top ribbon-bookmark bg-green">
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/star -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" /></svg>
|
||||
</div>
|
||||
<div class="card-body text-center">
|
||||
<div class="text-uppercase text-muted font-weight-medium">Premium</div>
|
||||
<div class="display-5 fw-bold my-3">$49</div>
|
||||
<ul class="list-unstyled lh-lg">
|
||||
<li><strong>10</strong> Users</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/check -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-success" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l5 5l10 -10" /></svg>
|
||||
Sharing Tools
|
||||
</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/check -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-success" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l5 5l10 -10" /></svg>
|
||||
Design Tools
|
||||
</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/x -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-danger" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" /></svg>
|
||||
Private Messages
|
||||
</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/x -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-danger" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" /></svg>
|
||||
Twitter API
|
||||
</li>
|
||||
</ul>
|
||||
<div class="text-center mt-4">
|
||||
<a href="#" class="btn btn-green w-100">Choose plan</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="card card-md">
|
||||
<div class="card-body text-center">
|
||||
<div class="text-uppercase text-muted font-weight-medium">Enterprise</div>
|
||||
<div class="display-5 fw-bold my-3">$99</div>
|
||||
<ul class="list-unstyled lh-lg">
|
||||
<li><strong>100</strong> Users</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/check -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-success" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l5 5l10 -10" /></svg>
|
||||
Sharing Tools
|
||||
</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/check -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-success" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l5 5l10 -10" /></svg>
|
||||
Design Tools
|
||||
</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/check -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-success" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l5 5l10 -10" /></svg>
|
||||
Private Messages
|
||||
</li>
|
||||
<li>
|
||||
<!-- Download SVG icon from http://tabler-icons.io/i/x -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-1 text-danger" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" /></svg>
|
||||
Twitter API
|
||||
</li>
|
||||
</ul>
|
||||
<div class="text-center mt-4">
|
||||
<a href="#" class="btn w-100">Choose plan</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="card card-md">
|
||||
<div class="card-body">
|
||||
<div class="row align-items-center">
|
||||
<div class="col">
|
||||
<h2 class="h3">Enterprise-ready. Reach out for a custom quote.</h2>
|
||||
<p class="m-0 text-muted">Tabler is designed to work great for large enterprises. Take a look at our feature comparison.</p>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<a href="#" class="btn">
|
||||
Book a demo
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer footer-transparent d-print-none">
|
||||
<div class="container-xl">
|
||||
<div class="col-12 col-lg-auto mt-3 mt-lg-0">
|
||||
<ul class="list-inline list-inline-dots mb-0">
|
||||
<li class="list-inline-item">
|
||||
Copyright © 2023
|
||||
<a href="https://getpinga.com" class="link-secondary">Pinga</a>.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "layouts/app.twig" %}
|
||||
|
||||
{% block title %}Profile{% endblock %}
|
||||
{% block title %}{{ __('My Profile') }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page-wrapper">
|
||||
|
@ -11,10 +11,10 @@
|
|||
<div class="col">
|
||||
<!-- Page pre-title -->
|
||||
<div class="page-pretitle">
|
||||
Overview
|
||||
{{ __('Overview') }}
|
||||
</div>
|
||||
<h2 class="page-title">
|
||||
Profile
|
||||
{{ __('My Profile') }}
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -24,74 +24,57 @@
|
|||
<div class="page-body">
|
||||
<div class="container-xl">
|
||||
<div class="card">
|
||||
<div class="row g-0">
|
||||
<div class="col-3 d-none d-md-block border-end">
|
||||
<div class="card-body">
|
||||
<h4 class="subheader">Settings</h4>
|
||||
<div class="list-group list-group-transparent">
|
||||
<a href="{{route('profile')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('profile') %} active{% endif %}">My Account</a>
|
||||
<a href="{{route('notifications')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('notifications') %} active{% endif %}">Notifications</a>
|
||||
<a href="{{route('security')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('security') %} active{% endif %}">Security</a>
|
||||
<a href="{{route('plans')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('plans') %} active{% endif %}">Plans</a>
|
||||
<a href="{{route('invoices')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('invoices') %} active{% endif %}">Invoices</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex flex-column">
|
||||
<div class="card-body">
|
||||
<form action="{{route('change.password')}}" name="register" method="post">
|
||||
{{ csrf.field | raw }}
|
||||
<h2 class="mb-4">My Account</h2>
|
||||
<h3 class="card-title">Profile Details</h3>
|
||||
<form action="{{route('change.password')}}" name="register" method="post">
|
||||
{{ csrf.field | raw }}
|
||||
<h5 class="card-title">{{ __('Details') }}</h5>
|
||||
<div class="row g-3">
|
||||
<div class="col-md">
|
||||
<div class="form-label">User Name</div>
|
||||
<div class="form-control-plaintext">{{ username }}</div>
|
||||
<div class="form-label">{{ __('User Name') }}</div>
|
||||
<div class="form-control-plaintext">{{ username }}</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Email</div>
|
||||
<div class="form-control-plaintext">{{ email }}</div>
|
||||
<div class="form-label">{{ __('Email') }}</div>
|
||||
<div class="form-control-plaintext">{{ email }}</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Status</div>
|
||||
<span class="badge bg-green mt-2">{{ status }}</span>
|
||||
<div class="form-label">{{ __('Status') }}</div>
|
||||
<span class="badge bg-green text-bg-green mt-2">{{ status }}</span>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Role</div>
|
||||
<span class="badge bg-blue mt-2">{{ role }}</span>
|
||||
<div class="form-label">{{ __('Role') }}</div>
|
||||
<span class="badge bg-blue text-bg-blue mt-2">{{ role }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="card-title mt-4">Change Password</h3>
|
||||
<h3 class="card-title mt-4">{{ __('Change Password') }}</h3>
|
||||
<div class="row g-3">
|
||||
<div class="col-md">
|
||||
<div class="form-label required">Old Password</div>
|
||||
<div class="form-label required">{{ __('Old Password') }}</div>
|
||||
<input type="password" class="form-control{{ errors.old_password ? ' is-invalid' : '' }}" name="old_password" placeholder="Enter old password" required>
|
||||
{% if errors.old_password %}
|
||||
<small class="form-hint">{{ errors.old_password | first }}</small>
|
||||
{% endif %}
|
||||
{% if errors.old_password %}
|
||||
<small class="form-hint">{{ errors.old_password | first }}</small>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label required">New Password</div>
|
||||
<div class="form-label required">{{ __('New Password') }}</div>
|
||||
<input type="password" class="form-control{{ errors.new_password ? ' is-invalid' : '' }}" name="new_password" placeholder="Enter new password" required>
|
||||
{% if errors.new_password %}
|
||||
<small class="form-hint">{{ errors.new_password | first }}</small>
|
||||
{% endif %}
|
||||
{% if errors.new_password %}
|
||||
<small class="form-hint">{{ errors.new_password | first }}</small>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer bg-transparent mt-auto">
|
||||
<div class="btn-list justify-content-end">
|
||||
<a href="{{route('home')}}" class="btn">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-arrow-back" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 11l-4 4l4 4m-4 -4h11a4 4 0 0 0 0 -8h-1"></path></svg> Back
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 11l-4 4l4 4m-4 -4h11a4 4 0 0 0 0 -8h-1"></path></svg> {{ __('Back') }}
|
||||
</a>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path><path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path></svg> Update
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path><path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path></svg> {{ __('Update') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,112 +0,0 @@
|
|||
{% extends "layouts/app.twig" %}
|
||||
|
||||
{% block title %}Security{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page-wrapper">
|
||||
<!-- Page header -->
|
||||
<div class="page-header d-print-none">
|
||||
<div class="container-xl">
|
||||
<div class="row g-2 align-items-center">
|
||||
<div class="col">
|
||||
<!-- Page pre-title -->
|
||||
<div class="page-pretitle">
|
||||
Overview
|
||||
</div>
|
||||
<h2 class="page-title">
|
||||
Profile
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Page body -->
|
||||
<div class="page-body">
|
||||
<div class="container-xl">
|
||||
<div class="card">
|
||||
<div class="row g-0">
|
||||
<div class="col-3 d-none d-md-block border-end">
|
||||
<div class="card-body">
|
||||
<h4 class="subheader">Settings</h4>
|
||||
<div class="list-group list-group-transparent">
|
||||
<a href="{{route('profile')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('profile') %} active{% endif %}">My Account</a>
|
||||
<a href="{{route('notifications')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('notifications') %} active{% endif %}">Notifications</a>
|
||||
<a href="{{route('security')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('security') %} active{% endif %}">Security</a>
|
||||
<a href="{{route('plans')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('plans') %} active{% endif %}">Plans</a>
|
||||
<a href="{{route('invoices')}}" class="list-group-item list-group-item-action d-flex align-items-center{% if route_is('invoices') %} active{% endif %}">Invoices</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex flex-column">
|
||||
<div class="card-body">
|
||||
<form action="{{route('change.password')}}" name="register" method="post">
|
||||
{{ csrf.field | raw }}
|
||||
<h2 class="mb-4">Security</h2>
|
||||
<h3 class="card-title">Profile Details</h3>
|
||||
<div class="row g-3">
|
||||
<div class="col-md">
|
||||
<div class="form-label">User Name</div>
|
||||
<div class="form-control-plaintext">{{ username }}</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Email</div>
|
||||
<div class="form-control-plaintext">{{ email }}</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Status</div>
|
||||
<span class="badge bg-green mt-2">{{ status }}</span>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label">Role</div>
|
||||
<span class="badge bg-blue mt-2">{{ role }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="card-title mt-4">Change Password</h3>
|
||||
<div class="row g-3">
|
||||
<div class="col-md">
|
||||
<div class="form-label required">Old Password</div>
|
||||
<input type="password" class="form-control{{ errors.old_password ? ' is-invalid' : '' }}" name="old_password" placeholder="Enter old password" required>
|
||||
{% if errors.old_password %}
|
||||
<small class="form-hint">{{ errors.old_password | first }}</small>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-label required">New Password</div>
|
||||
<input type="password" class="form-control{{ errors.new_password ? ' is-invalid' : '' }}" name="new_password" placeholder="Enter new password" required>
|
||||
{% if errors.new_password %}
|
||||
<small class="form-hint">{{ errors.new_password | first }}</small>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer bg-transparent mt-auto">
|
||||
<div class="btn-list justify-content-end">
|
||||
<a href="{{route('home')}}" class="btn">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-arrow-back" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 11l-4 4l4 4m-4 -4h11a4 4 0 0 0 0 -8h-1"></path></svg> Back
|
||||
</a>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path><path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path></svg> Update
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer footer-transparent d-print-none">
|
||||
<div class="container-xl">
|
||||
<div class="col-12 col-lg-auto mt-3 mt-lg-0">
|
||||
<ul class="list-inline list-inline-dots mb-0">
|
||||
<li class="list-inline-item">
|
||||
Copyright © 2023
|
||||
<a href="https://getpinga.com" class="link-secondary">Pinga</a>.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -80,10 +80,6 @@ $app->group('', function ($route) {
|
|||
$route->get('/support/media', SupportController::class .':mediakit')->setName('mediakit');
|
||||
|
||||
$route->get('/profile', ProfileController::class .':profile')->setName('profile');
|
||||
$route->get('/profile/notifications', ProfileController::class .':notifications')->setName('notifications');
|
||||
$route->get('/profile/security', ProfileController::class .':security')->setName('security');
|
||||
$route->get('/profile/plans', ProfileController::class .':plans')->setName('plans');
|
||||
$route->get('/profile/invoices', ProfileController::class .':invoices')->setName('invoices');
|
||||
$route->get('/mode', HomeController::class .':mode')->setName('mode');
|
||||
$route->get('/lang', HomeController::class .':lang')->setName('lang');
|
||||
$route->get('/avatar', HomeController::class .':avatar')->setName('avatar');
|
||||
|
|
Loading…
Add table
Reference in a new issue