2023-03-14 15:22:52 +00:00
|
|
|
{{ define "header" }}
|
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en" class="h-full">
|
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8" />
|
2023-03-23 15:00:48 +00:00
|
|
|
<link rel="icon" type="image/svg+xml" href="{{ asset "favicon.svg" }}" />
|
2023-03-14 15:22:52 +00:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
2023-03-23 15:00:48 +00:00
|
|
|
<link rel="stylesheet" href="{{ asset "main.css" }}" />
|
2023-04-03 21:37:54 +00:00
|
|
|
<script type="module" src="{{ asset "main.ts" }}"></script>
|
2023-03-14 15:22:52 +00:00
|
|
|
|
|
|
|
{{ if .htmlTitle }}
|
|
|
|
<title>{{ .htmlTitle }} - Opengist</title>
|
|
|
|
{{ else }}
|
|
|
|
<title>Opengist</title>
|
|
|
|
{{ end }}
|
|
|
|
</head>
|
|
|
|
<body class="h-full">
|
|
|
|
<div id="app" class="text-white min-h-full bg-gray-900">
|
|
|
|
<div class="min-h-full">
|
|
|
|
<nav class="bg-gray-800">
|
|
|
|
<div class="max-w-7xl mx-auto px-2 sm:px-6 lg:px-8">
|
|
|
|
<div class="relative flex items-center justify-between h-16">
|
|
|
|
<div class="absolute inset-y-0 left-0 flex items-center sm:hidden">
|
|
|
|
<!-- Mobile menu button-->
|
|
|
|
<button id="main-menu-button" type="button" class="inline-flex items-center justify-center p-2 rounded-md text-slate-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white" aria-controls="mobile-menu" aria-expanded="false">
|
|
|
|
<span class="sr-only">Open main menu</span>
|
|
|
|
<svg id="main-menu-open" class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true">
|
|
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16" />
|
|
|
|
</svg>
|
|
|
|
<svg id="main-menu-close" class="hidden h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true">
|
|
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
|
|
</svg>
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
<div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start">
|
|
|
|
<div class="flex-shrink-0 flex items-center">
|
|
|
|
<a href="/">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8 flex text-primary-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
|
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
|
|
|
|
</svg>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<div class="hidden sm:block sm:ml-6">
|
|
|
|
<div class="flex space-x-4">
|
|
|
|
<a href="/all" class="text-slate-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" aria-current="page">All</a>
|
2023-04-12 11:30:51 +00:00
|
|
|
<a href="/" class="text-slate-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">New</a>
|
2023-03-14 15:22:52 +00:00
|
|
|
{{ if .userLogged }}
|
|
|
|
<a href="/{{ .userLogged.Username }}" class="text-slate-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">My gists</a>
|
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="absolute inset-y-0 right-0 flex items-center pr-2 sm:static sm:inset-auto sm:ml-6 sm:pr-0">
|
|
|
|
{{ if .userLogged }}
|
|
|
|
{{ if .userLogged.IsAdmin }}
|
2023-04-16 15:48:21 +00:00
|
|
|
<a href="/admin-panel" class="hidden sm:block text-slate-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" aria-current="page">Admin</a>
|
2023-03-14 15:22:52 +00:00
|
|
|
{{ end }}
|
2023-03-20 12:30:25 +00:00
|
|
|
<a href="/settings" class="hidden sm:block text-slate-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" aria-current="page">Settings</a>
|
2023-03-14 15:22:52 +00:00
|
|
|
|
|
|
|
<a href="/logout" id="logged-button" class="inline-flex text-slate-300 hover:bg-rose-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">
|
|
|
|
<p class="text-slate-300 mr-1 username">{{ .userLogged.Username }}</p>
|
|
|
|
<p class="text-slate-300 mr-1 logout hidden">Logout</p>
|
|
|
|
<span class="sr-only">User</span>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 text-slate-300" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
|
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />
|
|
|
|
</svg>
|
|
|
|
</a>
|
|
|
|
{{ else }}
|
|
|
|
{{ if not .signupDisabled }}
|
|
|
|
<a href="/register" class="inline-flex text-slate-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">
|
|
|
|
<p class="text-slate-300 mr-1">Register</p>
|
|
|
|
</a>
|
|
|
|
{{ end }}
|
|
|
|
<a href="/login" class="inline-flex text-slate-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">
|
|
|
|
<p class="text-slate-300 mr-1">Login</p>
|
|
|
|
</a>
|
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- Mobile menu -->
|
|
|
|
<div class="sm:hidden hidden" id="mobile-menu">
|
|
|
|
<div class="px-2 pt-2 pb-3 space-y-1">
|
|
|
|
<a href="/all" class="bg-gray-900 text-white block px-3 py-2 rounded-md text-base font-medium" aria-current="page">All</a>
|
2023-04-12 11:30:51 +00:00
|
|
|
<a href="/" class="text-slate-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium">New</a>
|
2023-03-14 15:22:52 +00:00
|
|
|
{{ if .userLogged }}
|
|
|
|
<a href="/{{ .userLogged.Username }}" class="text-slate-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium">My gists</a>
|
2023-03-20 12:30:25 +00:00
|
|
|
<a href="/settings" class="text-slate-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium">Settings</a>
|
2023-03-14 15:22:52 +00:00
|
|
|
|
|
|
|
{{ if .userLogged.IsAdmin }}
|
2023-04-16 15:48:21 +00:00
|
|
|
<a href="/admin-panel" class="text-slate-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium">Admin</a>
|
2023-03-14 15:22:52 +00:00
|
|
|
{{ end }}
|
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-slate-300">
|
|
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
{{range .flashErrors}}
|
|
|
|
<div class="mt-4 rounded-md bg-gray-800 border-l-4 border-rose-400 p-4">
|
|
|
|
<div class="flex">
|
|
|
|
<div class="flex-shrink-0">
|
|
|
|
<svg class="h-5 w-5 text-rose-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
|
|
|
|
<path fill-rule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clip-rule="evenodd" />
|
|
|
|
</svg>
|
|
|
|
</div>
|
|
|
|
<div class="ml-3">
|
|
|
|
<p class="text-sm text-rose-400">{{.}}</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
{{range .flashSuccess}}
|
|
|
|
<div class="mt-4 rounded-md bg-gray-800 border-l-4 border-primary-400 p-4">
|
|
|
|
<div class="flex">
|
|
|
|
<div class="flex-shrink-0">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 text-primary-400" viewBox="0 0 20 20" fill="currentColor">
|
|
|
|
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
|
|
|
|
</svg>
|
|
|
|
</div>
|
|
|
|
<div class="ml-3">
|
|
|
|
<p class="text-sm text-primary-400">{{.}}</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{ end }}
|