kontor-echo: setup project to show homepage
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
{{ define "footer" }}
|
||||
<footer class="mt-auto py-3 bg-light fixed-bottom mt-auto">
|
||||
<div class="container text-center">
|
||||
<span class="text-muted">{{ .version }}</span>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- Bootstrap JS einbinden -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,13 @@
|
||||
{{ define "head" }}
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
|
||||
|
||||
<link rel="stylesheet" href="/public/style/main.css" />
|
||||
<title>{{ .title }}</title>
|
||||
</head>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,24 @@
|
||||
{{ define "main" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link
|
||||
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css"
|
||||
rel="stylesheet"
|
||||
integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link rel="stylesheet" href="/public/style/main.css" />
|
||||
<title>{{ .title }}</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="header"></div>
|
||||
{{ template "navbar" . }}
|
||||
{{ template "content" . }}
|
||||
<div class="footer">{{ .version }}</div>
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,88 @@
|
||||
{{ define "navbar" }}
|
||||
<!-- 1. Kopfzeile & Navigation -->
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-lg navbar-dark fixed-top" style="background-color:darkgrey;">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="#">Kontor</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarNav">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarComicsMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Comics</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarComicsMenuLink">
|
||||
<a class="dropdown-item" href="/comics/comics">Comics</a>
|
||||
<a class="dropdown-item" href="/comics/publishers">Publisher</a>
|
||||
<a class="dropdown-item" href="/comics/artists">Artist</a>
|
||||
<a class="dropdown-item" href="/comics/issues">Issue</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarWebMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Media</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarWebMenuLink">
|
||||
<a class="dropdown-item" href="{{.media_file_link}}">Media Files</a>
|
||||
<a class="dropdown-item" href="{{.media_actor_link}}">Media Actors</a>
|
||||
<a class="dropdown-item" href="{{.media_lofi_link}}">Media Lofi</a>
|
||||
<a class="dropdown-item" href="{{.media_music_link}}">Media Music</a>
|
||||
<a class="dropdown-item" href="{{.media_video_link}}">Media Videos</a>
|
||||
<a class="dropdown-item" href="{{.media_article_link}}">Artikel</a>
|
||||
</div>
|
||||
</li>
|
||||
{{ if .user }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/logout">Logout</a>
|
||||
</li>
|
||||
{{ else }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/login">Login</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
<!-- <nav class="navbar fixed-top navbar-expand-lg navbar-dark" style="background-color: darkgrey;">
|
||||
<a class="navbar-brand" href="/">Kontor</a>
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-item nav-link" href="/">Kontor</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarComicsMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Comics</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarComicsMenuLink">
|
||||
<a class="dropdown-item" href="/comics/comics">Comics</a>
|
||||
<a class="dropdown-item" href="/comics/publishers">Publisher</a>
|
||||
<a class="dropdown-item" href="/comics/artists">Artist</a>
|
||||
<a class="dropdown-item" href="/comics/issues">Issue</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarWebMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Media</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarWebMenuLink">
|
||||
<a class="dropdown-item" href="/web/media-files">Media Files</a>
|
||||
<a class="dropdown-item" href="/web/actors">Media Actors</a>
|
||||
<a class="dropdown-item" href="/web/media-lofis">Lofi</a>
|
||||
<a class="dropdown-item" href="/web/articles">Artikel</a>
|
||||
</div>
|
||||
</li>
|
||||
{{ if .user }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/logout">Logout</a>
|
||||
</li>
|
||||
{{ else }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/login">Login</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
<form class="form-inline">
|
||||
<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
|
||||
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
|
||||
</form>
|
||||
</ul>
|
||||
</nav> -->
|
||||
{{ end }}
|
||||
@@ -0,0 +1,59 @@
|
||||
{{ define "comics" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<div class="row">
|
||||
<form class="form-inline" action="/comic/comics">
|
||||
<input type="text" placeholder="Search" name="query">
|
||||
<label>
|
||||
<input type="checkbox" name="completed" {{ if .Completed }}checked{{ end }}>Completed
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="order" {{ if .CurrentOrder }}checked{{ end }}>Order
|
||||
</label>
|
||||
<button type="submit">Search</button>
|
||||
<div class="pill-nav"><a href="/comic/comic/add">Add Comic</a></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="maincolumn">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Title</th>
|
||||
<th scope="col">Publisher</th>
|
||||
<th scope="col">Completed</th>
|
||||
<th colspan="2">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ range .comics }}
|
||||
<tr>
|
||||
<th scope="row"><a href="/comic/comics/{{.ID}}">{{.Title}}</a></th>
|
||||
{{ if .Publisher }}
|
||||
<td><a href="/comic/publishers/{{.Publisher.ID}}">{{.Publisher.Name}}</a></td>
|
||||
{{ else }}
|
||||
<td>Publisher not set</td>
|
||||
{{ end }}
|
||||
<td>
|
||||
{{ if .Completed }}
|
||||
<img src="/public/icons/tick.png" alt="true" width="24" height="24">
|
||||
{{ else }}
|
||||
<img src="/public/icons/cross.png" alt="true" width="24" height="24">
|
||||
{{ end }}
|
||||
</td>
|
||||
<td><a href="/comic/comics/edit/{{.ID}}" class="btn btn-outline-primary btn-sm active" role="button" aria-pressed="true">Edit</a></td>
|
||||
<td><a href="/comic/comics/delete/{{.ID}}" class="btn btn-outline-danger btn-sm active" role="button" aria-pressed="true">Delete</a></td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,27 @@
|
||||
{{ define "home" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body class="d-flex flex-column h-100">
|
||||
{{ template "navbar" . }}
|
||||
<main class="flex-shrink-0">
|
||||
<div class="container my-4">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h1>Hauptinhalt</h1>
|
||||
<p>{{ .message }}</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<aside class="bg-light p-3">
|
||||
<h3>Seitenbereich</h3>
|
||||
<p>Optionale Sidebar oder Zusatzinformationen.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,69 @@
|
||||
{{ define "lofi" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<main>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h1>Media Lofi</h1>
|
||||
<p>Hier steht der wesentliche Inhalt der Seite.</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<aside class="bg-light p-3">
|
||||
<h3>Seitenbereich</h3>
|
||||
<p>Optionale Sidebar oder Zusatzinformationen.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<form class="form-inline" action="/web/media-lofis">
|
||||
<input type="text" placeholder="Search" name="query">
|
||||
<label>
|
||||
<input type="checkbox" name="review" {{if .isReview}}checked{{end}}>Review
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="should_download" {{if .isDownload}}checked{{end}}>Download
|
||||
</label>
|
||||
<button type="submit">Search</button>
|
||||
<div class="pill-nav"><a href="/web/media-lofis/add">Add Lofi</a></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
<table class="table table-hover">
|
||||
<thead><tr>
|
||||
<th scope="col">Title</th>
|
||||
<th scope="col">Weblink</th>
|
||||
<th scope="col">Review</th>
|
||||
<th colspan="2">Actions</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
{{ range .lofis }}
|
||||
<tr>
|
||||
<th scope="row"><a href="/web/media-lofis/{{.ID}}/edit">{{.Title}}</a></th>
|
||||
{{ if .WebLink }}
|
||||
<td><a href="{{.WebLink}}">{{.WebLink}}</a></td>
|
||||
{{ else }}
|
||||
<td>WebLink not set</td>
|
||||
{{ end }}
|
||||
<td>
|
||||
{{ if .Review }}
|
||||
<a href="/web/media-lofis/{{.ID}}/change-review"><img src="/public/icons/tick.png" alt="true" width="24" height="24"></a>
|
||||
{{ else }}
|
||||
<a href="/web/media-lofis/{{.ID}}/change-review"><img src="/public/icons/cross.png" alt="true" width="24" height="24"></a>
|
||||
{{ end }}
|
||||
</td>
|
||||
<td><a href="/web/media-lofis/{{.ID}}/edit" class="btn btn-outline-primary btn-sm active" role="button" aria-pressed="true">Edit</a></td>
|
||||
<td><a href="/web/media-lofis/{{.ID}}/delete" class="btn btn-outline-danger btn-sm active" role="button" aria-pressed="true">Delete</a></td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</main>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,54 @@
|
||||
{{ define "lofi_detail" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<main>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h1>Media Lofi</h1>
|
||||
<p>Hier steht der wesentliche Inhalt der Seite.</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<aside class="bg-light p-3">
|
||||
<h3>Seitenbereich</h3>
|
||||
<p>Optionale Sidebar oder Zusatzinformationen.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ if .Errors }}
|
||||
<div class="notification is-danger">{{ .Errors }}</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<form action="/web/media-lofis/{{.lofi.ID}}/edit" method="POST">
|
||||
<div class="form-group row">
|
||||
<label for="inputWeblink" class="col-sm-2 -col-form-label">URL</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="inputWeblink" name="weblink" value="{{.lofi.WebLink}}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="inputTitle" class="col-sm-2 -col-form-label">Title</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="inputTitle" name="title" value="{{.lofi.Title}}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-10">
|
||||
<button class="btn btn-primary" type="submit">Update</button>
|
||||
<button class="btn" type="button" onclick="/web/media-lofis">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,36 @@
|
||||
{{ define "login" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<div class="content">
|
||||
<form action="{{ .login }}" method="post">
|
||||
<div class="container" style="border: 1px solid lightgray; border-radius: 3px; padding: 15px;">
|
||||
{{ if .content }}
|
||||
<div class="notification is-danger">{{ .message }}</div>
|
||||
{{ end}}
|
||||
|
||||
<div class="field">
|
||||
<label class="label">Username</label>
|
||||
<div class="control">
|
||||
<input class="input" type="text" placeholder="Enter Username" name="username" required/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label">Passwort</label>
|
||||
<div class="control">
|
||||
<input class="input" type="password" placeholder="Enter Password" name="password" required/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<button class="button is-link">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,54 @@
|
||||
{{ define "actor_detail" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<main>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h1>Media Actor</h1>
|
||||
<p>Hier steht der wesentliche Inhalt der Seite.</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<aside class="bg-light p-3">
|
||||
<h3>Seitenbereich</h3>
|
||||
<p>Optionale Sidebar oder Zusatzinformationen.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ if .Errors }}
|
||||
<div class="notification is-danger">{{ .Errors }}</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<form action="/web/actors/{{.actor.ID}}/edit" method="POST">
|
||||
<div class="form-group row">
|
||||
<label for="inputName" class="col-sm-2 -col-form-label">Name</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="inputName" name="name" value="{{.actor.Name}}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="inputWeblink" class="col-sm-2 -col-form-label">Link</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="inputWeblink" name="weblink" value="{{.actor.WebLink}}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-10">
|
||||
<button class="btn btn-primary" type="submit">Update</button>
|
||||
<button class="btn" type="button" onclick="/web/actors">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,41 @@
|
||||
{{ define "media_actors" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<main>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h1>Media Actors</h1>
|
||||
<p>Hier steht der wesentliche Inhalt der Seite.</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<aside class="bg-light p-3">
|
||||
<h3>Seitenbereich</h3>
|
||||
<p>Optionale Sidebar oder Zusatzinformationen.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<form class="form-inline" action="{{ .MediaLinksUrl }}">
|
||||
<input type="text" placeholder="Search" name="query">
|
||||
<button type="submit">Search</button>
|
||||
<div class="pill-nav"><a href="{{ .MediaLinksUrl }}/edit">Add Lofi</a></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ range .actors }}
|
||||
<div class="card shadow p-3 mb-2 bg-body rounded" style="width: 18rem;">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">{{.Name}}</h5>
|
||||
<a href="{{ $.media_actor_link }}/{{.ID}}" class="btn btn-primary">Read more</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,54 @@
|
||||
{{ define "media_detail" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<main>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h1>{{.message}}</h1>
|
||||
<p>Hier steht der wesentliche Inhalt der Seite.</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<aside class="bg-light p-3">
|
||||
<h3>Seitenbereich</h3>
|
||||
<p>Optionale Sidebar oder Zusatzinformationen.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ if .Errors }}
|
||||
<div class="notification is-danger">{{ .Errors }}</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<form action="{{ .MediaLinksUrl }}/edit/{{.media.ID}}" method="POST">
|
||||
<div class="form-group row">
|
||||
<label for="inputWeblink" class="col-sm-2 -col-form-label">URL</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="inputWeblink" name="weblink" value="{{.media.WebLink}}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="inputTitle" class="col-sm-2 -col-form-label">Title</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="inputTitle" name="title" value="{{.media.Title}}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-10">
|
||||
<button class="btn btn-primary" type="submit">Update</button>
|
||||
<button class="btn" type="button" onclick="window.history.back()">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,71 @@
|
||||
{{ define "media_links" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<main>
|
||||
<div class="row">
|
||||
<form class="form-inline" action="{{ .MediaLinksUrl }}">
|
||||
<input type="text" placeholder="Search" name="query">
|
||||
<label>
|
||||
<input type="checkbox" name="review" {{ if .Review }}checked{{ end }}>Review
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="download" {{ if .ShouldDownload }}checked{{ end }}>Download
|
||||
</label>
|
||||
<button type="submit">Search</button>
|
||||
<div class="pill-nav"><a href="{{ .MediaLinksUrl }}/edit">Add {{.title}}</a></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="maincolumn">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Title</th>
|
||||
<th scope="col">Weblink</th>
|
||||
<th scope="col">Review</th>
|
||||
<th scope="col">Download</th>
|
||||
<th colspan="2">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ range .media_links }}
|
||||
<tr>
|
||||
<th scope="row"><a href="{{ $.MediaLinksUrl }}/edit/{{.ID}}">{{.Title}}</a></th>
|
||||
{{ if .WebLink }}
|
||||
<td><a href="{{.WebLink}}">{{.WebLink}}</a></td>
|
||||
{{ else }}
|
||||
<td>no link</td>
|
||||
{{ end }}
|
||||
<td>
|
||||
{{ if .Review }}
|
||||
<img src="/public/icons/tick.png" alt="true" width="24" height="24">
|
||||
{{ else }}
|
||||
<img src="/public/icons/cross.png" alt="true" width="24" height="24">
|
||||
{{ end }}
|
||||
</td>
|
||||
<td>
|
||||
{{ if .ShouldDownload }}
|
||||
<img src="/public/icons/tick.png" alt="true" width="24" height="24">
|
||||
{{ else }}
|
||||
<img src="/public/icons/cross.png" alt="true" width="24" height="24">
|
||||
{{ end }}
|
||||
</td>
|
||||
<td><a href="{{ $.MediaLinksUrl }}/edit/{{.ID}}" class="btn btn-outline-primary btn-sm active" role="button"
|
||||
aria-pressed="true">Edit</a></td>
|
||||
<td><a href="{ $.MediaLinksUrl }/delete/{{.ID}}" class="btn btn-outline-danger btn-sm active"
|
||||
role="button" aria-pressed="true">Delete</a></td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,71 @@
|
||||
{{ define "mediafiles" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<main>
|
||||
<div class="row">
|
||||
<form class="form-inline" action="/web/files">
|
||||
<input type="text" placeholder="Search" name="query">
|
||||
<label>
|
||||
<input type="checkbox" name="review" {{ if .Review }}checked{{ end }}>Review
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="download" {{ if .ShouldDownload }}checked{{ end }}>Download
|
||||
</label>
|
||||
<button type="submit">Search</button>
|
||||
<div class="pill-nav"><a href="/web/files/add">Add MediaFile</a></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="maincolumn">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Title</th>
|
||||
<th scope="col">Weblink</th>
|
||||
<th scope="col">Review</th>
|
||||
<th scope="col">Download</th>
|
||||
<th colspan="2">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ range .mediafiles }}
|
||||
<tr>
|
||||
<th scope="row"><a href="/web/files/{{.ID}}">{{.Title}}</a></th>
|
||||
{{ if .WebLink }}
|
||||
<td><a href="{{.WebLink}}">{{.WebLink}}</a></td>
|
||||
{{ else }}
|
||||
<td>no link</td>
|
||||
{{ end }}
|
||||
<td>
|
||||
{{ if .Review }}
|
||||
<img src="/public/icons/tick.png" alt="true" width="24" height="24">
|
||||
{{ else }}
|
||||
<img src="/public/icons/cross.png" alt="true" width="24" height="24">
|
||||
{{ end }}
|
||||
</td>
|
||||
<td>
|
||||
{{ if .ShouldDownload }}
|
||||
<img src="/public/icons/tick.png" alt="true" width="24" height="24">
|
||||
{{ else }}
|
||||
<img src="/public/icons/cross.png" alt="true" width="24" height="24">
|
||||
{{ end }}
|
||||
</td>
|
||||
<td><a href="/web/files/edit/{{.ID}}" class="btn btn-outline-primary btn-sm active" role="button"
|
||||
aria-pressed="true">Edit</a></td>
|
||||
<td><a href="/web/files/delete/{{.ID}}" class="btn btn-outline-danger btn-sm active"
|
||||
role="button" aria-pressed="true">Delete</a></td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,71 @@
|
||||
{{ define "mediavideos" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<main>
|
||||
<div class="row">
|
||||
<form class="form-inline" action="/web/media-videos">
|
||||
<input type="text" placeholder="Search" name="query">
|
||||
<label>
|
||||
<input type="checkbox" name="review" {{ if .Review }}checked{{ end }}>Review
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="download" {{ if .ShouldDownload }}checked{{ end }}>Download
|
||||
</label>
|
||||
<button type="submit">Search</button>
|
||||
<div class="pill-nav"><a href="/web/media-videos/add">Add MediaFile</a></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="maincolumn">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Title</th>
|
||||
<th scope="col">Weblink</th>
|
||||
<th scope="col">Review</th>
|
||||
<th scope="col">Download</th>
|
||||
<th colspan="2">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ range .mediavideos }}
|
||||
<tr>
|
||||
<th scope="row"><a href="/web/media-videos/{{.ID}}">{{.Title}}</a></th>
|
||||
{{ if .WebLink }}
|
||||
<td><a href="{{.WebLink}}">{{.WebLink}}</a></td>
|
||||
{{ else }}
|
||||
<td>no link</td>
|
||||
{{ end }}
|
||||
<td>
|
||||
{{ if .Review }}
|
||||
<img src="/public/icons/tick.png" alt="true" width="24" height="24">
|
||||
{{ else }}
|
||||
<img src="/public/icons/cross.png" alt="true" width="24" height="24">
|
||||
{{ end }}
|
||||
</td>
|
||||
<td>
|
||||
{{ if .ShouldDownload }}
|
||||
<img src="/public/icons/tick.png" alt="true" width="24" height="24">
|
||||
{{ else }}
|
||||
<img src="/public/icons/cross.png" alt="true" width="24" height="24">
|
||||
{{ end }}
|
||||
</td>
|
||||
<td><a href="/web/media-videos/{{.ID}}" class="btn btn-outline-primary btn-sm active" role="button"
|
||||
aria-pressed="true">Edit</a></td>
|
||||
<td><a href="/web/media-videos/{{.ID}}/delete" class="btn btn-outline-danger btn-sm active"
|
||||
role="button" aria-pressed="true">Delete</a></td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,42 @@
|
||||
{{ define "publishers" }}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
{{ template "head" . }}
|
||||
|
||||
<body>
|
||||
{{ template "navbar" . }}
|
||||
<main>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h1>Comic Publishers</h1>
|
||||
<p>Hier steht der wesentliche Inhalt der Seite.</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<aside class="bg-light p-3">
|
||||
<h3>Seitenbereich</h3>
|
||||
<p>Optionale Sidebar oder Zusatzinformationen.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<form class="form-inline" action="/comic/publishers">
|
||||
<input type="text" placeholder="Search" name="query">
|
||||
<button type="submit">Search</button>
|
||||
<div class="pill-nav"><a href="/comic/publishers/add">Add Lofi</a></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ range .publishers }}
|
||||
<div class="card shadow p-3 mb-2 bg-body rounded" style="width: 18rem;">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">{{.Name}}</h5>
|
||||
<a href="/comic/publishers/{{.ID}}" class="btn btn-primary">Read more</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</main>
|
||||
{{ template "footer" . }}
|
||||
</body>
|
||||
</html>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,8 @@
|
||||
package templates
|
||||
|
||||
import (
|
||||
"embed"
|
||||
)
|
||||
|
||||
//go:embed layouts/* pages/*
|
||||
var TemplateFiles embed.FS
|
||||
Reference in New Issue
Block a user