Add tab widget to frontend example
This commit is contained in:
		
							parent
							
								
									1d50384bb8
								
							
						
					
					
						commit
						7265642b8b
					
				@ -26,7 +26,7 @@
 | 
			
		||||
	<title>mintea</title>
 | 
			
		||||
	<meta content="width=device-width, initial-scale=1" name="viewport">
 | 
			
		||||
	<link rel="stylesheet" href="res/style.css">
 | 
			
		||||
	<link rel="stylesheet" href="res/martian.css">
 | 
			
		||||
	<link rel="stylesheet" href="res/mint.css">
 | 
			
		||||
	<script>
 | 
			
		||||
	/*    
 | 
			
		||||
	@licstart  The following is the entire license notice for the 
 | 
			
		||||
@ -68,14 +68,13 @@
 | 
			
		||||
		</div>
 | 
			
		||||
		
 | 
			
		||||
		<div class=buttonListWrap>
 | 
			
		||||
			<ul class=buttonList>
 | 
			
		||||
				<li><a href="/">code</a></li>
 | 
			
		||||
				<li><a href="/">history</a></li>
 | 
			
		||||
				<li><a href="/">tags</a></li>
 | 
			
		||||
				<li><a href="/">tickets (17)</a></li>
 | 
			
		||||
				<li><a href="/">releases</a></li>
 | 
			
		||||
				<li><a href="/">settings</a></li>
 | 
			
		||||
			</ul>
 | 
			
		||||
			<div class="tabList end"><span>code</span>
 | 
			
		||||
				<a href="/">history</a>
 | 
			
		||||
				<a href="/">tags</a>
 | 
			
		||||
				<a href="/">tickets (17)</a>
 | 
			
		||||
				<a href="/">releases</a>
 | 
			
		||||
				<a href="/">settings</a>
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
	</nav>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
@ -2,12 +2,14 @@
 | 
			
		||||
:root {
 | 
			
		||||
	--glass:             #EEEEEE77;
 | 
			
		||||
	--background:        #EEE;
 | 
			
		||||
	--control:           #FFF4;
 | 
			
		||||
	--foreground:        #333;
 | 
			
		||||
	--subtle-foreground: #888;
 | 
			
		||||
	--outline:           #00000015;
 | 
			
		||||
	--shine:             #00000015;
 | 
			
		||||
	--accent:            #209D6E;
 | 
			
		||||
	--subtle-accent:     #209D6E30;
 | 
			
		||||
	--subtler-accent:    #209D6E12;
 | 
			
		||||
	--shadow:            0 4px 32px #03281A12;
 | 
			
		||||
	--icon-filter:       hue-rotate(157deg) saturate(0.80) brightness(1.3);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -82,6 +82,40 @@ nav {
 | 
			
		||||
	margin-right: 1em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sidebar .buttonList {
 | 
			
		||||
	margin-bottom: 1rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.tabList {
 | 
			
		||||
	display: flex;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.tabList.end {
 | 
			
		||||
	justify-content: flex-end;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.tabList a, .tabList span {
 | 
			
		||||
	color: var(--accent);
 | 
			
		||||
	border: 1px solid var(--shine);
 | 
			
		||||
	background-color: var(--control);
 | 
			
		||||
	display: inline-block;
 | 
			
		||||
	padding: 0 0.5em;
 | 
			
		||||
	border-left-width: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.tabList span {
 | 
			
		||||
	background-color: var(--subtler-accent);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.tabList a:first-child, .tabList span:first-child {
 | 
			
		||||
	border-radius: 0.5em 0 0 0.5em;
 | 
			
		||||
	border-left-width: 1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.tabList a:last-child, .tabList span:last-child {
 | 
			
		||||
	border-radius: 0 0.5em 0.5em 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
header {
 | 
			
		||||
	padding: 0 1rem;
 | 
			
		||||
	display: flex;
 | 
			
		||||
@ -109,12 +143,24 @@ header .buttonList {
 | 
			
		||||
		position: relative;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	nav .buttonListWrap .buttonList {
 | 
			
		||||
	nav .buttonListWrap .buttonList, nav .buttonListWrap .tabList  {
 | 
			
		||||
		overflow-x: auto;
 | 
			
		||||
		white-space: nowrap;
 | 
			
		||||
		scrollbar-width: thin;
 | 
			
		||||
		width: 100%;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	nav .buttonListWrap .tabList {
 | 
			
		||||
		justify-content: unset;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	nav .buttonListWrap .tabList *:first-child {
 | 
			
		||||
		margin-left: auto;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	nav .buttonListWrap .tabList *:last-child {
 | 
			
		||||
		margin-right: auto;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	nav .buttonListWrap::after {
 | 
			
		||||
		position: absolute;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										171
									
								
								assets/tickets.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								assets/tickets.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,171 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
 | 
			
		||||
<!--
 | 
			
		||||
	Copyright (c) 2022 Sasha Koshka <sashakoshka@tebibyte.media>
 | 
			
		||||
	Copyright (c) 2023 Emma Tebibyte <emma@tebibyte.media>
 | 
			
		||||
	SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 | 
			
		||||
	This file is part of Mintee.
 | 
			
		||||
 | 
			
		||||
	Mintee is free software: you can redistribute it and/or modify it under the
 | 
			
		||||
	terms of the GNU Affero General Public License as published by the Free
 | 
			
		||||
	Software Foundation, either version 3 of the License, or (at your option) any
 | 
			
		||||
	later version.
 | 
			
		||||
 | 
			
		||||
	Mintee is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
			
		||||
	WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 | 
			
		||||
	A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
 | 
			
		||||
	details.
 | 
			
		||||
 | 
			
		||||
	You should have received a copy of the GNU Affero General Public License
 | 
			
		||||
	along with Mintee. If not, see https://www.gnu.org/licenses/.
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
	<title>tickets | repo | mintee</title>
 | 
			
		||||
	<meta content="width=device-width, initial-scale=1" name="viewport">
 | 
			
		||||
	<link rel="stylesheet" href="res/style.css">
 | 
			
		||||
	<link rel="stylesheet" href="res/mint.css">
 | 
			
		||||
	<script>
 | 
			
		||||
	/*    
 | 
			
		||||
	@licstart  The following is the entire license notice for the 
 | 
			
		||||
	JavaScript code in this page.
 | 
			
		||||
 | 
			
		||||
	Copyright (C) 2022 Sasha Koshka <sashakoshka@tebibyte.media>
 | 
			
		||||
 | 
			
		||||
	The JavaScript code in this page is free software: you can
 | 
			
		||||
	redistribute it and/or modify it under the terms of the GNU
 | 
			
		||||
	General Public License (GNU GPL) as published by the Free Software
 | 
			
		||||
	Foundation, either version 3 of the License, or (at your option)
 | 
			
		||||
	any later version.  The code is distributed WITHOUT ANY WARRANTY;
 | 
			
		||||
	without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
			
		||||
	FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
 | 
			
		||||
 | 
			
		||||
	As additional permission under GNU GPL version 3 section 7, you
 | 
			
		||||
	may distribute non-source (e.g., minimized or compacted) forms of
 | 
			
		||||
	that code without the copy of the GNU GPL normally required by
 | 
			
		||||
	section 4, provided you include this license notice and a URL
 | 
			
		||||
	through which recipients can access the Corresponding Source.   
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	@licend  The above is the entire license notice
 | 
			
		||||
	for the JavaScript code in this page.
 | 
			
		||||
	*/
 | 
			
		||||
	</script>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
 | 
			
		||||
<div id=stickyWrap>
 | 
			
		||||
	<nav>
 | 
			
		||||
		<div class=buttonListWrap>
 | 
			
		||||
			<ul class=buttonList>
 | 
			
		||||
				<li><a href="/">TiBM</a></li>
 | 
			
		||||
				<li><a class=dashboardButton href="/"><span class=collapse>dashboard</span></a></li>
 | 
			
		||||
				<li><a class=profileButton href="/"><span class=collapse>profile</span></a></li>
 | 
			
		||||
				<li><a class=notificationsButton href="/"><span class=collapse>notifications</span> (17)</a></li>
 | 
			
		||||
			</ul>
 | 
			
		||||
		</div>
 | 
			
		||||
		
 | 
			
		||||
		<div class=buttonListWrap>
 | 
			
		||||
			<ul class=buttonList>
 | 
			
		||||
				<li><a href="/">code</a></li>
 | 
			
		||||
				<li><a href="/">history</a></li>
 | 
			
		||||
				<li><a href="/">tags</a></li>
 | 
			
		||||
				<li><a href="/">tickets (17)</a></li>
 | 
			
		||||
				<li><a href="/">releases</a></li>
 | 
			
		||||
				<li><a href="/">settings</a></li>
 | 
			
		||||
			</ul>
 | 
			
		||||
		</div>
 | 
			
		||||
	</nav>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<header>
 | 
			
		||||
	<span>
 | 
			
		||||
		viewing
 | 
			
		||||
		<span class=linkedPath>
 | 
			
		||||
			<a href="/">owner</a>/<a href="/">repo</a>/<a href="/">branch</a>
 | 
			
		||||
		</span>
 | 
			
		||||
	</span>
 | 
			
		||||
	<ul class=buttonList>
 | 
			
		||||
		<li><a class=watchButton href="/">watch</a></li>
 | 
			
		||||
		<li><a class=starButton href="/">star</a></li>
 | 
			
		||||
		<li><a class=forkButton href="/">fork</a></li>
 | 
			
		||||
		<li><a class=cloneButton href="/">clone</a></li>
 | 
			
		||||
	</ul>
 | 
			
		||||
</header>
 | 
			
		||||
 | 
			
		||||
<div id=contentWrap>
 | 
			
		||||
	<aside class=sidebar>
 | 
			
		||||
		<p class=ticketFilters>
 | 
			
		||||
			<label for=ticketsOpenClosed>tickets</label>
 | 
			
		||||
			<select name=ticketsOpenClosed id=ticketsOpenClosed>
 | 
			
		||||
				<option value=open>open</option>
 | 
			
		||||
				<option value=closed>closed</option>
 | 
			
		||||
			</select>
 | 
			
		||||
		</p>
 | 
			
		||||
		<table class=files border=1>
 | 
			
		||||
		<tbody>
 | 
			
		||||
		  <tr>
 | 
			
		||||
		    <td><a class=openTicket href="/">#1 ticket name</a></td>
 | 
			
		||||
		    <td><time datetime="2023-01-01">in 2 months</time></td>
 | 
			
		||||
		  </tr>
 | 
			
		||||
		  <tr>
 | 
			
		||||
		    <td><a class=openTicket href="/">#1 ticket name</a></td>
 | 
			
		||||
		    <td><time datetime="2023-01-01">in 2 months</time></td>
 | 
			
		||||
		  </tr>
 | 
			
		||||
		  <tr>
 | 
			
		||||
		    <td><a class=openTicket href="/">#1 ticket name</a></td>
 | 
			
		||||
		    <td><time datetime="2023-01-01">in 2 months</time></td>
 | 
			
		||||
		  </tr>
 | 
			
		||||
		  <tr>
 | 
			
		||||
		    <td><a class=openTicket href="/">#1 ticket name</a></td>
 | 
			
		||||
		    <td><time datetime="2023-01-01">in 2 months</time></td>
 | 
			
		||||
		  </tr>
 | 
			
		||||
		</tbody>
 | 
			
		||||
		</table>
 | 
			
		||||
	</aside>
 | 
			
		||||
 | 
			
		||||
	<main>
 | 
			
		||||
		<p class=previewLabel>README.md</p>
 | 
			
		||||
		<article class=preview>
 | 
			
		||||
			<h1>Some Repository</h1>
 | 
			
		||||
			<p>Ratione quis totam tempora sit magnam voluptas. Recusandae qui illo nulla eligendi. Perspiciatis iusto numquam suscipit aspernatur quibusdam ex.</p>
 | 
			
		||||
			<p>Consequuntur atque rerum culpa numquam et et possimus dolor. Quidem possimus quia et consectetur. Debitis autem cupiditate vero maxime et libero quae. Tenetur vero architecto iure dolores numquam assumenda enim.</p>
 | 
			
		||||
			<p>Dolorem facere animi quis repudiandae rerum dolor. Reprehenderit consequatur quae quia quos illum. Labore ducimus ut quaerat et corrupti cupiditate tenetur.</p>
 | 
			
		||||
			<p>Nisi ut aut sunt dignissimos. Alias magnam itaque deleniti alias quibusdam id possimus eos. Reiciendis et eos placeat. Vero eligendi occaecati quaerat vitae voluptatem deserunt.</p>
 | 
			
		||||
			<p>Dolor aut corrupti et officia id. Minus ipsam assumenda fugiat neque. Neque et saepe maiores iusto maiores. Dolor et at reprehenderit exercitationem totam neque.</p>
 | 
			
		||||
			<h2>Heading</h2>
 | 
			
		||||
			<p>Ratione quis totam tempora sit magnam voluptas. Recusandae qui illo nulla eligendi. Perspiciatis iusto numquam suscipit aspernatur quibusdam ex.</p>
 | 
			
		||||
			<p>Consequuntur atque rerum culpa numquam et et possimus dolor. Quidem possimus quia et consectetur. Debitis autem cupiditate vero maxime et libero quae. Tenetur vero architecto iure dolores numquam assumenda enim.</p>
 | 
			
		||||
			<p>Dolorem facere animi quis repudiandae rerum dolor. Reprehenderit consequatur quae quia quos illum. Labore ducimus ut quaerat et corrupti cupiditate tenetur.</p>
 | 
			
		||||
			<p>Nisi ut aut sunt dignissimos. Alias magnam itaque deleniti alias quibusdam id possimus eos. Reiciendis et eos placeat. Vero eligendi occaecati quaerat vitae voluptatem deserunt.</p>
 | 
			
		||||
			<p>Dolor aut corrupti et officia id. Minus ipsam assumenda fugiat neque. Neque et saepe maiores iusto maiores. Dolor et at reprehenderit exercitationem totam neque.</p>
 | 
			
		||||
			<h2>Heading</h2>
 | 
			
		||||
			<p>Ratione quis totam tempora sit magnam voluptas. Recusandae qui illo nulla eligendi. Perspiciatis iusto numquam suscipit aspernatur quibusdam ex.</p>
 | 
			
		||||
			<p>Consequuntur atque rerum culpa numquam et et possimus dolor. Quidem possimus quia et consectetur. Debitis autem cupiditate vero maxime et libero quae. Tenetur vero architecto iure dolores numquam assumenda enim.</p>
 | 
			
		||||
			<p>Dolorem facere animi quis repudiandae rerum dolor. Reprehenderit consequatur quae quia quos illum. Labore ducimus ut quaerat et corrupti cupiditate tenetur.</p>
 | 
			
		||||
			<p>Nisi ut aut sunt dignissimos. Alias magnam itaque deleniti alias quibusdam id possimus eos. Reiciendis et eos placeat. Vero eligendi occaecati quaerat vitae voluptatem deserunt.</p>
 | 
			
		||||
			<p>Dolor aut corrupti et officia id. Minus ipsam assumenda fugiat neque. Neque et saepe maiores iusto maiores. Dolor et at reprehenderit exercitationem totam neque.</p>
 | 
			
		||||
		</article>
 | 
			
		||||
	</main>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
let stickyWrap = document.querySelector("#stickyWrap")
 | 
			
		||||
document.addEventListener ("scroll", () => {
 | 
			
		||||
	if (document.documentElement.scrollTop > 0) {
 | 
			
		||||
		stickyWrap.className = "lifted"
 | 
			
		||||
	} else {
 | 
			
		||||
		stickyWrap.className = ""
 | 
			
		||||
	}
 | 
			
		||||
})	
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<footer>
 | 
			
		||||
	<a href="https://git.tebibyte.media/meta/mintee">Mintee</a>,
 | 
			
		||||
	the fresh and tasty git frontend. page: #s. template: #s.
 | 
			
		||||
</footer>
 | 
			
		||||
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user