1
0
mirror of https://github.com/immich-app/immich.git synced 2025-06-23 04:38:12 +02:00

Implement mechanism to remove and add shared user in album on web (#369)

* AFixed overlay issue of modal

* Added modal with existing user

* Added custom scrollbar to all pages

* Fixed Document is not define when access document DOM node in browswer

* Added context menu

* Added api to remove user from album

* Handle user leave album

* Added share button to non-shared album

* Added padding to album viewer:

* Fixed margin top of asset selection page

* Fixed issue cannot push to dockerhub
This commit is contained in:
Alex
2022-07-23 13:08:49 -05:00
committed by GitHub
parent 6021124688
commit 3b97c7729b
20 changed files with 405 additions and 142 deletions

View File

@ -0,0 +1,33 @@
<script lang="ts">
import { clickOutside } from '$lib/utils/click-outside';
import { createEventDispatcher } from 'svelte';
import { quintOut } from 'svelte/easing';
import { slide } from 'svelte/transition';
export let x: number = 0;
export let y: number = 0;
const dispatch = createEventDispatcher();
let menuEl: HTMLElement;
$: (() => {
if (!menuEl) return;
const rect = menuEl.getBoundingClientRect();
x = Math.min(window.innerWidth - rect.width, x);
if (y > window.innerHeight - rect.height) {
y -= rect.height;
}
})();
</script>
<div
transition:slide={{ duration: 200, easing: quintOut }}
bind:this={menuEl}
class="absolute bg-white w-[150px] z-[99999] rounded-lg shadow-md"
style={`top: ${y}px; left: ${x}px;`}
use:clickOutside
on:out-click={() => dispatch('clickoutside')}
>
<slot />
</div>

View File

@ -0,0 +1,26 @@
<script>
import { createEventDispatcher } from 'svelte';
export let isDisabled = false;
export let text = '';
const dispatch = createEventDispatcher();
const handleClick = () => {
if (isDisabled) return;
dispatch('click');
};
</script>
<button
class:disabled={isDisabled}
on:click={handleClick}
class="bg-white hover:bg-immich-bg transition-all p-4 w-full text-left rounded-lg"
>
{#if text}
{text}
{:else}
<slot />
{/if}
</button>

View File

@ -0,0 +1,3 @@
const key = {};
export { key };