chore: add apps from go.sour.is/ev
This commit is contained in:
6
app/webfinger/ui/assets/bootstrap.min.css
vendored
Normal file
6
app/webfinger/ui/assets/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
app/webfinger/ui/assets/bootstrap.min.css.map
Normal file
1
app/webfinger/ui/assets/bootstrap.min.css.map
Normal file
File diff suppressed because one or more lines are too long
95
app/webfinger/ui/assets/webfinger.css
Normal file
95
app/webfinger/ui/assets/webfinger.css
Normal file
@@ -0,0 +1,95 @@
|
||||
/* Space out content a bit */
|
||||
body {
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
/* Everything but the jumbotron gets side spacing for mobile first views */
|
||||
.header,
|
||||
.footer {
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
/* Custom page header */
|
||||
.header {
|
||||
padding-bottom: 20px;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
}
|
||||
/* Make the masthead heading the same height as the navigation */
|
||||
.header h3 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
/* Custom page footer */
|
||||
.footer {
|
||||
padding-top: 19px;
|
||||
color: #777;
|
||||
border-top: 1px solid #e5e5e5;
|
||||
}
|
||||
|
||||
.panel-heading a {
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.container-narrow > hr {
|
||||
margin: 30px 0;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
body, .panel-body {
|
||||
color: white;
|
||||
background-color: #222;
|
||||
}
|
||||
nav.navbar-default {
|
||||
background-color: rgb(35, 29, 71);
|
||||
}
|
||||
.navbar-default .navbar-brand {
|
||||
color: white;
|
||||
}
|
||||
.panel-primary, .list-group, .list-group-item {
|
||||
color: white;
|
||||
background-color: #16181c;
|
||||
}
|
||||
.table > tbody > tr.active > th, .table > tbody > tr.active > td {
|
||||
background-color: rgb(35, 29, 71);
|
||||
}
|
||||
.table-striped > tbody > tr:nth-of-type(2n+1) {
|
||||
background-color: rgb(35, 29, 71);
|
||||
}
|
||||
.panel pre {
|
||||
color: white;
|
||||
background-color: #16181c;
|
||||
}
|
||||
.panel .panel-primary > .panel-heading {
|
||||
background-color: rgb(35, 29, 71);
|
||||
}
|
||||
|
||||
.panel a {
|
||||
color: cornflowerblue;
|
||||
}
|
||||
|
||||
code {
|
||||
color: white;
|
||||
background-color: #282b32;
|
||||
}
|
||||
}
|
||||
|
||||
@import url(https://cdn.jsdelivr.net/npm/firacode@6.2.0/distr/fira_code.css);
|
||||
|
||||
code { font-family: 'Fira Code', monospace; }
|
||||
|
||||
@media (min-width: 100) {
|
||||
.truncate {
|
||||
width: 750px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.container {
|
||||
width: 750px;
|
||||
}
|
||||
}
|
||||
28
app/webfinger/ui/layouts/main.go.tpl
Normal file
28
app/webfinger/ui/layouts/main.go.tpl
Normal file
@@ -0,0 +1,28 @@
|
||||
{{define "main"}}
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
{{template "meta" .}}
|
||||
<title>👉 Webfinger 👈</title>
|
||||
|
||||
|
||||
<link href="/webfinger/assets/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
|
||||
<link href="/webfinger/assets/webfinger.css" rel="stylesheet" crossorigin="anonymous">
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar navbar-default">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/webfinger">👉 Webfinger 👈</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class=container>
|
||||
{{template "content" .}}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
{{end}}
|
||||
131
app/webfinger/ui/pages/home.go.tpl
Normal file
131
app/webfinger/ui/pages/home.go.tpl
Normal file
@@ -0,0 +1,131 @@
|
||||
{{template "main" .}}
|
||||
|
||||
{{define "meta"}}{{end}}
|
||||
|
||||
{{define "content"}}
|
||||
<form method="GET">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon" id="basic-addon1">resource</span>
|
||||
<input name="resource" class="form-control" placeholder="acct:..."/>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default" type="submit">Go!</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<br/>
|
||||
|
||||
{{ if ne .Err nil }}
|
||||
<div class="alert alert-danger" role="alert">
|
||||
{{ .Err }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ if ne .JRD nil }}
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">Webfinger Result</div>
|
||||
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th style="width:98px">Subject</th>
|
||||
<td>
|
||||
<div class="media">
|
||||
<div class="media-body">
|
||||
{{ .JRD.Subject }}
|
||||
</div>
|
||||
|
||||
{{ with .JRD.GetLinkByRel "http://webfinger.net/rel/avatar" }}
|
||||
{{ if ne . nil }}
|
||||
<div class="media-left media-middle">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<img src="{{ .HRef }}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{if ne (len .JRD.Aliases) 0}}
|
||||
<tr>
|
||||
<th>Aliases</th>
|
||||
<td>
|
||||
<ul class="list-group">
|
||||
{{ range .JRD.Aliases }}<li class="list-group-item">{{ . }}</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
|
||||
{{ if ne (len .JRD.Properties) 0 }}
|
||||
<tr>
|
||||
<th>Properties</th>
|
||||
<td>
|
||||
<div class="list-group truncate">
|
||||
{{ range $key, $value := .JRD.Properties }}<div class="list-group-item">
|
||||
<h5 class="list-group-item-heading" title="{{ $key }}">{{ propName $key }}</h5>
|
||||
<code class="list-group-item-text">{{ $value }}</code>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
|
||||
{{ if ne (len .JRD.Links) 0 }}
|
||||
{{ range .JRD.Links }}
|
||||
<tr class="active">
|
||||
{{ if ne (len .Template) 0 }}
|
||||
<th> Template </th>
|
||||
<td>{{ .Template }}</td>
|
||||
{{ else }}
|
||||
<th> Link </th>
|
||||
<td>{{ if ne (len .HRef) 0 }}<a href="{{ .HRef }}" target="_blank">{{ .HRef }}</a>{{ end }}</td>
|
||||
{{ end }}
|
||||
<tr>
|
||||
<tr>
|
||||
<th> Properties </th>
|
||||
<td>
|
||||
<div class="list-group">
|
||||
<div class="list-group-item truncate">
|
||||
<h5 class="list-group-item-heading">rel<h5>
|
||||
<code class="list-group-item-text">{{ .Rel }}</code>
|
||||
</div>
|
||||
|
||||
{{ if ne (len .Type) 0 }}<div class="list-group-item truncate">
|
||||
<h5 class="list-group-item-heading">type</h5>
|
||||
<code class="list-group-item-text">{{ .Type }}</code>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ range $key, $value := .Properties }}<div class="list-group-item truncate">
|
||||
<h5 class="list-group-item-heading" title="{{ $key }}">{{ propName $key }}</h5>
|
||||
<code class="list-group-item-text">{{ $value }}</code>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
</table>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">Raw JRD</div>
|
||||
|
||||
<pre style="height: 15em; overflow-y: auto; border: 0px">
|
||||
Status: {{ .Status }}
|
||||
|
||||
{{ .Body | printf "%s" }}
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
{{end}}
|
||||
Reference in New Issue
Block a user