parent
41afe44c51
commit
9c70564063
@ -0,0 +1,110 @@
|
||||
<script>
|
||||
import {
|
||||
title,
|
||||
heading,
|
||||
subtitle,
|
||||
content,
|
||||
date,
|
||||
address,
|
||||
organizedBy,
|
||||
colabs,
|
||||
canvas
|
||||
} from '$lib/stores/store';
|
||||
|
||||
/** @type {HTMLInputElement} */ let fileinput;
|
||||
|
||||
const onFileSelected = (/** @type {Event} */ e) => {
|
||||
let image = e.target.files[0];
|
||||
let reader = new FileReader();
|
||||
reader.readAsDataURL(image);
|
||||
reader.onload = (e) => {
|
||||
$colabs = [...$colabs, { image: e.target.result, text: '' }];
|
||||
};
|
||||
};
|
||||
|
||||
const removecolabs = (/** @type {number} */ index) => {
|
||||
if (index > -1) {
|
||||
$colabs.splice(index, 1);
|
||||
$colabs = $colabs;
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<div class="colabs">
|
||||
{#if $colabs[0]}
|
||||
{#each $colabs as organization, i}
|
||||
<div class="organization">
|
||||
<div
|
||||
class="remove"
|
||||
on:click|preventDefault={() => {
|
||||
removecolabs(i);
|
||||
}}
|
||||
>
|
||||
x
|
||||
</div>
|
||||
<img class="organized-logo" src={organization.image} alt={organization.text} />
|
||||
<input class="logo-title" type="text" bind:value={organization.text} />
|
||||
</div>
|
||||
{/each}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<button
|
||||
on:click|preventDefault={() => {
|
||||
fileinput.click();
|
||||
}}>Añadir logo</button
|
||||
>
|
||||
<input
|
||||
style="display:none;"
|
||||
type="file"
|
||||
accept=".jpg, .jpeg, .png"
|
||||
on:change={(e) => onFileSelected(e)}
|
||||
bind:this={fileinput}
|
||||
/>
|
||||
|
||||
<style>
|
||||
.colabs {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, min-content);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.organization {
|
||||
position: relative;
|
||||
display: grid;
|
||||
grid-template-rows: min-content min-content;
|
||||
grid-gap: 0.5rem;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 1rem;
|
||||
background-color: #ddd;
|
||||
padding: 0.25rem;
|
||||
}
|
||||
.organized-logo {
|
||||
max-height: 64px;
|
||||
max-width: 100px;
|
||||
margin: 0 auto;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.remove {
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
right: -0.25rem;
|
||||
color: red;
|
||||
cursor: pointer;
|
||||
background-color: white;
|
||||
padding: 0 0.25rem;
|
||||
}
|
||||
|
||||
input {
|
||||
display: block;
|
||||
max-width: 100px;
|
||||
}
|
||||
button {
|
||||
display: block;
|
||||
padding: 0.5rem;
|
||||
cursor: pointer;
|
||||
margin: 1rem;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue