Big refactor

This commit is contained in:
2022-08-18 17:08:05 +02:00
parent 0520e7641f
commit 92cee16cc8
56 changed files with 475 additions and 293 deletions
+43
View File
@@ -0,0 +1,43 @@
{{template "base" .}}
{{define "title"}}Appunti • PHC{{end}}
{{define "body"}}
<section>
<h1>
<i class="fas fa-book"></i>
Raccolta degli Appunti
</h1>
<p>
Questa è la raccolta degli appunti presenti su Poisson. Cerca il titolo della dispensa, il nome e cognome o l'username dell'autore oppure scrivi il nome del corso rispetto a cui filtrare. Altrimenti in cima compariranno gli appunti più "gettonati".
</p>
<p>
Puoi aggiungere le tue dispense dalla <a href="/appunti/condivisi">pagina personale di condivisione</a>.
</p>
<div class="search">
<div class="compound">
<input type="text" id="search-field" placeholder="Prova con &quot;Geometria 1&quot; o &quot;Mezzedimi&quot;..." autocomplete="off" {{ if .Query }}value="{{ .Query }}"{{ end }}>
<button class="icon">
<i class="fas fa-search"></i>
</button>
</div>
</div>
<div class="appunti-list">
<code>TODO: Lista work in progress</code>
</div>
<script>
// Aggiorna automaticamente la barra dell'URL con la query corrente
document.querySelector('#search-field').addEventListener('input', function() {
const q = this.value.trim();
history.replaceState({}, 'Appunti',
q.length === 0 ? '/appunti' : '/appunti?q=' + encodeURIComponent(q)
);
});
</script>
</section>
<script>
</script>
{{end}}
+78
View File
@@ -0,0 +1,78 @@
{{define "base"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ template "title" . }}</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css" integrity="sha512-KfkfwYDsLkIlwQp6LFnl8zNdLGxu9YAA1QvwINks4PhcElQSvqcyVLLD9aMhXd13uQjoXtEKNosOWaZqXgel0g==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css"
integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.js"
integrity="sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4"
crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/contrib/auto-render.min.js"
integrity="sha384-mll67QQFJfxn0IYznZYonOWZ644AWYC+Pt2cHqMaRhXVrursRwvLnLaebdGIlYNa"
crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function () {
renderMathInElement(document.body, {
delimiters: [
{ left: "$", right: "$", display: false },
{ left: "$$", right: "$$", display: true },
{ left: "\\(", right: "\\)", display: false },
{ left: "\\[", right: "\\]", display: true }
]
});
});
document.addEventListener('DOMContentLoaded', () => {
const $toggle = document.querySelector('#toggle-dark-mode');
const $toggleIcon = document.querySelector('#toggle-dark-mode i');
// Loads prefered dark from from localStorage or defaults to media query.
let prefersDarkMode = localStorage.getItem('theme') !== undefined ? localStorage.getItem('theme') === 'dark' : window.matchMedia('(prefers-color-scheme: dark)').matches;
function storePrefersDarkMode(mode) {
prefersDarkMode = mode;
localStorage.setItem('theme', mode ? 'dark' : 'light');
}
function displayToggle() {
document.body.classList.toggle('dark-mode', prefersDarkMode);
$toggleIcon.classList.toggle('fa-moon', prefersDarkMode);
$toggleIcon.classList.toggle('fa-sun', !prefersDarkMode);
}
$toggle.addEventListener('click', () => {
storePrefersDarkMode(!prefersDarkMode);
displayToggle();
});
displayToggle();
});
</script>
<link rel="stylesheet" href="/public/style.css">
<link rel="stylesheet" href="/public/theme-dark.css">
</head>
<body {{ if .Page.Name }}class="page-{{ .Page.Name }}"{{ end }}>
{{ template "navbar" . }}
<div class="main">
{{ template "body" . }}
</div>
<footer>
<div class="footer-item">
<a href="mailto:{{ .Config.Email }}">{{ .Config.Email }}</a>
</div>
</footer>
</body>
</html>
{{end}}
+107
View File
@@ -0,0 +1,107 @@
{{template "base" .}}
{{define "title"}}Home &bull; PHC{{end}}
{{define "body"}}
<canvas id="circuit-pattern"></canvas>
<!-- Non avevo molta fantasia per il nome di questa classe -->
<section class="super">
<div class="block image">
<img src="/public/images/logo-circuit-board.svg" alt="phc-logo">
</div>
<div class="block text">
<h1>
Cos'è il PHC?
</h1>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Nostrum vel maiores dolorum dicta, repellat nulla repellendus amet fuga voluptas molestiae, magni</p>
<p>Voluptatibus sequi praesentium similique, quos ex illo autem quidem!</p>
</div>
</section>
<section>
<h2>Notizie Importanti</h2>
<div class="card-list">
<div class="card">
<div class="title">
<a href="/news/notizia-super-wow-1">News 1</a>
</div>
<div class="date">yyyy-mm-dd</div>
<div class="description">
<p>
much doge, ipsum dolor sit amet consectetur adipisicing elit. Quis nemo aperiam, voluptas quam alias esse sed natus tempore suscipit fugiat sit delectus exercitationem numquam ipsum assumenda recusandae consequatur...
</p>
</div>
</div>
<div class="card">
<div class="title">
<a href="/news/notizia-super-wow-2">News 2</a>
</div>
<div class="date">yyyy-mm-dd</div>
<div class="description">
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Quis nemo aperiam, voluptas quam alias esse sed natus tempore suscipit fugiat sit delectus exercitationem numquam ipsum assumenda recusandae consequatur...
</p>
</div>
</div>
<div class="card">
<div class="title">
<a href="/news/notizia-super-wow-3">News 3</a>
</div>
<div class="date">yyyy-mm-dd</div>
<div class="description">
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Quis nemo aperiam, voluptas quam alias esse sed natus tempore suscipit fugiat sit delectus exercitationem numquam ipsum assumenda recusandae consequatur...
</p>
</div>
</div>
</div>
</section>
<section>
<!-- TODO: Progetti/Servizi/Cose fornite -->
<h2>Progetti</h2>
<div class="card-list">
<div class="card">
<div class="title">Project title</div>
<div class="description">
<p>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Dolorem assumenda voluptatum harum quo nisi alias ab cupiditate corrupti est, illum culpa, excepturi, fugiat dolore doloribus minima placeat facilis enim quaerat!
</p>
</div>
</div>
<div class="card">
<div class="title">Project title</div>
<div class="description">
<p>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Dolorem assumenda voluptatum harum quo nisi alias ab cupiditate corrupti est, illum culpa, excepturi, fugiat dolore doloribus minima placeat facilis enim quaerat!
</p>
</div>
</div>
<div class="card">
<div class="title">Project title</div>
<div class="description">
<p>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Dolorem assumenda voluptatum harum quo nisi alias ab cupiditate corrupti est, illum culpa, excepturi, fugiat dolore doloribus minima placeat facilis enim quaerat!
</p>
</div>
</div>
</div>
</section>
<hr>
<section>
<!-- <h2>Altro...</h2> -->
<div class="card">
<div class="title">Vuoi diventare un macchinista?</div>
<!-- <h3 style="font-weight: 500;">Vuoi diventare un macchinista?</h3> -->
<div class="description">
<p>
Ti interessa (o interesserebbe) smanettare al PC, montare e smontare i cose? Stai spesso in dipartimento? Allora
puoi venire a parlare con noi per diventare un apprendista macchinista per poi entrare nel PHC.
</p>
</div>
</div>
</section>
<script src="/public/home.js"></script>
{{end}}
+89
View File
@@ -0,0 +1,89 @@
{{template "base" .}}
{{define "title"}}Link Utili &bull; PHC{{end}}
{{define "body"}}
<section>
<h1>
<i class="fas fa-link"></i>
Link Utili
</h1>
<p class="center">
Questo è un elenco di alcuni indirizzi potenzialmente utili
</p>
<ul>
<div class="card-list">
<div class="card">
<div class="title">
<a href="https://linktr.ee/aulastudenti">Aula Studenti</a>
<i class="fas fa-external-link-alt"></i>
</div>
<div class="description">
<p>
Lista di link relativi alle attività dell'aula studenti del Dipartimento di Matematica
</p>
</div>
</div>
<div class="card">
<div class="title">
<a href="https://credenziali.phc.dm.unipi.it/">Credenziali Poisson</a>
<i class="fas fa-external-link-alt"></i>
</div>
<div class="description">
<p>
Sito per chiedere il recupero/reset delle proprie credenziali Poisson; le matricole possono inserire direttamente le loro credenziali di Alice ed ottenere quelle del loro account su Poisson.
</p>
</div>
</div>
<div class="card">
<div class="title">
<a href="http://detexify.kirelabs.org/classify.html">Non trovi un simbolo Latex?</a>
<i class="fas fa-external-link-alt"></i>
</div>
<div class="description">
<p>
Questo sito ti permette di disegnare "a mano" il simbolo che cerchi e trovare il suo corrispondente comando in LaTex.
</p>
</div>
</div>
<div class="card">
<div class="title">
<a href="https://git.phc.dm.unipi.it/phc/dm-scripts/src/branch/main/printa4">Script per stampare in dipartimento dal proprio PC</a>
<i class="fas fa-external-link-alt"></i>
</div>
<div class="description">
<p>
Un semplice shell script che permette di stampare un file in una stampante del Dipartimento di Matematica da una qualsiasi shell Unix (Linux, MacOS, BSD...). Funziona anche da remoto!
</p>
</div>
</div>
<div class="card">
<div class="title">
<a href="https://github.com/SuzanneSoy/WiTeX">Wikipedia+LaTex??</a>
<i class="fas fa-external-link-alt"></i>
</div>
<div class="description">
<p>
Sei stanco del pessimo font di Wikipedia? Finalmente potrai leggere i <a href="https://en.wikipedia.org/wiki/Abstract_nonsense">tuoi</a> <a href="https://en.wikipedia.org/wiki/New_Math">articoli</a> <a href="https://en.wikipedia.org/wiki/%C3%89variste_Galois#Final_days">preferiti</a> di Wikipedia con un typesetting in stile LaTex!
</p>
</div>
</div>
<div class="card">
<div class="title">
<a href="https://www.dm.unipi.it">CdS Matematica</a>
<i class="fas fa-external-link-alt"></i>
</div>
<div class="description">
<p>
La homepage del corso di studi all'interno del sito ufficiale del Dipartimento di Matematica
</p>
</div>
</div>
</div>
</ul>
</section>
<script>
</script>
{{end}}
+55
View File
@@ -0,0 +1,55 @@
{{template "base" .}}
{{define "title"}}Accedi &bull; PHC{{end}}
{{define "body"}}
<section>
<h1>
<i class="fas fa-user"></i>
Account di Poisson
</h1>
<div class="card-list">
<form class="card" action="/login" method="POST">
<div class="title">
<i class="fas fa-sign-in-alt"></i>
Accedi
</div>
<p>
Inserisci le tue credenziali di Poisson per accedere
</p>
<div class="field-set">
<!-- <label for="login-provider">Provider:</label> -->
<input type="hidden" name="provider" id="login-provider" value="poisson-ldap">
<label for="login-username">Username:</label>
<input type="text" name="username" id="login-username">
<label for="login-password">Password:</label>
<input type="password" name="password" id="login-password">
</div>
<div class="field">
<button class="primary">Accedi</button>
</div>
</form>
</div>
</section>
<section>
<h2>Ottenere un account</h2>
<p>
Dal 2022 in nuovi utenti hanno bisogno di compilare un modulo se vogliono ottenere un account<sup>1</sup>, scarica il <a href="#">modulo di richiesta</a> e portacelo in PHC o inviacelo via email all'indirizzo <a href="mailto:{{ .Config.Email }}">{{ .Config.Email }}</a>.
</p>
<p>
1: In realtà il modulo ancora non esiste
</p>
</section>
<section>
<h2>Recupero credenziali</h2>
<p>
Per il recupero credenziali vieni direttamente al PHC a parlarne con calma con noi altrimenti puoi inviaci una
email all'indirizzo <a href="mailto:{{ .Config.Email }}">{{ .Config.Email }}</a> e poi recuperare le nuove credenziali sul sito <a href="https://credenziali.phc.dm.unipi.it/">credenziali.phc.dm.unipi.it</a>.
</p>
</section>
{{end}}
+18
View File
@@ -0,0 +1,18 @@
{{template "base" .}}
{{define "title"}}{{ .Article.Title }} &bull; News &bull; PHC{{end}}
{{define "body"}}
<section class="news-content">
<h1>{{ .Article.Title }}</h1>
<div class="date">
{{ .Article.PublishDate.Format "2006/01/02" }}
</div>
<div class="tags">
{{ range .Article.Tags }}
<span class="tag">{{ . }}</span>
{{ end }}
</div>
{{ .ContentHTML }}
</section>
{{end}}
+63
View File
@@ -0,0 +1,63 @@
{{template "base" .}}
{{define "title"}}News &bull; PHC{{end}}
{{define "body"}}
<section>
<h1>
<i class="far fa-newspaper"></i>
Notizie Importanti
</h1>
<div class="card-list">
{{ range .Articles }}
{{ if .HasTag "important" }}
<div class="card">
<div class="title">
<a href="/news/{{ .Id }}">
{{ .Title }}
</a>
</div>
<div class="date">{{ .PublishDate.Format "2006/01/02" }}</div>
<div class="description">
<p>{{ .Description }}</p>
</div>
<div class="tags">
{{ range .Tags }}
<span class="tag">{{ . }}</span>
{{ end }}
</div>
</div>
{{ end }}
{{ end }}
</div>
</section>
<section>
<h2>
<i class="fas fa-history"></i>
Archivio notizie
</h2>
<div class="card-list">
{{ range .Articles }}
{{ if not (.HasTag "important") }}
<div class="card">
<div class="title">
<a href="/news/{{ .Id }}">
{{ .Title }}
</a>
</div>
<div class="date">{{ .PublishDate.Format "2006/01/02" }}</div>
<div class="description">
<p>{{ .Description }}</p>
</div>
<div class="tags">
{{ range .Tags }}
<span class="tag">{{ . }}</span>
{{ end }}
</div>
</div>
{{ end }}
{{ end }}
</div>
</section>
{{end}}
+88
View File
@@ -0,0 +1,88 @@
{{ define "navbar" }}
<nav>
<!-- Site -->
<div class="nav-logo">
<a class="nav-element" href="/">
<img src="/public/images/logo-circuit-board.svg" alt="phc-logo">
</a>
</div>
<div class="nav-main">
<div class="nav-item">
<a class="nav-element" href="/utenti">Utenti</a>
</div>
<div class="nav-item dropdown">
<div class="name">
<a class="nav-element" href="/progetti">
<div class="icon">
<i class="fas fa-chevron-down"></i>
</div>
<div class="label">
Progetti
</div>
</a>
</div>
<div class="nav-items">
<div class="nav-item">
<a class="nav-element" href="{{ .Config.GitUrl }}">Gitea</a>
</div>
<div class="nav-item">
<a class="nav-element" href="{{ .Config.ChatUrl }}">Zulip</a>
</div>
<div class="nav-item">
<a class="nav-element" href="/seminari">Seminari</a>
</div>
</div>
</div>
<div class="nav-item dropdown">
<div class="name">
<a class="nav-element" href="/risorse">
<div class="icon">
<i class="fas fa-chevron-down"></i>
</div>
<div class="label">
Risorse
</div>
</a>
</div>
<div class="nav-items">
<div class="nav-item">
<a class="nav-element" href="/news">News</a>
</div>
<div class="nav-item">
<a class="nav-element" href="/appunti">Appunti</a>
</div>
<div class="nav-item">
<a class="nav-element" href="/guide">Guide</a>
</div>
<div class="nav-item">
<a class="nav-element" href="/link">Link Utili</a>
</div>
</div>
</div>
<div class="nav-item">
<a class="nav-element" href="/storia">Storia</a>
</div>
<!-- <div class="nav-item">
<a class="nav-element" href="/about">About</a>
</div> -->
<div class="nav-item filler"></div>
<!-- User Related -->
<div class="nav-item">
<div id="toggle-dark-mode" class="nav-button">
<i class="fas fa-moon"></i>
</div>
</div>
{{if .User}}
<div class="nav-item">
<a class="nav-element" href="/profilo">@{{ .User.Username }}</a>
</div>
{{else}}
<div class="nav-item">
<a class="nav-element" href="/login">Accedi</a>
</div>
{{end}}
</div>
</nav>
{{ end }}
+105
View File
@@ -0,0 +1,105 @@
{{template "base" .}}
{{define "title"}}Profilo di @{{ .User.Username }} &bull; PHC{{end}}
{{define "body"}}
<script src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script>
<script src="/public/js/profilo.min.js"></script>
<section x-data="profilo">
<h1>Profilo di @{{ .User.Username }}</h1>
<p class="center">
<a class="button" href="/logout">Logout</a>
</p>
</section>
<section>
<h2>Appunti e Dispense</h2>
<p>
Per gestire i tuoi appunti e le tue dispense caricate nella sezione <a href="/appunti">Appunti</a> del sito vai
<a href="/appunti/condivisi">alla pagina appunti condivisi</a>.
</p>
</section>
<section>
<h2>Impostazioni</h2>
<div class="card-list">
<form class="card" action="/profile/impostazioni" method="POST">
<div class="title">
Sito PHC
</div>
<p>
Aggiorna i campi relativi al sito del PHC, l'immagine del profilo verrà visualizzata sulla tua pagina utente <a href="#">phc.dm.unipi.it/u/{{ .User.Username }}</a> e nella lista di <a href="/utenti">tutti gli utenti</a>.
</p>
<div class="field-set">
<label for="website-nickname">Nickname</label>
<input type="text" name="nickname" id="website-nickname" placeholder="{{ .User.Username }}">
<label for="website-profile-picture">Immagine Profilo</label>
<input type="file" name="picture" id="website-profile-picture">
</div>
<p>
Puoi anche aggiungere link ad altri tuoi profili su siti esterni (quando riempi l'ultimo campo se ne crea uno nuovo sotto)
</p>
<div class="field-set">
<label for="website-link-1">Link 1</label>
<input type="text" name="link" id="website-link-1"
placeholder="https://github.com/...">
<label for="website-link-2">Link 2</label>
<input type="text" name="link" id="website-link-2"
placeholder="https://twitter.com/...">
<label for="website-link-3">Link 3</label>
<input type="text" name="link" id="website-link-3"
placeholder="https://news.ycombinator.com/user?id=...">
</div>
<div class="field">
<button class="primary">Aggiorna</button>
</div>
</form>
<form class="card" action="/profile/impostazioni" method="POST">
<div class="title">
Informazioni Utente
</div>
<p>
Aggiorna i campi modificabili dell'account Poisson
</p>
<div class="field-set">
<label for="user-username">Username</label>
<input type="text" readonly name="username" id="user-username" value="{{ .User.Username }}">
<label for="user-name">Nome</label>
<input type="text" readonly name="name" id="user-name" value="{{ .User.Name }}">
<label for="user-surname">Cognome</label>
<input type="text" readonly name="surname" id="user-surname" value="{{ .User.Surname }}">
<label for="user-email">Email</label>
<input type="text" readonly name="email" id="user-email" value="{{ .User.Email }}">
</div>
<div class="field">
<button class="primary">Aggiorna</button>
</div>
</form>
<form x-data="passwordForm" class="card" action="/profile/impostazioni" method="POST">
<div class="title">
Modifica Password
</div>
<p>
Aggiorna la password di Poisson
</p>
<div class="field-set">
<label for="pass-username">Username</label>
<input type="text" readonly name="username" id="pass-username" value="{{ .User.Username }}">
<label for="pass-password">Password</label>
<input type="password" name="password" id="pass-password" :class="!passwordSame ? 'error' : ''"
x-model="password" @input="onUpdate" placeholder="In realtà anche questo non funge...">
<label for="pass-password-2">Ripeti Password</label>
<input type="password" name="password-2" id="pass-password-2" :class="!passwordSame ? 'error' : ''"
x-model="passwordAgain" @input="onUpdate" placeholder="In realtà anche questo non funge...">
</div>
<div class="field">
<button class="primary">Aggiorna Password</button>
</div>
</form>
</div>
</section>
<section>
<h2>Recupero Credenziali Poisson</h2>
<p>
Per il recupero credenziali vieni direttamente al PHC a parlarne con calma con noi altrimenti puoi inviaci una email
all'indirizzo <a href="mailto:{{ .Config.Email }}">{{ .Config.Email }}</a> e poi recuperare le nuove credenziali sul
sito <a href="https://credenziali.phc.dm.unipi.it/">credenziali.phc.dm.unipi.it</a>.
</p>
</section>
{{end}}
+51
View File
@@ -0,0 +1,51 @@
{{template "base" .}}
{{define "title"}}Utenti &bull; PHC{{end}}
{{define "body"}}
<section>
<h1>
<i class="fas fa-clock"></i>
Storia del PHC
</h1>
<p>
In questa pagina è raccontata la storia del PHC con alcuni degli eventi principali. Al momento è <i>work in progress</i> ma pianifichiamo di aggiungere almeno le date di ingresso di tutti i macchinisti.
</p>
<div class="history-container">
<div class="timeline-bar"></div>
<div class="events">
{{ range .Storia }}
{{ if eq .Type "simple" }}
<div class="event">
<div class="title">
{{ .Title }}
</div>
<div class="date">{{ .Date }}</div>
</div>
{{ end }}
{{ if eq .Type "entry-macchinista" }}
<div class="event">
<div class="title">
Ingresso di
<i class="fa-solid fa-sign-in"></i>
<a href="{{ $.Config.UserPagesBaseUrl }}{{ .Uid }}">{{ .FullName }}</a>
</div>
<div class="date">{{ .Date }}</div>
</div>
{{ end }}
{{ if eq .Type "exit-macchinista" }}
<div class="event">
<div class="title">
Uscita di
<i class="fa-solid fa-sign-out"></i>
<a href="{{ $.Config.UserPagesBaseUrl }}{{ .Uid }}">{{ .FullName }}</a>
</div>
<div class="date">{{ .Date }}</div>
</div>
{{ end }}
{{ if eq .Type "spacer" }}
<div class="spacer" style="--size: {{ .Size }}"></div>
{{ end }}
{{ end }}
</div>
</div>
</section>
{{end}}
+59
View File
@@ -0,0 +1,59 @@
{{template "base" .}}
{{define "title"}}Utenti &bull; PHC{{end}}
{{define "body"}}
<script src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/fuse.js/dist/fuse.js"></script>
<script src="/public/js/utenti.min.js"></script>
<section x-data="utenti">
<h1>
<i class="fas fa-users"></i>
Lista degli Utenti
</h1>
<p>
Questa è la lista di tutti gli utenti con un account su Poisson. Scrivi nome, cognome o
username di un utente per filtrare la lista in tempo reale. Altrimenti di base in cima
compariranno gli utenti con più "follower".
</p>
<div class="search">
<div class="compound padded">
<div class="icon" title="Ordina per">
<i class="fas fa-sort"></i>
</div>
<div class="divider"></div>
<select x-model="sortMode" @click="updateSortMode()">
<option value="chronological">Cronologico</option>
<option value="name">Nome</option>
<option value="surname">Cognome</option>
</select>
</div>
<div class="compound">
<input type="text" x-model="searchField" @input="updateSearch()" placeholder="Cerca..." autocomplete="off" />
<button class="icon" title="In realtà questo tasto è finto">
<i class="fas fa-search"></i>
</button>
</div>
</div>
<div class="user-list card-list">
<template x-for="entry in searchResults" :key="entry.item.uid">
<div class="user-item card">
<a class="full-name" :href="'{{ $.Config.UserPagesBaseUrl }}' + entry.item.uid" x-text="
sortMode === 'surname' ?
entry.item.cognome + ' ' + entry.item.nome :
entry.item.nome + ' ' + entry.item.cognome
"></a>
<template x-if="entry.item.macchinista">
<div class="icon" title="Macchinista">
<i class="fas fa-wrench"></i>
</div>
</template>
<!-- <template x-if="entry.score">
<span x-text="entry.score"></span>
</template> -->
</div>
</template>
<div class="spinner" x-ref="spinner" x-show="searchResults.length < searchResultsBuffer.length">
<i class="fas fa-hourglass"></i>
</div>
</div>
</section>
{{end}}