mirror of
https://github.com/Fluffy-Bean/image-gallery.git
synced 2025-05-17 17:04:54 +00:00
Fullscreen image view
This commit is contained in:
parent
e7f55dc062
commit
55c853e81c
4 changed files with 152 additions and 21 deletions
|
@ -5,11 +5,11 @@ use App\Account;
|
||||||
$loggedin = new Account();
|
$loggedin = new Account();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<nav class="nav-root flex-left">
|
<nav class="nav-root">
|
||||||
<div class="nav-name flex-left">
|
<div class="nav-name">
|
||||||
<p><?php echo $user_settings['website_name']; ?></p>
|
<p><?php echo $user_settings['website_name']; ?></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="nav-links flex-left">
|
<div class="nav-links">
|
||||||
<a class='btn' href='index.php'><img class='svg' src='assets/icons/house.svg'><span class='nav-hide'>Home</span></a>
|
<a class='btn' href='index.php'><img class='svg' src='assets/icons/house.svg'><span class='nav-hide'>Home</span></a>
|
||||||
<hr>
|
<hr>
|
||||||
<?php
|
<?php
|
||||||
|
|
49
css/main.css
49
css/main.css
|
@ -310,6 +310,55 @@ nav .btn {
|
||||||
| IMAGE
|
| IMAGE
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
.fullscreen-image {
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%) translateY(-50%);
|
||||||
|
background-color: rgba(21, 21, 21, 0.7333333333);
|
||||||
|
-webkit-backdrop-filter: blur(15px);
|
||||||
|
backdrop-filter: blur(15px);
|
||||||
|
z-index: 999;
|
||||||
|
transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
|
||||||
|
display: none;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.fullscreen-image img {
|
||||||
|
max-width: 95%;
|
||||||
|
max-height: 95%;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%) translateY(-50%);
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
}
|
||||||
|
.fullscreen-image button {
|
||||||
|
width: 1.75rem;
|
||||||
|
height: 1.75rem;
|
||||||
|
padding: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: 0.5rem;
|
||||||
|
right: 0.5rem;
|
||||||
|
display: block;
|
||||||
|
box-sizing: border-box;
|
||||||
|
text-decoration: none;
|
||||||
|
border: none;
|
||||||
|
border-radius: calc(0.25rem - (0.5rem + 3px));
|
||||||
|
transition: outline 0.1s cubic-bezier(0.19, 1, 0.22, 1);
|
||||||
|
background-color: #121212;
|
||||||
|
box-shadow: 6px 6px 2px rgba(21, 21, 21, 0.4);
|
||||||
|
}
|
||||||
|
.fullscreen-image button img {
|
||||||
|
width: 1.5rem;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.fullscreen-image button:hover {
|
||||||
|
outline: #E8E3E3 0.2rem solid;
|
||||||
|
color: #E8E3E3;
|
||||||
|
}
|
||||||
|
|
||||||
.image-container {
|
.image-container {
|
||||||
margin: 1rem 0 2rem 0;
|
margin: 1rem 0 2rem 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
|
@ -182,6 +182,71 @@
|
||||||
| IMAGE
|
| IMAGE
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
.fullscreen-image {
|
||||||
|
width: 100vw; height: 100vh;
|
||||||
|
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-050%) translateY(-50%);
|
||||||
|
|
||||||
|
background-color: $bg-alt;
|
||||||
|
backdrop-filter: blur(15px);
|
||||||
|
|
||||||
|
z-index: 999;
|
||||||
|
|
||||||
|
transition: opacity 0.5s cubic-bezier(.19, 1, .22, 1);
|
||||||
|
|
||||||
|
display: none; // Hidden so to not disturb the user
|
||||||
|
opacity: 0; //
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 95%; max-height: 95%;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-050%) translateY(-50%);
|
||||||
|
|
||||||
|
border-radius: $rad;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
width: 1.75rem; height: 1.75rem;
|
||||||
|
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
top: 0.5rem;
|
||||||
|
right: 0.5rem;
|
||||||
|
|
||||||
|
display: block;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
border: none;
|
||||||
|
border-radius: calc($rad - (0.5rem + 3px));
|
||||||
|
|
||||||
|
transition: outline 0.1s cubic-bezier(.19, 1, .22, 1);
|
||||||
|
|
||||||
|
background-color: $black;
|
||||||
|
|
||||||
|
box-shadow: $shadow;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 1.5rem;
|
||||||
|
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
outline: $white 0.2rem solid;
|
||||||
|
color: $fg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.image-container {
|
.image-container {
|
||||||
margin: 1rem 0 2rem 0;
|
margin: 1rem 0 2rem 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
41
image.php
41
image.php
|
@ -121,29 +121,46 @@
|
||||||
$privilaged = False;
|
$privilaged = False;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo "<div class='fullscreen-image'>
|
||||||
|
<button onclick='closeFullScreen()'><img src='assets/icons/cross.svg'></button>
|
||||||
|
<img>
|
||||||
|
</div>";
|
||||||
|
|
||||||
if (is_file("images/previews/".$image['imagename'])) {
|
if (is_file("images/previews/".$image['imagename'])) {
|
||||||
echo "<div class='image-container'>
|
echo "<div class='image-container'>
|
||||||
<img class='image' id='".$image['id']."' src='images/previews/".$image['imagename']."' alt='".$image_alt."'>
|
<img class='image' id='".$image['id']."' src='images/previews/".$image['imagename']."' alt='".$image_alt."'>
|
||||||
<button class='preview-button' onclick='showFull()'><img src='assets/icons/scan.svg'></button>
|
<button class='preview-button' onclick='fullScreen()'><img src='assets/icons/scan.svg'></button>
|
||||||
</div>";
|
</div>";
|
||||||
|
} else {
|
||||||
|
echo "<div class='image-container'>
|
||||||
|
<img class='image' id='".$image['id']."' src='".$image_path."' alt='".$image_alt."'>
|
||||||
|
<button class='preview-button' onclick='fullScreen()'><img src='assets/icons/scan.svg'></button>
|
||||||
|
</div>";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<script>
|
<script>
|
||||||
function showFull() {
|
function fullScreen() {
|
||||||
document.querySelector(".image").style.opacity = 0;
|
|
||||||
document.querySelector(".preview-button").style.display = "none";
|
document.querySelector(".preview-button").style.display = "none";
|
||||||
|
|
||||||
|
document.querySelector(".fullscreen-image").style.display = "block";
|
||||||
|
document.querySelector(".fullscreen-image > img").src = "<?php echo $image_path;?>";
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
document.querySelector(".image").src = "<?php echo $image_path;?>";
|
document.querySelector(".fullscreen-image").style.opacity = 1;
|
||||||
document.querySelector(".image").style.opacity = 1;
|
}, 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeFullScreen() {
|
||||||
|
document.querySelector(".preview-button").style.display = "block";
|
||||||
|
|
||||||
|
document.querySelector(".fullscreen-image").style.opacity = 0;
|
||||||
|
setTimeout(function(){
|
||||||
|
document.querySelector(".fullscreen-image").style.display = "none";
|
||||||
}, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<?php
|
<?php
|
||||||
} else {
|
|
||||||
echo "<div class='image-container'>
|
|
||||||
<img class='image' id='".$image['id']."' src='".$image_path."' alt='".$image_alt."'>
|
|
||||||
</div>";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
|
@ -273,7 +290,7 @@
|
||||||
if ($privilaged) {
|
if ($privilaged) {
|
||||||
?>
|
?>
|
||||||
<!-- Danger zone -->
|
<!-- Danger zone -->
|
||||||
<div class='danger-zone flex-down default-window'>
|
<div class='danger-zone'>
|
||||||
<h2>Danger zone</h2>
|
<h2>Danger zone</h2>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue