UI-Fehlerbehebung
This commit is contained in:
Binary file not shown.
4
assets/bootstrap/css/bootstrap.min.css
vendored
4
assets/bootstrap/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
4
assets/bootstrap/js/bootstrap.min.js
vendored
4
assets/bootstrap/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
278
index.html
278
index.html
@@ -19,8 +19,7 @@
|
||||
<link rel="stylesheet" href="assets/css/styles.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Start: Greetings -->
|
||||
<body><!-- Start: Greetings -->
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
@@ -31,11 +30,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section><!-- End: Greetings -->
|
||||
</section><!-- End: Greetings --><!-- Start: Neidel-Links -->
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<!-- Start: links -->
|
||||
<div class="container"><!-- Start: 1 Zeile -->
|
||||
<div class="row"><!-- Start: links -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
@@ -43,8 +41,7 @@
|
||||
<p class="card-text">Link-Sammlung für Neidel</p><a class="btn btn-success" role="button" href="https://links.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://links.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: links -->
|
||||
<!-- Start: n8n -->
|
||||
</div><!-- End: links --><!-- Start: n8n -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
@@ -52,8 +49,7 @@
|
||||
<p class="card-text">n8n</p><a class="btn btn-success" role="button" href="https://automation.neidel.eu/">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://automation.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: n8n -->
|
||||
<!-- Start: synthing -->
|
||||
</div><!-- End: n8n --><!-- Start: synthing -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
@@ -62,16 +58,16 @@
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: synthing -->
|
||||
</div>
|
||||
</div><!-- End: 1 Zeile --><!-- Start: 2 Zeile -->
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-4"><!-- Start: docker -->
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Docker-Verwaltung</h4>
|
||||
<p class="card-text">Verwaltung der Docker-Container</p><a class="btn btn-success" role="button" href="https://docker.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://docker.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: docker -->
|
||||
</div><!-- Start: Uptime -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
@@ -79,7 +75,7 @@
|
||||
<p class="card-text">Monitoring Ereichbarkeit Websites</p><a class="btn btn-success" role="button" href="https://uptime.neidel.eu/list">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://uptime.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: Uptime --><!-- Start: pdf -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
@@ -87,150 +83,9 @@
|
||||
<p class="card-text">Stirling PDF / Bento PDF</p><a class="btn btn-success" role="button" href="https://pdf.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://pdf.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<!-- Start: links -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Links</h4>
|
||||
<p class="card-text">Link-Sammlung für Neidel</p><a class="btn btn-success" role="button" href="https://links.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://links.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: links -->
|
||||
<!-- Start: n8n -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Automations</h4>
|
||||
<p class="card-text">n8n</p><a class="btn btn-success" role="button" href="https://automation.neidel.eu/">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://automation.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: n8n -->
|
||||
<!-- Start: synthing -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Syncthing</h4>
|
||||
<p class="card-text">Syncthing Relay Server</p><a class="btn btn-success" role="button" href="https://sync.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://sync.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: synthing -->
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Docker-Verwaltung</h4>
|
||||
<p class="card-text">Verwaltung der Docker-Container</p><a class="btn btn-success" role="button" href="https://docker.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://docker.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Uptime</h4>
|
||||
<p class="card-text">Monitoring Ereichbarkeit Websites</p><a class="btn btn-success" role="button" href="https://uptime.neidel.eu/list">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://uptime.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">PDF-Maschine</h4>
|
||||
<p class="card-text">Stirling PDF / Bento PDF</p><a class="btn btn-success" role="button" href="https://pdf.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://pdf.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<!-- Start: whoami -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">WhoAmI</h4>
|
||||
<p class="card-text">Testserver</p><a class="btn btn-success" role="button" href="https://whoami.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://whoami.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: whoami -->
|
||||
<!-- Start: wiki -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Wiki</h4>
|
||||
<p class="card-text">wiki.js</p><a class="btn btn-success" role="button" href="https://wiki.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://wiki.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: wiki -->
|
||||
<!-- Start: keycloak -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">IAM</h4>
|
||||
<p class="card-text">Keycloak</p><a class="btn btn-success" role="button" href="https://id.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://id.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: keycloak -->
|
||||
<!-- Start: nocodb -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">NoCoDB</h4>
|
||||
<p class="card-text">NoCoDB</p><a class="btn btn-success" role="button" href="https://nc.carsas.de">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://nc.carsas.de" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: nocodb -->
|
||||
<!-- Start: gitea -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Git</h4>
|
||||
<p class="card-text">Gitea statt Github</p><a class="btn btn-success" role="button" href="https://git.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://git.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: gitea -->
|
||||
<!-- Start: it-tools -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">IT-Tools</h4>
|
||||
<p class="card-text">it-tools.tech</p><a class="btn btn-success" role="button" href="https://it-tools.tech">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://it-tools.tech" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: it-tools -->
|
||||
<!-- Start: enclosed -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">enclosed</h4>
|
||||
<p class="card-text">Notizen verschlüsselt versenden</p><a class="btn btn-success" role="button" href="https://secure.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://secure.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: enclosed -->
|
||||
<!-- Start: vert.sh -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">vert.sh</h4>
|
||||
<p class="card-text">Files (Bilder, Videos etc.) konvertieren</p><a class="btn btn-success" role="button" href="https://convert.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://convert.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: vert.sh -->
|
||||
<!-- Start: Photo Pea -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Photo Pea</h4>
|
||||
<p class="card-text">Online-Fotoeditor</p><a class="btn btn-success" role="button" href="https://photopea.com">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://photopea.com" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: Photo Pea -->
|
||||
<!-- Start: Wunschzettel -->
|
||||
</div><!-- End: pdf -->
|
||||
</div><!-- End: 2 Zeile --><!-- Start: 4 Zeile -->
|
||||
<div class="row"><!-- Start: Wunschzettel -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
@@ -238,8 +93,7 @@
|
||||
<p class="card-text">Wunschzettel für die Familie</p><a class="btn btn-success" role="button" href="https://wunschzettel.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://wunschzettel.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: Wunschzettel -->
|
||||
<!-- Start: chhoto-url -->
|
||||
</div><!-- End: Wunschzettel --><!-- Start: chhoto-url -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
@@ -247,8 +101,7 @@
|
||||
<p class="card-text">Abkürzungen für beliebige URL</p><a class="btn btn-success" role="button" href="https://url.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://url.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: chhoto-url -->
|
||||
<!-- Start: openbento -->
|
||||
</div><!-- End: chhoto-url --><!-- Start: openbento -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
@@ -257,7 +110,87 @@
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: openbento -->
|
||||
<!-- Start: auto2026 -->
|
||||
</div><!-- End: 4 Zeile --><!-- Start: 3 Zeile -->
|
||||
<div class="row"><!-- Start: whoami -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">WhoAmI</h4>
|
||||
<p class="card-text">Testserver</p><a class="btn btn-success" role="button" href="https://whoami.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://whoami.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: whoami --><!-- Start: wiki -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Wiki</h4>
|
||||
<p class="card-text">wiki.js</p><a class="btn btn-success" role="button" href="https://wiki.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://wiki.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: wiki --><!-- Start: IAM -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">IAM</h4>
|
||||
<p class="card-text">Authelia</p><a class="btn btn-success" role="button" href="https://id.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://id.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: IAM -->
|
||||
</div><!-- End: 3 Zeile --><!-- Start: 5 Zeile -->
|
||||
<div class="row"><!-- Start: nocodb -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">NoCoDB</h4>
|
||||
<p class="card-text">NoCoDB</p><a class="btn btn-success" role="button" href="https://nc.carsas.de">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://nc.carsas.de" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: nocodb --><!-- Start: gitea -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Git</h4>
|
||||
<p class="card-text">Gitea statt Github</p><a class="btn btn-success" role="button" href="https://git.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://git.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: gitea --><!-- Start: it-tools -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">IT-Tools</h4>
|
||||
<p class="card-text">it-tools.tech</p><a class="btn btn-success" role="button" href="https://it-tools.tech">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://it-tools.tech" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: it-tools -->
|
||||
<div class="col"></div>
|
||||
</div><!-- End: 5 Zeile --><!-- Start: 6 Zeile -->
|
||||
<div class="row"><!-- Start: enclosed -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">enclosed</h4>
|
||||
<p class="card-text">Notizen verschlüsselt versenden</p><a class="btn btn-success" role="button" href="https://secure.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://secure.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: enclosed --><!-- Start: vert.sh -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">vert.sh</h4>
|
||||
<p class="card-text">Files (Bilder, Videos etc.) konvertieren</p><a class="btn btn-success" role="button" href="https://convert.neidel.eu">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://convert.neidel.eu" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: vert.sh --><!-- Start: Photo Pea -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Photo Pea</h4>
|
||||
<p class="card-text">Online-Fotoeditor</p><a class="btn btn-success" role="button" href="https://photopea.com">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://photopea.com" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: Photo Pea -->
|
||||
</div><!-- End: 6 Zeile --><!-- Start: 7 Zeile -->
|
||||
<div class="row"><!-- Start: auto2026 -->
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
@@ -266,11 +199,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- End: auto2026 -->
|
||||
</div>
|
||||
</div><!-- End: 7 Zeile -->
|
||||
</div>
|
||||
<h1 class="text-center mt-5">Atlassian</h1>
|
||||
</section><!-- Start: Atlassian -->
|
||||
</section><!-- End: Neidel-Links --><!-- Start: Atlassian -->
|
||||
<section>
|
||||
<h1 class="text-center mt-5">Atlassian</h1>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
@@ -284,7 +217,7 @@
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Michael Neidel</h4>
|
||||
<h4 class="card-title">Bruder</h4>
|
||||
<p class="card-text">Tagesprotokoll und Dokumente</p><a class="btn btn-success" role="button" href="https://neidel.atlassian.net/wiki/spaces/TMN/overview">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://neidel.atlassian.net/wiki/spaces/TMN/overview" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -292,16 +225,16 @@
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Kirchstrasse</h4>
|
||||
<h4 class="card-title">Projekt aktuelle Wohnung</h4>
|
||||
<p class="card-text">Projektmanagement und Repository</p><a class="btn btn-success" role="button" href="https://neidel.atlassian.net/wiki/spaces/KIRCH/overview">Dieser Tab</a><a class="btn btn-primary" role="button" href="https://neidel.atlassian.net/wiki/spaces/KIRCH/overview" target="_blank" style="margin: 1rem;">Neuer Tab</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section><!-- End: Atlassian -->
|
||||
<h1 class="text-center mt-5">Meldestelle</h1><!-- Start: Meldestelle -->
|
||||
</section><!-- End: Atlassian --><!-- Start: Meldestelle -->
|
||||
<section>
|
||||
<h1 class="text-center mt-5">Meldestelle</h1>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
@@ -324,8 +257,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section><!-- End: Meldestelle -->
|
||||
<!-- Start: Footer Basic -->
|
||||
</section><!-- End: Meldestelle --><!-- Start: Footer Basic -->
|
||||
<footer class="text-center">
|
||||
<div class="container text-muted py-4 py-lg-5">
|
||||
<ul class="list-inline">
|
||||
|
||||
Reference in New Issue
Block a user