From 127d6aac043ee3a8a8c513b8bb2644b191064ca6 Mon Sep 17 00:00:00 2001
From: La Kelo Gaztetxea
Date: Wed, 9 Mar 2022 23:01:13 +0000
Subject: [PATCH 001/175] Translated using Weblate (Spanish)
Currently translated at 100.0% (243 of 243 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/es/
---
locales/es.json | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/locales/es.json b/locales/es.json
index e8b4e5b5..0f4a7680 100644
--- a/locales/es.json
+++ b/locales/es.json
@@ -105,19 +105,19 @@
"intro": "A diferencia de las plataformas del capitalismo, que hacen todo lo posible para mantener datos y usuarios dentro de ellas, creemos las informaciones, así como las personas, deben ser libres. Para ello, puedes mantenerte enterado sobre los eventos que te interesan como mejor te parezca, sin necesariamente tener que pasar por este sitio.",
"email_description": "Puedes recibir por mail los eventos que te interesan.",
"insert_your_address": "Casilla de correo",
- "feed_description": "Para seguir las actualizaciones desde un ordenador o teléfono inteligente sin la necesidad de abrir periódicamente el sitio, el método recomendado es usar los feeds RSS.
\n\n
Con rss feeds, utilizas una aplicación especial para recibir actualizaciones de los sitios que más te interesan, como por ejemplo éste. Es una buena manera de seguir muchos sitios muy rápidamente, sin la necesidad de crear una cuenta u otras complicaciones.
En el caso de un ordenador aconsejamos Feedbro, se instala como plugin de Firefox o de Chrome y funciona con todos los principales sistemas.
\n \n Agregando este link a tu lector de feed, estarás siempre actualizado/a.",
+ "feed_description": "Para seguir las actualizaciones desde un ordenador o teléfono inteligente sin la necesidad de abrir periódicamente el sitio, el método recomendado es usar los feeds RSS.\n\n
Con rss feeds, utilizas una aplicación especial para recibir actualizaciones de los sitios que más te interesan, como por ejemplo éste. Es una buena manera de seguir muchos sitios muy rápidamente, sin la necesidad de crear una cuenta u otras complicaciones.
En el caso de un ordenador aconsejamos Feedbro, se instala como plugin de Firefox o de Chrome y funciona con todos los principales sistemas.
\n \nAgregando este link a tu lector de feed, estarás siempre actualizado/a.",
"ical_description": "Las computadoras y los teléfonos inteligentes suelen estar equipados con una aplicación para administrar un calendario. Estos programas generalmente se pueden usar para importar un calendario remoto.",
"list_description": "Si tienes un sitio web y quieres mostrar una lista de eventos, puedes usar el siguiente código"
},
"register": {
- "description": "Los movimientos sociales necesitan organizarse y autofinanciarse. Este es un regalo para ustedes, úsenlo solamente para eventos con fines no comerciales y obviamente antifascistas, antisexistas y antirracistas.\n Antes de que puedas publicar debemos aprobar la cuenta . Como imaginarás, detrás de este sitio hay personas de carne y hueso, por esto te pedimos escribir algo para hacernos saber que tipos de eventos te gustaría publicar.",
+ "description": "Los movimientos sociales necesitan organizarse y autofinanciarse. \nEste es un regalo para ustedes, úsenlo solamente para eventos con fines no comerciales y obviamente antifascistas, antisexistas y antirracistas.\n Antes de que puedas publicar, debemos aprobar la cuenta . Como imaginarás, detrás de este sitio hay personas de carne y hueso, por esto te pedimos escribir algo para hacernos saber que tipos de eventos te gustaría publicar.",
"error": "Error: ",
"complete": "Confirmaremos el registro lo antes posible.",
"first_user": "Administrador creado y activado"
},
"event": {
"anon": "Anónimo",
- "anon_description": "Puedes ingresar un evento sin registrarte o iniciar sesión, pero en este caso tendrás que esperar a que alguien lo lea para confirmar que es un evento adecuado para este espacio,\ndelegando esta elección. Además, no será posible modificarlo.
\nSi no te gusta, puedes iniciar sesión o registrarte ,\nde lo contrario, continúa y recibirás una respuesta lo antes posible. ",
+ "anon_description": "Puedes ingresar un evento sin registrarte o iniciar sesión, pero en este caso tendrás que esperar a que alguien lo lea para confirmar que es un evento adecuado para este espacio,\ndelegando esta elección. Además, no será posible modificarlo.
\nSi no te gusta, puedes iniciar sesión o registrarte . De lo contrario, continúa y recibirás una respuesta lo antes posible. ",
"same_day": "Mismo día",
"what_description": "Nombre evento",
"description_description": "Descripción, puedes copiar y pegar",
@@ -221,7 +221,14 @@
"is_dark": "Tema oscuro",
"instance_block_confirm": "¿Estás seguro/a que quieres bloquear la instancia {instance}?",
"add_instance": "Añadir instancia",
- "disable_user_confirm": "Estas seguro de que quieres deshabilitar a {user}?"
+ "disable_user_confirm": "Estas seguro de que quieres deshabilitar a {user}?",
+ "widget": "Widget",
+ "show_smtp_setup": "Ajustes de correo",
+ "smtp_hostname": "Nombre del equipo SMTP",
+ "smtp_test_success": "Un correo de prueba se ha enviado a {admin_email}. Por favos, comprueba tu bandeja de entrada",
+ "smtp_test_button": "Enviar correo de prueba",
+ "admin_email": "Correo del administrador",
+ "smtp_description": "
El administrador debería recibir un correo cuando son añadidos eventos anónimos (si está habilitado).
El administrador debería recibir un correo de petición de registro (si está habilitado).
El usuario debería recibir un correo de petición de registro.
El usuario debería recibir un correo de confirmación de registro.
El usuario debería recibir un correo de confirmación cuando el administrador le subscriba directamente.
El usuario debería recibir un correo para restaurar la contraseña cuando la haya olvidado.
"
}
}
From 2132b88a0ee750d64f1a06752fdee9fab2551a8a Mon Sep 17 00:00:00 2001
From: La Kelo Gaztetxea
Date: Wed, 9 Mar 2022 23:06:37 +0000
Subject: [PATCH 002/175] Translated using Weblate (Basque)
Currently translated at 100.0% (243 of 243 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/eu/
---
locales/eu.json | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/locales/eu.json b/locales/eu.json
index 2440e53d..16456126 100644
--- a/locales/eu.json
+++ b/locales/eu.json
@@ -109,7 +109,7 @@
"list_description": "Webgune bat baduzu eta ekitaldien zerrenda erakutsi nahi baduzu, ondorengo kodea erabili"
},
"register": {
- "description": "Herri mugimenduek autoantolaketaren bidean diru-iturrien beharrak dauzkatela badakigu. Honako hauxe oparitxoa da, hortaz erabili ezazue ekitaldi ez-komertzialak iragartzeko, eta esan gabe doa, ekitaldi antifaxistak, antisexistak eta antiarriztetarako :) .\n Argitaratzen hasi baino lehen zure kontu berriak onarpena jaso beharko du beraz, webgune honen atzean hezur-haragizko pertsonak gaudela jakinda , (momenutz euskal 'AI'-rik ez daukagu baina adi, agertuko direla) idatzi iezaguzu lerro batzuk argitaratu nahi dituzun ekitaldiei buruz.",
+ "description": "Herri mugimenduek autoantolaketaren bidean diru-iturrien beharrak dauzkatela badakigu. \nHonako hauxe oparitxoa da, hortaz erabili ezazue ekitaldi ez-komertzialak iragartzeko, eta esan gabe doa, ekitaldi antifaxistak, antisexistak eta antiarriztetarako :) .\n Argitaratzen hasi baino lehen zure kontu berriak onarpena jaso beharko du beraz, webgune honen atzean hezur-haragizko pertsonak gaudela jakinda , (momenutz euskal 'AI'-rik ez daukagu baina adi, agertuko direla) idatzi iezaguzu lerro batzuk argitaratu nahi dituzun ekitaldiei buruz.",
"error": "Errorea: ",
"complete": "Izen-ematea baieztatua izan behar da.",
"first_user": "Administratzailea sortu da"
@@ -225,7 +225,8 @@
"smtp_test_success": "Probako eposta bidali da {admin_email}-(e)ra, begiratu zure sarrera-ontzia",
"admin_email": "Administratzailearen eposta",
"smtp_hostname": "SMTP hostname",
- "smtp_description": "
Administratzaileak eposta bat jaso beharko luke anonimo batek ekitaldi bat gehitzen duenean (gaituta badago).
Administratzaileak eposta bat jaso beharko luke izena emateko eskari bakoitzeko (gaituta badago).
Erabiltzaileak eposta bat jaso beharko luke izena emateko eskariarekin.
Erabiltzaileak eposta bat jaso beharko luke izen ematea baieztatzean.
Erabiltzaileak eposta bat jaso beharko luke administratzaileak zuzenean izena emanez gero.
Erabiltzaileek eposta bat jaso beharko lukete pasahitza ahazten dutenean.
"
+ "smtp_description": "
Administratzaileak eposta bat jaso beharko luke anonimo batek ekitaldi bat gehitzen duenean (gaituta badago).
Administratzaileak eposta bat jaso beharko luke izena emateko eskari bakoitzeko (gaituta badago).
Erabiltzaileak eposta bat jaso beharko luke izena emateko eskariarekin.
Erabiltzaileak eposta bat jaso beharko luke izen ematea baieztatzean.
Erabiltzaileak eposta bat jaso beharko luke administratzaileak zuzenean izena emanez gero.
Erabiltzaileek eposta bat jaso beharko lukete pasahitza ahazten dutenean.
",
+ "widget": "Tresna"
},
"auth": {
"not_confirmed": "Oraindik baieztatu gabe dago…",
From 3b11b89d5a878a69e039e6e8368a432eb5e54285 Mon Sep 17 00:00:00 2001
From: La Kelo Gaztetxea
Date: Wed, 9 Mar 2022 22:50:34 +0000
Subject: [PATCH 003/175] Translated using Weblate (Spanish)
Currently translated at 100.0% (13 of 13 strings)
Translation: Gancio/Email
Translate-URL: https://hosted.weblate.org/projects/gancio/email/es/
---
locales/email/es.json | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/locales/email/es.json b/locales/email/es.json
index 03c58532..a96f8bc9 100644
--- a/locales/email/es.json
+++ b/locales/email/es.json
@@ -24,5 +24,9 @@
},
"event_confirm": {
"content": "Puede confirmar este evento aquí"
+ },
+ "test": {
+ "subject": "Tu configuración SMTP funciona",
+ "content": "Esto es un email de prueba. Si estás leyendo esto es que tu configuración funciona."
}
}
From 083a050a25e50ed893da2ef1e6a9b0190ecfd628 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 15 Mar 2022 15:01:44 +0100
Subject: [PATCH 004/175] add `external_style` attribute to wc to load external
css
---
docs/assets/js/gancio-events.es.js | 211 ++++++++++++++++----------
static/gancio-events.es.js | 211 ++++++++++++++++----------
webcomponents/index.html | 2 +-
webcomponents/src/GancioEvents.svelte | 6 +-
wp-plugin/js/gancio-events.es.js | 211 ++++++++++++++++----------
5 files changed, 410 insertions(+), 231 deletions(-)
diff --git a/docs/assets/js/gancio-events.es.js b/docs/assets/js/gancio-events.es.js
index b64f32bf..d7d48880 100644
--- a/docs/assets/js/gancio-events.es.js
+++ b/docs/assets/js/gancio-events.es.js
@@ -4,7 +4,7 @@ function run(fn) {
return fn();
}
function blank_object() {
- return Object.create(null);
+ return /* @__PURE__ */ Object.create(null);
}
function run_all(fns) {
fns.forEach(run);
@@ -104,7 +104,7 @@ function schedule_update() {
function add_render_callback(fn) {
render_callbacks.push(fn);
}
-const seen_callbacks = new Set();
+const seen_callbacks = /* @__PURE__ */ new Set();
let flushidx = 0;
function flush() {
const saved_component = current_component;
@@ -146,7 +146,7 @@ function update($$) {
$$.after_update.forEach(add_render_callback);
}
}
-const outroing = new Set();
+const outroing = /* @__PURE__ */ new Set();
function transition_in(block, local) {
if (block && block.i) {
outroing.delete(block);
@@ -282,19 +282,41 @@ if (typeof HTMLElement === "function") {
}
function get_each_context(ctx, list, i) {
const child_ctx = ctx.slice();
- child_ctx[11] = list[i];
+ child_ctx[12] = list[i];
return child_ctx;
}
function get_each_context_1(ctx, list, i) {
const child_ctx = ctx.slice();
- child_ctx[14] = list[i];
+ child_ctx[15] = list[i];
return child_ctx;
}
+function create_if_block_5(ctx) {
+ let link;
+ return {
+ c() {
+ link = element("link");
+ attr(link, "rel", "stylesheet");
+ attr(link, "href", ctx[4]);
+ },
+ m(target, anchor) {
+ insert(target, link, anchor);
+ },
+ p(ctx2, dirty) {
+ if (dirty & 16) {
+ attr(link, "href", ctx2[4]);
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(link);
+ }
+ };
+}
function create_if_block$1(ctx) {
let div;
let t;
let if_block = ctx[1] && ctx[3] === "true" && create_if_block_4(ctx);
- let each_value = ctx[4];
+ let each_value = ctx[5];
let each_blocks = [];
for (let i = 0; i < each_value.length; i += 1) {
each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
@@ -336,8 +358,8 @@ function create_if_block$1(ctx) {
if_block.d(1);
if_block = null;
}
- if (dirty & 25) {
- each_value = ctx2[4];
+ if (dirty & 41) {
+ each_value = ctx2[5];
let i;
for (i = 0; i < each_value.length; i += 1) {
const child_ctx = get_each_context(ctx2, each_value, i);
@@ -395,7 +417,7 @@ function create_if_block_4(ctx) {
attr(div0, "class", "title");
attr(img, "id", "logo");
attr(img, "alt", "logo");
- if (!src_url_equal(img.src, img_src_value = "" + (ctx[0] + "/logo.png")))
+ if (!src_url_equal(img.src, img_src_value = ctx[0] + "/logo.png"))
attr(img, "src", img_src_value);
attr(div1, "class", "content");
attr(a, "href", ctx[0]);
@@ -413,7 +435,7 @@ function create_if_block_4(ctx) {
p(ctx2, dirty) {
if (dirty & 2)
set_data(t0, ctx2[1]);
- if (dirty & 1 && !src_url_equal(img.src, img_src_value = "" + (ctx2[0] + "/logo.png"))) {
+ if (dirty & 1 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/logo.png")) {
attr(img, "src", img_src_value);
}
if (dirty & 1) {
@@ -429,7 +451,7 @@ function create_if_block_4(ctx) {
function create_if_block_2(ctx) {
let div;
function select_block_type(ctx2, dirty) {
- if (ctx2[11].media.length)
+ if (ctx2[12].media.length)
return create_if_block_3;
return create_else_block;
}
@@ -472,7 +494,7 @@ function create_else_block(ctx) {
c() {
img = element("img");
attr(img, "style", "aspect-ratio=1.7778;");
- attr(img, "alt", img_alt_value = ctx[11].title);
+ attr(img, "alt", img_alt_value = ctx[12].title);
if (!src_url_equal(img.src, img_src_value = ctx[0] + "/noimg.svg"))
attr(img, "src", img_src_value);
attr(img, "loading", "lazy");
@@ -481,7 +503,7 @@ function create_else_block(ctx) {
insert(target, img, anchor);
},
p(ctx2, dirty) {
- if (dirty & 16 && img_alt_value !== (img_alt_value = ctx2[11].title)) {
+ if (dirty & 32 && img_alt_value !== (img_alt_value = ctx2[12].title)) {
attr(img, "alt", img_alt_value);
}
if (dirty & 1 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/noimg.svg")) {
@@ -502,9 +524,9 @@ function create_if_block_3(ctx) {
return {
c() {
img = element("img");
- attr(img, "style", img_style_value = "object-position: " + position$1(ctx[11]) + "; aspect-ratio=1.7778;");
- attr(img, "alt", img_alt_value = ctx[11].media[0].name);
- if (!src_url_equal(img.src, img_src_value = ctx[0] + "/media/thumb/" + ctx[11].media[0].url))
+ attr(img, "style", img_style_value = "object-position: " + position$1(ctx[12]) + "; aspect-ratio=1.7778;");
+ attr(img, "alt", img_alt_value = ctx[12].media[0].name);
+ if (!src_url_equal(img.src, img_src_value = ctx[0] + "/media/thumb/" + ctx[12].media[0].url))
attr(img, "src", img_src_value);
attr(img, "loading", "lazy");
},
@@ -512,13 +534,13 @@ function create_if_block_3(ctx) {
insert(target, img, anchor);
},
p(ctx2, dirty) {
- if (dirty & 16 && img_style_value !== (img_style_value = "object-position: " + position$1(ctx2[11]) + "; aspect-ratio=1.7778;")) {
+ if (dirty & 32 && img_style_value !== (img_style_value = "object-position: " + position$1(ctx2[12]) + "; aspect-ratio=1.7778;")) {
attr(img, "style", img_style_value);
}
- if (dirty & 16 && img_alt_value !== (img_alt_value = ctx2[11].media[0].name)) {
+ if (dirty & 32 && img_alt_value !== (img_alt_value = ctx2[12].media[0].name)) {
attr(img, "alt", img_alt_value);
}
- if (dirty & 17 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/media/thumb/" + ctx2[11].media[0].url)) {
+ if (dirty & 33 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/media/thumb/" + ctx2[12].media[0].url)) {
attr(img, "src", img_src_value);
}
},
@@ -530,7 +552,7 @@ function create_if_block_3(ctx) {
}
function create_if_block_1$1(ctx) {
let div;
- let each_value_1 = ctx[11].tags;
+ let each_value_1 = ctx[12].tags;
let each_blocks = [];
for (let i = 0; i < each_value_1.length; i += 1) {
each_blocks[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i));
@@ -550,8 +572,8 @@ function create_if_block_1$1(ctx) {
}
},
p(ctx2, dirty) {
- if (dirty & 16) {
- each_value_1 = ctx2[11].tags;
+ if (dirty & 32) {
+ each_value_1 = ctx2[12].tags;
let i;
for (i = 0; i < each_value_1.length; i += 1) {
const child_ctx = get_each_context_1(ctx2, each_value_1, i);
@@ -579,7 +601,7 @@ function create_if_block_1$1(ctx) {
function create_each_block_1(ctx) {
let span;
let t0;
- let t1_value = ctx[14] + "";
+ let t1_value = ctx[15] + "";
let t1;
return {
c() {
@@ -594,7 +616,7 @@ function create_each_block_1(ctx) {
append(span, t1);
},
p(ctx2, dirty) {
- if (dirty & 16 && t1_value !== (t1_value = ctx2[14] + ""))
+ if (dirty & 32 && t1_value !== (t1_value = ctx2[15] + ""))
set_data(t1, t1_value);
},
d(detaching) {
@@ -608,27 +630,27 @@ function create_each_block(ctx) {
let t0;
let div2;
let div0;
- let t1_value = when$1(ctx[11].start_datetime) + "";
+ let t1_value = when$1(ctx[12].start_datetime) + "";
let t1;
let t2;
let div1;
- let t3_value = ctx[11].title + "";
+ let t3_value = ctx[12].title + "";
let t3;
let t4;
let span1;
let t5;
- let t6_value = ctx[11].place.name + "";
+ let t6_value = ctx[12].place.name + "";
let t6;
let t7;
let span0;
- let t8_value = ctx[11].place.address + "";
+ let t8_value = ctx[12].place.address + "";
let t8;
let t9;
let t10;
let a_href_value;
let a_title_value;
let if_block0 = ctx[3] !== "true" && create_if_block_2(ctx);
- let if_block1 = ctx[11].tags.length && create_if_block_1$1(ctx);
+ let if_block1 = ctx[12].tags.length && create_if_block_1$1(ctx);
return {
c() {
a = element("a");
@@ -657,9 +679,9 @@ function create_each_block(ctx) {
attr(span0, "class", "subtitle");
attr(span1, "class", "place");
attr(div2, "class", "content");
- attr(a, "href", a_href_value = "" + (ctx[0] + "/event/" + (ctx[11].slug || ctx[11].id)));
+ attr(a, "href", a_href_value = ctx[0] + "/event/" + (ctx[12].slug || ctx[12].id));
attr(a, "class", "event");
- attr(a, "title", a_title_value = ctx[11].title);
+ attr(a, "title", a_title_value = ctx[12].title);
attr(a, "target", "_blank");
},
m(target, anchor) {
@@ -698,15 +720,15 @@ function create_each_block(ctx) {
if_block0.d(1);
if_block0 = null;
}
- if (dirty & 16 && t1_value !== (t1_value = when$1(ctx2[11].start_datetime) + ""))
+ if (dirty & 32 && t1_value !== (t1_value = when$1(ctx2[12].start_datetime) + ""))
set_data(t1, t1_value);
- if (dirty & 16 && t3_value !== (t3_value = ctx2[11].title + ""))
+ if (dirty & 32 && t3_value !== (t3_value = ctx2[12].title + ""))
set_data(t3, t3_value);
- if (dirty & 16 && t6_value !== (t6_value = ctx2[11].place.name + ""))
+ if (dirty & 32 && t6_value !== (t6_value = ctx2[12].place.name + ""))
set_data(t6, t6_value);
- if (dirty & 16 && t8_value !== (t8_value = ctx2[11].place.address + ""))
+ if (dirty & 32 && t8_value !== (t8_value = ctx2[12].place.address + ""))
set_data(t8, t8_value);
- if (ctx2[11].tags.length) {
+ if (ctx2[12].tags.length) {
if (if_block1) {
if_block1.p(ctx2, dirty);
} else {
@@ -718,10 +740,10 @@ function create_each_block(ctx) {
if_block1.d(1);
if_block1 = null;
}
- if (dirty & 17 && a_href_value !== (a_href_value = "" + (ctx2[0] + "/event/" + (ctx2[11].slug || ctx2[11].id)))) {
+ if (dirty & 33 && a_href_value !== (a_href_value = ctx2[0] + "/event/" + (ctx2[12].slug || ctx2[12].id))) {
attr(a, "href", a_href_value);
}
- if (dirty & 16 && a_title_value !== (a_title_value = ctx2[11].title)) {
+ if (dirty & 32 && a_title_value !== (a_title_value = ctx2[12].title)) {
attr(a, "title", a_title_value);
}
},
@@ -736,41 +758,65 @@ function create_each_block(ctx) {
};
}
function create_fragment$1(ctx) {
- let if_block_anchor;
- let if_block = ctx[4].length && create_if_block$1(ctx);
+ let t;
+ let if_block1_anchor;
+ let if_block0 = ctx[4] && create_if_block_5(ctx);
+ let if_block1 = ctx[5].length && create_if_block$1(ctx);
return {
c() {
- if (if_block)
- if_block.c();
- if_block_anchor = empty();
+ if (if_block0)
+ if_block0.c();
+ t = space();
+ if (if_block1)
+ if_block1.c();
+ if_block1_anchor = empty();
this.c = noop;
},
m(target, anchor) {
- if (if_block)
- if_block.m(target, anchor);
- insert(target, if_block_anchor, anchor);
+ if (if_block0)
+ if_block0.m(target, anchor);
+ insert(target, t, anchor);
+ if (if_block1)
+ if_block1.m(target, anchor);
+ insert(target, if_block1_anchor, anchor);
},
p(ctx2, [dirty]) {
- if (ctx2[4].length) {
- if (if_block) {
- if_block.p(ctx2, dirty);
+ if (ctx2[4]) {
+ if (if_block0) {
+ if_block0.p(ctx2, dirty);
} else {
- if_block = create_if_block$1(ctx2);
- if_block.c();
- if_block.m(if_block_anchor.parentNode, if_block_anchor);
+ if_block0 = create_if_block_5(ctx2);
+ if_block0.c();
+ if_block0.m(t.parentNode, t);
}
- } else if (if_block) {
- if_block.d(1);
- if_block = null;
+ } else if (if_block0) {
+ if_block0.d(1);
+ if_block0 = null;
+ }
+ if (ctx2[5].length) {
+ if (if_block1) {
+ if_block1.p(ctx2, dirty);
+ } else {
+ if_block1 = create_if_block$1(ctx2);
+ if_block1.c();
+ if_block1.m(if_block1_anchor.parentNode, if_block1_anchor);
+ }
+ } else if (if_block1) {
+ if_block1.d(1);
+ if_block1 = null;
}
},
i: noop,
o: noop,
d(detaching) {
- if (if_block)
- if_block.d(detaching);
+ if (if_block0)
+ if_block0.d(detaching);
if (detaching)
- detach(if_block_anchor);
+ detach(t);
+ if (if_block1)
+ if_block1.d(detaching);
+ if (detaching)
+ detach(if_block1_anchor);
}
};
}
@@ -799,6 +845,7 @@ function instance$1($$self, $$props, $$invalidate) {
let { theme = "light" } = $$props;
let { show_recurrent = false } = $$props;
let { sidebar = "true" } = $$props;
+ let { external_style = "" } = $$props;
let mounted = false;
let events = [];
function update2(v) {
@@ -818,7 +865,7 @@ function instance$1($$self, $$props, $$invalidate) {
params.push(`show_recurrent=true`);
}
fetch(`${baseurl}/api/events?${params.join("&")}`).then((res) => res.json()).then((e) => {
- $$invalidate(4, events = e);
+ $$invalidate(5, events = e);
}).catch((e) => {
console.error("Error loading Gancio API -> ", e);
});
@@ -833,20 +880,22 @@ function instance$1($$self, $$props, $$invalidate) {
if ("title" in $$props2)
$$invalidate(1, title = $$props2.title);
if ("maxlength" in $$props2)
- $$invalidate(5, maxlength = $$props2.maxlength);
+ $$invalidate(6, maxlength = $$props2.maxlength);
if ("tags" in $$props2)
- $$invalidate(6, tags = $$props2.tags);
+ $$invalidate(7, tags = $$props2.tags);
if ("places" in $$props2)
- $$invalidate(7, places = $$props2.places);
+ $$invalidate(8, places = $$props2.places);
if ("theme" in $$props2)
$$invalidate(2, theme = $$props2.theme);
if ("show_recurrent" in $$props2)
- $$invalidate(8, show_recurrent = $$props2.show_recurrent);
+ $$invalidate(9, show_recurrent = $$props2.show_recurrent);
if ("sidebar" in $$props2)
$$invalidate(3, sidebar = $$props2.sidebar);
+ if ("external_style" in $$props2)
+ $$invalidate(4, external_style = $$props2.external_style);
};
$$self.$$.update = () => {
- if ($$self.$$.dirty & 494) {
+ if ($$self.$$.dirty & 974) {
update2();
}
};
@@ -855,6 +904,7 @@ function instance$1($$self, $$props, $$invalidate) {
title,
theme,
sidebar,
+ external_style,
events,
maxlength,
tags,
@@ -873,12 +923,13 @@ class GancioEvents extends SvelteElement {
}, instance$1, create_fragment$1, safe_not_equal, {
baseurl: 0,
title: 1,
- maxlength: 5,
- tags: 6,
- places: 7,
+ maxlength: 6,
+ tags: 7,
+ places: 8,
theme: 2,
- show_recurrent: 8,
- sidebar: 3
+ show_recurrent: 9,
+ sidebar: 3,
+ external_style: 4
}, null);
if (options) {
if (options.target) {
@@ -899,7 +950,8 @@ class GancioEvents extends SvelteElement {
"places",
"theme",
"show_recurrent",
- "sidebar"
+ "sidebar",
+ "external_style"
];
}
get baseurl() {
@@ -917,21 +969,21 @@ class GancioEvents extends SvelteElement {
flush();
}
get maxlength() {
- return this.$$.ctx[5];
+ return this.$$.ctx[6];
}
set maxlength(maxlength) {
this.$$set({ maxlength });
flush();
}
get tags() {
- return this.$$.ctx[6];
+ return this.$$.ctx[7];
}
set tags(tags) {
this.$$set({ tags });
flush();
}
get places() {
- return this.$$.ctx[7];
+ return this.$$.ctx[8];
}
set places(places) {
this.$$set({ places });
@@ -945,7 +997,7 @@ class GancioEvents extends SvelteElement {
flush();
}
get show_recurrent() {
- return this.$$.ctx[8];
+ return this.$$.ctx[9];
}
set show_recurrent(show_recurrent) {
this.$$set({ show_recurrent });
@@ -958,6 +1010,13 @@ class GancioEvents extends SvelteElement {
this.$$set({ sidebar });
flush();
}
+ get external_style() {
+ return this.$$.ctx[4];
+ }
+ set external_style(external_style) {
+ this.$$set({ external_style });
+ flush();
+ }
}
customElements.define("gancio-events", GancioEvents);
function create_if_block(ctx) {
@@ -996,7 +1055,7 @@ function create_if_block(ctx) {
t6 = text(t6_value);
attr(div1, "class", "place");
attr(div2, "class", "container");
- attr(a, "href", a_href_value = "" + (ctx[0] + "/event/" + (ctx[1].slug || ctx[1].id)));
+ attr(a, "href", a_href_value = ctx[0] + "/event/" + (ctx[1].slug || ctx[1].id));
attr(a, "class", "card");
attr(a, "target", "_blank");
},
@@ -1035,7 +1094,7 @@ function create_if_block(ctx) {
set_data(t3, t3_value);
if (dirty & 2 && t6_value !== (t6_value = ctx2[1].place.name + ""))
set_data(t6, t6_value);
- if (dirty & 3 && a_href_value !== (a_href_value = "" + (ctx2[0] + "/event/" + (ctx2[1].slug || ctx2[1].id)))) {
+ if (dirty & 3 && a_href_value !== (a_href_value = ctx2[0] + "/event/" + (ctx2[1].slug || ctx2[1].id))) {
attr(a, "href", a_href_value);
}
},
diff --git a/static/gancio-events.es.js b/static/gancio-events.es.js
index b64f32bf..d7d48880 100644
--- a/static/gancio-events.es.js
+++ b/static/gancio-events.es.js
@@ -4,7 +4,7 @@ function run(fn) {
return fn();
}
function blank_object() {
- return Object.create(null);
+ return /* @__PURE__ */ Object.create(null);
}
function run_all(fns) {
fns.forEach(run);
@@ -104,7 +104,7 @@ function schedule_update() {
function add_render_callback(fn) {
render_callbacks.push(fn);
}
-const seen_callbacks = new Set();
+const seen_callbacks = /* @__PURE__ */ new Set();
let flushidx = 0;
function flush() {
const saved_component = current_component;
@@ -146,7 +146,7 @@ function update($$) {
$$.after_update.forEach(add_render_callback);
}
}
-const outroing = new Set();
+const outroing = /* @__PURE__ */ new Set();
function transition_in(block, local) {
if (block && block.i) {
outroing.delete(block);
@@ -282,19 +282,41 @@ if (typeof HTMLElement === "function") {
}
function get_each_context(ctx, list, i) {
const child_ctx = ctx.slice();
- child_ctx[11] = list[i];
+ child_ctx[12] = list[i];
return child_ctx;
}
function get_each_context_1(ctx, list, i) {
const child_ctx = ctx.slice();
- child_ctx[14] = list[i];
+ child_ctx[15] = list[i];
return child_ctx;
}
+function create_if_block_5(ctx) {
+ let link;
+ return {
+ c() {
+ link = element("link");
+ attr(link, "rel", "stylesheet");
+ attr(link, "href", ctx[4]);
+ },
+ m(target, anchor) {
+ insert(target, link, anchor);
+ },
+ p(ctx2, dirty) {
+ if (dirty & 16) {
+ attr(link, "href", ctx2[4]);
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(link);
+ }
+ };
+}
function create_if_block$1(ctx) {
let div;
let t;
let if_block = ctx[1] && ctx[3] === "true" && create_if_block_4(ctx);
- let each_value = ctx[4];
+ let each_value = ctx[5];
let each_blocks = [];
for (let i = 0; i < each_value.length; i += 1) {
each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
@@ -336,8 +358,8 @@ function create_if_block$1(ctx) {
if_block.d(1);
if_block = null;
}
- if (dirty & 25) {
- each_value = ctx2[4];
+ if (dirty & 41) {
+ each_value = ctx2[5];
let i;
for (i = 0; i < each_value.length; i += 1) {
const child_ctx = get_each_context(ctx2, each_value, i);
@@ -395,7 +417,7 @@ function create_if_block_4(ctx) {
attr(div0, "class", "title");
attr(img, "id", "logo");
attr(img, "alt", "logo");
- if (!src_url_equal(img.src, img_src_value = "" + (ctx[0] + "/logo.png")))
+ if (!src_url_equal(img.src, img_src_value = ctx[0] + "/logo.png"))
attr(img, "src", img_src_value);
attr(div1, "class", "content");
attr(a, "href", ctx[0]);
@@ -413,7 +435,7 @@ function create_if_block_4(ctx) {
p(ctx2, dirty) {
if (dirty & 2)
set_data(t0, ctx2[1]);
- if (dirty & 1 && !src_url_equal(img.src, img_src_value = "" + (ctx2[0] + "/logo.png"))) {
+ if (dirty & 1 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/logo.png")) {
attr(img, "src", img_src_value);
}
if (dirty & 1) {
@@ -429,7 +451,7 @@ function create_if_block_4(ctx) {
function create_if_block_2(ctx) {
let div;
function select_block_type(ctx2, dirty) {
- if (ctx2[11].media.length)
+ if (ctx2[12].media.length)
return create_if_block_3;
return create_else_block;
}
@@ -472,7 +494,7 @@ function create_else_block(ctx) {
c() {
img = element("img");
attr(img, "style", "aspect-ratio=1.7778;");
- attr(img, "alt", img_alt_value = ctx[11].title);
+ attr(img, "alt", img_alt_value = ctx[12].title);
if (!src_url_equal(img.src, img_src_value = ctx[0] + "/noimg.svg"))
attr(img, "src", img_src_value);
attr(img, "loading", "lazy");
@@ -481,7 +503,7 @@ function create_else_block(ctx) {
insert(target, img, anchor);
},
p(ctx2, dirty) {
- if (dirty & 16 && img_alt_value !== (img_alt_value = ctx2[11].title)) {
+ if (dirty & 32 && img_alt_value !== (img_alt_value = ctx2[12].title)) {
attr(img, "alt", img_alt_value);
}
if (dirty & 1 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/noimg.svg")) {
@@ -502,9 +524,9 @@ function create_if_block_3(ctx) {
return {
c() {
img = element("img");
- attr(img, "style", img_style_value = "object-position: " + position$1(ctx[11]) + "; aspect-ratio=1.7778;");
- attr(img, "alt", img_alt_value = ctx[11].media[0].name);
- if (!src_url_equal(img.src, img_src_value = ctx[0] + "/media/thumb/" + ctx[11].media[0].url))
+ attr(img, "style", img_style_value = "object-position: " + position$1(ctx[12]) + "; aspect-ratio=1.7778;");
+ attr(img, "alt", img_alt_value = ctx[12].media[0].name);
+ if (!src_url_equal(img.src, img_src_value = ctx[0] + "/media/thumb/" + ctx[12].media[0].url))
attr(img, "src", img_src_value);
attr(img, "loading", "lazy");
},
@@ -512,13 +534,13 @@ function create_if_block_3(ctx) {
insert(target, img, anchor);
},
p(ctx2, dirty) {
- if (dirty & 16 && img_style_value !== (img_style_value = "object-position: " + position$1(ctx2[11]) + "; aspect-ratio=1.7778;")) {
+ if (dirty & 32 && img_style_value !== (img_style_value = "object-position: " + position$1(ctx2[12]) + "; aspect-ratio=1.7778;")) {
attr(img, "style", img_style_value);
}
- if (dirty & 16 && img_alt_value !== (img_alt_value = ctx2[11].media[0].name)) {
+ if (dirty & 32 && img_alt_value !== (img_alt_value = ctx2[12].media[0].name)) {
attr(img, "alt", img_alt_value);
}
- if (dirty & 17 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/media/thumb/" + ctx2[11].media[0].url)) {
+ if (dirty & 33 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/media/thumb/" + ctx2[12].media[0].url)) {
attr(img, "src", img_src_value);
}
},
@@ -530,7 +552,7 @@ function create_if_block_3(ctx) {
}
function create_if_block_1$1(ctx) {
let div;
- let each_value_1 = ctx[11].tags;
+ let each_value_1 = ctx[12].tags;
let each_blocks = [];
for (let i = 0; i < each_value_1.length; i += 1) {
each_blocks[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i));
@@ -550,8 +572,8 @@ function create_if_block_1$1(ctx) {
}
},
p(ctx2, dirty) {
- if (dirty & 16) {
- each_value_1 = ctx2[11].tags;
+ if (dirty & 32) {
+ each_value_1 = ctx2[12].tags;
let i;
for (i = 0; i < each_value_1.length; i += 1) {
const child_ctx = get_each_context_1(ctx2, each_value_1, i);
@@ -579,7 +601,7 @@ function create_if_block_1$1(ctx) {
function create_each_block_1(ctx) {
let span;
let t0;
- let t1_value = ctx[14] + "";
+ let t1_value = ctx[15] + "";
let t1;
return {
c() {
@@ -594,7 +616,7 @@ function create_each_block_1(ctx) {
append(span, t1);
},
p(ctx2, dirty) {
- if (dirty & 16 && t1_value !== (t1_value = ctx2[14] + ""))
+ if (dirty & 32 && t1_value !== (t1_value = ctx2[15] + ""))
set_data(t1, t1_value);
},
d(detaching) {
@@ -608,27 +630,27 @@ function create_each_block(ctx) {
let t0;
let div2;
let div0;
- let t1_value = when$1(ctx[11].start_datetime) + "";
+ let t1_value = when$1(ctx[12].start_datetime) + "";
let t1;
let t2;
let div1;
- let t3_value = ctx[11].title + "";
+ let t3_value = ctx[12].title + "";
let t3;
let t4;
let span1;
let t5;
- let t6_value = ctx[11].place.name + "";
+ let t6_value = ctx[12].place.name + "";
let t6;
let t7;
let span0;
- let t8_value = ctx[11].place.address + "";
+ let t8_value = ctx[12].place.address + "";
let t8;
let t9;
let t10;
let a_href_value;
let a_title_value;
let if_block0 = ctx[3] !== "true" && create_if_block_2(ctx);
- let if_block1 = ctx[11].tags.length && create_if_block_1$1(ctx);
+ let if_block1 = ctx[12].tags.length && create_if_block_1$1(ctx);
return {
c() {
a = element("a");
@@ -657,9 +679,9 @@ function create_each_block(ctx) {
attr(span0, "class", "subtitle");
attr(span1, "class", "place");
attr(div2, "class", "content");
- attr(a, "href", a_href_value = "" + (ctx[0] + "/event/" + (ctx[11].slug || ctx[11].id)));
+ attr(a, "href", a_href_value = ctx[0] + "/event/" + (ctx[12].slug || ctx[12].id));
attr(a, "class", "event");
- attr(a, "title", a_title_value = ctx[11].title);
+ attr(a, "title", a_title_value = ctx[12].title);
attr(a, "target", "_blank");
},
m(target, anchor) {
@@ -698,15 +720,15 @@ function create_each_block(ctx) {
if_block0.d(1);
if_block0 = null;
}
- if (dirty & 16 && t1_value !== (t1_value = when$1(ctx2[11].start_datetime) + ""))
+ if (dirty & 32 && t1_value !== (t1_value = when$1(ctx2[12].start_datetime) + ""))
set_data(t1, t1_value);
- if (dirty & 16 && t3_value !== (t3_value = ctx2[11].title + ""))
+ if (dirty & 32 && t3_value !== (t3_value = ctx2[12].title + ""))
set_data(t3, t3_value);
- if (dirty & 16 && t6_value !== (t6_value = ctx2[11].place.name + ""))
+ if (dirty & 32 && t6_value !== (t6_value = ctx2[12].place.name + ""))
set_data(t6, t6_value);
- if (dirty & 16 && t8_value !== (t8_value = ctx2[11].place.address + ""))
+ if (dirty & 32 && t8_value !== (t8_value = ctx2[12].place.address + ""))
set_data(t8, t8_value);
- if (ctx2[11].tags.length) {
+ if (ctx2[12].tags.length) {
if (if_block1) {
if_block1.p(ctx2, dirty);
} else {
@@ -718,10 +740,10 @@ function create_each_block(ctx) {
if_block1.d(1);
if_block1 = null;
}
- if (dirty & 17 && a_href_value !== (a_href_value = "" + (ctx2[0] + "/event/" + (ctx2[11].slug || ctx2[11].id)))) {
+ if (dirty & 33 && a_href_value !== (a_href_value = ctx2[0] + "/event/" + (ctx2[12].slug || ctx2[12].id))) {
attr(a, "href", a_href_value);
}
- if (dirty & 16 && a_title_value !== (a_title_value = ctx2[11].title)) {
+ if (dirty & 32 && a_title_value !== (a_title_value = ctx2[12].title)) {
attr(a, "title", a_title_value);
}
},
@@ -736,41 +758,65 @@ function create_each_block(ctx) {
};
}
function create_fragment$1(ctx) {
- let if_block_anchor;
- let if_block = ctx[4].length && create_if_block$1(ctx);
+ let t;
+ let if_block1_anchor;
+ let if_block0 = ctx[4] && create_if_block_5(ctx);
+ let if_block1 = ctx[5].length && create_if_block$1(ctx);
return {
c() {
- if (if_block)
- if_block.c();
- if_block_anchor = empty();
+ if (if_block0)
+ if_block0.c();
+ t = space();
+ if (if_block1)
+ if_block1.c();
+ if_block1_anchor = empty();
this.c = noop;
},
m(target, anchor) {
- if (if_block)
- if_block.m(target, anchor);
- insert(target, if_block_anchor, anchor);
+ if (if_block0)
+ if_block0.m(target, anchor);
+ insert(target, t, anchor);
+ if (if_block1)
+ if_block1.m(target, anchor);
+ insert(target, if_block1_anchor, anchor);
},
p(ctx2, [dirty]) {
- if (ctx2[4].length) {
- if (if_block) {
- if_block.p(ctx2, dirty);
+ if (ctx2[4]) {
+ if (if_block0) {
+ if_block0.p(ctx2, dirty);
} else {
- if_block = create_if_block$1(ctx2);
- if_block.c();
- if_block.m(if_block_anchor.parentNode, if_block_anchor);
+ if_block0 = create_if_block_5(ctx2);
+ if_block0.c();
+ if_block0.m(t.parentNode, t);
}
- } else if (if_block) {
- if_block.d(1);
- if_block = null;
+ } else if (if_block0) {
+ if_block0.d(1);
+ if_block0 = null;
+ }
+ if (ctx2[5].length) {
+ if (if_block1) {
+ if_block1.p(ctx2, dirty);
+ } else {
+ if_block1 = create_if_block$1(ctx2);
+ if_block1.c();
+ if_block1.m(if_block1_anchor.parentNode, if_block1_anchor);
+ }
+ } else if (if_block1) {
+ if_block1.d(1);
+ if_block1 = null;
}
},
i: noop,
o: noop,
d(detaching) {
- if (if_block)
- if_block.d(detaching);
+ if (if_block0)
+ if_block0.d(detaching);
if (detaching)
- detach(if_block_anchor);
+ detach(t);
+ if (if_block1)
+ if_block1.d(detaching);
+ if (detaching)
+ detach(if_block1_anchor);
}
};
}
@@ -799,6 +845,7 @@ function instance$1($$self, $$props, $$invalidate) {
let { theme = "light" } = $$props;
let { show_recurrent = false } = $$props;
let { sidebar = "true" } = $$props;
+ let { external_style = "" } = $$props;
let mounted = false;
let events = [];
function update2(v) {
@@ -818,7 +865,7 @@ function instance$1($$self, $$props, $$invalidate) {
params.push(`show_recurrent=true`);
}
fetch(`${baseurl}/api/events?${params.join("&")}`).then((res) => res.json()).then((e) => {
- $$invalidate(4, events = e);
+ $$invalidate(5, events = e);
}).catch((e) => {
console.error("Error loading Gancio API -> ", e);
});
@@ -833,20 +880,22 @@ function instance$1($$self, $$props, $$invalidate) {
if ("title" in $$props2)
$$invalidate(1, title = $$props2.title);
if ("maxlength" in $$props2)
- $$invalidate(5, maxlength = $$props2.maxlength);
+ $$invalidate(6, maxlength = $$props2.maxlength);
if ("tags" in $$props2)
- $$invalidate(6, tags = $$props2.tags);
+ $$invalidate(7, tags = $$props2.tags);
if ("places" in $$props2)
- $$invalidate(7, places = $$props2.places);
+ $$invalidate(8, places = $$props2.places);
if ("theme" in $$props2)
$$invalidate(2, theme = $$props2.theme);
if ("show_recurrent" in $$props2)
- $$invalidate(8, show_recurrent = $$props2.show_recurrent);
+ $$invalidate(9, show_recurrent = $$props2.show_recurrent);
if ("sidebar" in $$props2)
$$invalidate(3, sidebar = $$props2.sidebar);
+ if ("external_style" in $$props2)
+ $$invalidate(4, external_style = $$props2.external_style);
};
$$self.$$.update = () => {
- if ($$self.$$.dirty & 494) {
+ if ($$self.$$.dirty & 974) {
update2();
}
};
@@ -855,6 +904,7 @@ function instance$1($$self, $$props, $$invalidate) {
title,
theme,
sidebar,
+ external_style,
events,
maxlength,
tags,
@@ -873,12 +923,13 @@ class GancioEvents extends SvelteElement {
}, instance$1, create_fragment$1, safe_not_equal, {
baseurl: 0,
title: 1,
- maxlength: 5,
- tags: 6,
- places: 7,
+ maxlength: 6,
+ tags: 7,
+ places: 8,
theme: 2,
- show_recurrent: 8,
- sidebar: 3
+ show_recurrent: 9,
+ sidebar: 3,
+ external_style: 4
}, null);
if (options) {
if (options.target) {
@@ -899,7 +950,8 @@ class GancioEvents extends SvelteElement {
"places",
"theme",
"show_recurrent",
- "sidebar"
+ "sidebar",
+ "external_style"
];
}
get baseurl() {
@@ -917,21 +969,21 @@ class GancioEvents extends SvelteElement {
flush();
}
get maxlength() {
- return this.$$.ctx[5];
+ return this.$$.ctx[6];
}
set maxlength(maxlength) {
this.$$set({ maxlength });
flush();
}
get tags() {
- return this.$$.ctx[6];
+ return this.$$.ctx[7];
}
set tags(tags) {
this.$$set({ tags });
flush();
}
get places() {
- return this.$$.ctx[7];
+ return this.$$.ctx[8];
}
set places(places) {
this.$$set({ places });
@@ -945,7 +997,7 @@ class GancioEvents extends SvelteElement {
flush();
}
get show_recurrent() {
- return this.$$.ctx[8];
+ return this.$$.ctx[9];
}
set show_recurrent(show_recurrent) {
this.$$set({ show_recurrent });
@@ -958,6 +1010,13 @@ class GancioEvents extends SvelteElement {
this.$$set({ sidebar });
flush();
}
+ get external_style() {
+ return this.$$.ctx[4];
+ }
+ set external_style(external_style) {
+ this.$$set({ external_style });
+ flush();
+ }
}
customElements.define("gancio-events", GancioEvents);
function create_if_block(ctx) {
@@ -996,7 +1055,7 @@ function create_if_block(ctx) {
t6 = text(t6_value);
attr(div1, "class", "place");
attr(div2, "class", "container");
- attr(a, "href", a_href_value = "" + (ctx[0] + "/event/" + (ctx[1].slug || ctx[1].id)));
+ attr(a, "href", a_href_value = ctx[0] + "/event/" + (ctx[1].slug || ctx[1].id));
attr(a, "class", "card");
attr(a, "target", "_blank");
},
@@ -1035,7 +1094,7 @@ function create_if_block(ctx) {
set_data(t3, t3_value);
if (dirty & 2 && t6_value !== (t6_value = ctx2[1].place.name + ""))
set_data(t6, t6_value);
- if (dirty & 3 && a_href_value !== (a_href_value = "" + (ctx2[0] + "/event/" + (ctx2[1].slug || ctx2[1].id)))) {
+ if (dirty & 3 && a_href_value !== (a_href_value = ctx2[0] + "/event/" + (ctx2[1].slug || ctx2[1].id))) {
attr(a, "href", a_href_value);
}
},
diff --git a/webcomponents/index.html b/webcomponents/index.html
index 87e1d881..c70e8938 100644
--- a/webcomponents/index.html
+++ b/webcomponents/index.html
@@ -7,7 +7,7 @@
Gancio Events Custom Element Demo
-
+
diff --git a/webcomponents/src/GancioEvents.svelte b/webcomponents/src/GancioEvents.svelte
index e623b4c6..4aca29a4 100644
--- a/webcomponents/src/GancioEvents.svelte
+++ b/webcomponents/src/GancioEvents.svelte
@@ -8,7 +8,9 @@
export let places = ''
export let theme = 'light'
export let show_recurrent=false
- export let sidebar='true'
+ export let sidebar = 'true'
+
+ export let external_style = ''
let mounted = false
let events = []
@@ -71,6 +73,7 @@
+{#if external_style}{/if}
{#if events.length}
res.json()).then((e) => {
- $$invalidate(4, events = e);
+ $$invalidate(5, events = e);
}).catch((e) => {
console.error("Error loading Gancio API -> ", e);
});
@@ -833,20 +880,22 @@ function instance$1($$self, $$props, $$invalidate) {
if ("title" in $$props2)
$$invalidate(1, title = $$props2.title);
if ("maxlength" in $$props2)
- $$invalidate(5, maxlength = $$props2.maxlength);
+ $$invalidate(6, maxlength = $$props2.maxlength);
if ("tags" in $$props2)
- $$invalidate(6, tags = $$props2.tags);
+ $$invalidate(7, tags = $$props2.tags);
if ("places" in $$props2)
- $$invalidate(7, places = $$props2.places);
+ $$invalidate(8, places = $$props2.places);
if ("theme" in $$props2)
$$invalidate(2, theme = $$props2.theme);
if ("show_recurrent" in $$props2)
- $$invalidate(8, show_recurrent = $$props2.show_recurrent);
+ $$invalidate(9, show_recurrent = $$props2.show_recurrent);
if ("sidebar" in $$props2)
$$invalidate(3, sidebar = $$props2.sidebar);
+ if ("external_style" in $$props2)
+ $$invalidate(4, external_style = $$props2.external_style);
};
$$self.$$.update = () => {
- if ($$self.$$.dirty & 494) {
+ if ($$self.$$.dirty & 974) {
update2();
}
};
@@ -855,6 +904,7 @@ function instance$1($$self, $$props, $$invalidate) {
title,
theme,
sidebar,
+ external_style,
events,
maxlength,
tags,
@@ -873,12 +923,13 @@ class GancioEvents extends SvelteElement {
}, instance$1, create_fragment$1, safe_not_equal, {
baseurl: 0,
title: 1,
- maxlength: 5,
- tags: 6,
- places: 7,
+ maxlength: 6,
+ tags: 7,
+ places: 8,
theme: 2,
- show_recurrent: 8,
- sidebar: 3
+ show_recurrent: 9,
+ sidebar: 3,
+ external_style: 4
}, null);
if (options) {
if (options.target) {
@@ -899,7 +950,8 @@ class GancioEvents extends SvelteElement {
"places",
"theme",
"show_recurrent",
- "sidebar"
+ "sidebar",
+ "external_style"
];
}
get baseurl() {
@@ -917,21 +969,21 @@ class GancioEvents extends SvelteElement {
flush();
}
get maxlength() {
- return this.$$.ctx[5];
+ return this.$$.ctx[6];
}
set maxlength(maxlength) {
this.$$set({ maxlength });
flush();
}
get tags() {
- return this.$$.ctx[6];
+ return this.$$.ctx[7];
}
set tags(tags) {
this.$$set({ tags });
flush();
}
get places() {
- return this.$$.ctx[7];
+ return this.$$.ctx[8];
}
set places(places) {
this.$$set({ places });
@@ -945,7 +997,7 @@ class GancioEvents extends SvelteElement {
flush();
}
get show_recurrent() {
- return this.$$.ctx[8];
+ return this.$$.ctx[9];
}
set show_recurrent(show_recurrent) {
this.$$set({ show_recurrent });
@@ -958,6 +1010,13 @@ class GancioEvents extends SvelteElement {
this.$$set({ sidebar });
flush();
}
+ get external_style() {
+ return this.$$.ctx[4];
+ }
+ set external_style(external_style) {
+ this.$$set({ external_style });
+ flush();
+ }
}
customElements.define("gancio-events", GancioEvents);
function create_if_block(ctx) {
@@ -996,7 +1055,7 @@ function create_if_block(ctx) {
t6 = text(t6_value);
attr(div1, "class", "place");
attr(div2, "class", "container");
- attr(a, "href", a_href_value = "" + (ctx[0] + "/event/" + (ctx[1].slug || ctx[1].id)));
+ attr(a, "href", a_href_value = ctx[0] + "/event/" + (ctx[1].slug || ctx[1].id));
attr(a, "class", "card");
attr(a, "target", "_blank");
},
@@ -1035,7 +1094,7 @@ function create_if_block(ctx) {
set_data(t3, t3_value);
if (dirty & 2 && t6_value !== (t6_value = ctx2[1].place.name + ""))
set_data(t6, t6_value);
- if (dirty & 3 && a_href_value !== (a_href_value = "" + (ctx2[0] + "/event/" + (ctx2[1].slug || ctx2[1].id)))) {
+ if (dirty & 3 && a_href_value !== (a_href_value = ctx2[0] + "/event/" + (ctx2[1].slug || ctx2[1].id))) {
attr(a, "href", a_href_value);
}
},
From e345738affc989c68d4f88431c967a909f4b6e57 Mon Sep 17 00:00:00 2001
From: lesion
Date: Fri, 18 Mar 2022 23:07:09 +0100
Subject: [PATCH 005/175] fix #147
---
pages/event/_slug.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pages/event/_slug.vue b/pages/event/_slug.vue
index d00a5147..4621bf7a 100644
--- a/pages/event/_slug.vue
+++ b/pages/event/_slug.vue
@@ -34,10 +34,10 @@ v-container#event.pa-0.pa-sm-2
div.text-subtitle-1 {{event.start_datetime|from}}
small(v-if='event.parentId') ({{event|recurrentDetail}})
- .text-h6.p-location(itemprop="location" itemscope itemtype="https://schema.org/Place")
+ .text-h6.p-location.h-adr(itemprop="location" itemscope itemtype="https://schema.org/Place")
v-icon(v-text='mdiMapMarker')
- b.vcard.ml-2(itemprop="name") {{event.place && event.place.name}}
- .text-subtitle-1.adr(itemprop='address') {{event.place && event.place.address}}
+ b.vcard.ml-2.p-name(itemprop="name") {{event.place && event.place.name}}
+ .text-subtitle-1.p-street-address(itemprop='address') {{event.place && event.place.address}}
//- tags, hashtags
v-card-text(v-if='event.tags.length')
From 5127deb56affb5879ea9e63e401cc74c67a16c56 Mon Sep 17 00:00:00 2001
From: lesion
Date: Thu, 31 Mar 2022 21:01:24 +0200
Subject: [PATCH 006/175] edge case selecting date
---
pages/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/index.vue b/pages/index.vue
index f1931d04..94225393 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -104,7 +104,7 @@ export default {
if (this.selectedDay) {
const min = dayjs(this.selectedDay).startOf('day').unix()
const max = dayjs(this.selectedDay).endOf('day').unix()
- return this.filteredEvents.filter(e => (e.start_datetime < max && e.start_datetime > min))
+ return this.filteredEvents.filter(e => (e.start_datetime <= max && e.start_datetime >= min))
} else if (this.isCurrentMonth) {
return this.filteredEvents.filter(e => e.end_datetime ? e.end_datetime > now : e.start_datetime + 2 * 60 * 60 > now)
} else {
From c9dfea1355e7d8f7f89db22c2af0f51d2063608e Mon Sep 17 00:00:00 2001
From: fadelkon
Date: Wed, 20 Apr 2022 17:15:22 +0000
Subject: [PATCH 007/175] Translated using Weblate (Catalan)
Currently translated at 100.0% (243 of 243 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/ca/
---
locales/ca.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/locales/ca.json b/locales/ca.json
index 41bfb456..9da1fef7 100644
--- a/locales/ca.json
+++ b/locales/ca.json
@@ -109,7 +109,7 @@
"list_description": "Si tens una web i vols encastar una llista d'activitats, pots fer servir el codi de sota"
},
"register": {
- "description": "Els moviments socials necessitem organitzar-nos i auto-finançar-nos.\n Abans que puguis publicar, hem d'aprovar el teu compte , tingues en comtpe que darrere d'aquesta web hi ha persones de carn i ossos, així que escriviu dues línies per fer-nos saber quins esdeveniments voleu publicar.",
+ "description": "Els moviments socials necessitem organitzar-nos i auto-finançar-nos. \n Abans que puguis publicar, hem d'aprovar el teu compte , tingues en compte que darrere d'aquesta web hi ha persones de carn i ossos, així que escriviu dues línies per fer-nos saber quins esdeveniments voleu publicar.",
"error": "Error: ",
"complete": "El registre ha de ser confirmat.",
"first_user": "S'ha creat i activat un compte administrador"
@@ -124,7 +124,7 @@
"media_description": "Pots adjuntar un cartell (opcional)",
"added": "S'ha afegit l'activitat",
"added_anon": "S'ha afegit l'activitat però encara ha de ser confirmada.",
- "where_description": "On es farà? Si no està posat, escriu-ho i prem Enter.",
+ "where_description": "On es farà? Si no està posat, escriu-ho i prem Enter.",
"confirmed": "S'ha confirmat l'activitat",
"not_found": "No s'ha trobat l'activitat",
"remove_confirmation": "Segur que vols esborrar l'activitat?",
@@ -150,7 +150,7 @@
"from": "Des de les",
"image_too_big": "La imatge és massa gran! Max 4 MB",
"interact_with_me_at": "Interacciona amb mi a",
- "follow_me_description": "Entre les diverses maneres d'estar al dia de les activitats que es publiquen aquí a {title},\n pots seguir-nos al compte {account} des de Mastodon o altres, i afegir recursos des d'allà.
Introdueix la teva instància a sota (ex: red.confederac.io o mastodont.cat)",
+ "follow_me_description": "Entre les diverses maneres d'estar al dia de les activitats que es publiquen aquí a {title},\n pots seguir-nos al compte {account} des de Mastodon o altres, i afegir recursos des d'allà.
Escribe aquí a túa instancia (ex. mastodon.social)",
"ics": "ICS",
- "import_description": "Podes importar eventos desde outras plataformas e outras instancias usando formatos estándar (ics e h-event)"
+ "import_description": "Podes importar eventos desde outras plataformas e outras instancias usando formatos estándar (ics e h-event)",
+ "alt_text_description": "Descrición para persoas con problemas de visión",
+ "choose_focal_point": "Elixe onde centrar a atención",
+ "remove_media_confirmation": "Confirmas a eliminación da imaxe?",
+ "download_flyer": "Descargar folleto"
},
"admin": {
"place_description": "Se escribiches mal o lugar ou enderezo, podes cambialo. Cambiará o enderezo de tódolos eventos actuais e pasados asociados a este lugar.",
@@ -217,7 +221,8 @@
"show_smtp_setup": "Axustes do email",
"smtp_hostname": "Servidor SMTP",
"new_announcement": "Novo anuncio",
- "smtp_description": "
Admin debería recibir un email cando se engade un evento anónimo (se está activo)
Admin debería recibir un email coas solicitudes de rexistro (se activo).
A usuaria debería recibir un email coa solicitude de rexistro.
A usuaria debería recibir un email confirmando o rexistro.
A usuaria debería recibir un email de confirmación cando fose subscrita directamente por Admin
As usuarias deberían recibir un email para restablecer o contrasinal se o esquecen
"
+ "smtp_description": "
Admin debería recibir un email cando se engade un evento anónimo (se está activo)
Admin debería recibir un email coas solicitudes de rexistro (se activo).
A usuaria debería recibir un email coa solicitude de rexistro.
A usuaria debería recibir un email confirmando o rexistro.
A usuaria debería recibir un email de confirmación cando fose subscrita directamente por Admin
As usuarias deberían recibir un email para restablecer o contrasinal se o esquecen
",
+ "wrong_domain_warning": "O url base configurado en config.json ({baseurl) é diferente ao que estás a visitar ({url})"
},
"auth": {
"not_confirmed": "Aínda non foi confirmado…",
@@ -263,7 +268,9 @@
"setup": {
"completed": "Configuración completada",
"completed_description": "
+```
+
+### Embed a single event
+To embed an event in webpages you use `` custom element, you can copy the required code in **event's page > Embed > Copy**, should be like the following:
+
+```html
+
+```
+
+
+
+
+
+### Embed event lists
+You can also embed a list of events using `` custom element, you can copy the required code in **Export > List > Copy**
+
+
+```html
+
+ Gancio Events
+
+```
+
+
+
+
+
+
+
+
+Gancio Events
+
+> info "Customize"
+> Note that you can modify the title (or completely remove it using an empty `title` param),
+> you can limit the list to a maximum number of events using the `maxlength` parameter and filter events by `tags` or `places` using that parameters (it's easier using **gancio** than to explain it here)
+
+
+## IFrame
+You can also use the old iframe method
+
+
+```html
+
+```
+
+
+## Wordpress
+To embed an event or a list of events into a [WordPress](https://wordpress.com) website you can use the [WPGancio](https://wordpress.org/plugins/wpgancio/) plugin, this allows you to use webcomponents and shortcodes and automatically includes the needed script in each page and post.
\ No newline at end of file
diff --git a/docs/usage/usage.md b/docs/usage/usage.md
new file mode 100644
index 00000000..a5ae1862
--- /dev/null
+++ b/docs/usage/usage.md
@@ -0,0 +1,13 @@
+---
+layout: default
+title: Usage
+permalink: /usage
+nav_order: 1
+has_children: true
+---
+
+## Usage
+
+ehmmm, help needed here :smile: feel free to send a PR => [here](https://framagit.org/les/gancio/tree/master/docs)
+
+
diff --git a/package.json b/package.json
index 9dfe32de..6bcdde0a 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
"doc:dev": "cd docs && bundle exec jekyll s --drafts",
"migrate": "NODE_ENV=production sequelize db:migrate",
"migrate:dev": "sequelize db:migrate",
- "build:wc": "cd webcomponents; yarn build:lib; cd .."
+ "build:wc": "cd webcomponents; yarn build:lib; cp dist/gancio-events.es.js ../wp-plugin/js/; cp dist/gancio-events.es.js ../assets/; cp dist/gancio-events.es.js ../docs/assets/js/"
},
"files": [
"server/",
From caa7d1aa1c0efe7a6de5ce4782293b5627be0f42 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 10 May 2022 15:05:31 +0200
Subject: [PATCH 082/175] timezone in calendar adds 4s of loading!
---
components/Calendar.vue | 1 -
1 file changed, 1 deletion(-)
diff --git a/components/Calendar.vue b/components/Calendar.vue
index 899fd16b..1451b976 100644
--- a/components/Calendar.vue
+++ b/components/Calendar.vue
@@ -9,7 +9,6 @@
@update:from-page='updatePage'
:locale='$i18n.locale'
:attributes='attributes'
- :timezone='settings.instance_timezone'
transition='fade'
aria-label='Calendar'
is-expanded
From 93d08896db0157c1dc2cb8cbfecfb1ed005d5aa7 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 10 May 2022 15:31:29 +0200
Subject: [PATCH 083/175] minor
---
static/gancio-events.es.js | 1263 +++++++++++++++++++++++++++++++++++-
1 file changed, 1262 insertions(+), 1 deletion(-)
mode change 120000 => 100644 static/gancio-events.es.js
diff --git a/static/gancio-events.es.js b/static/gancio-events.es.js
deleted file mode 120000
index 3f231b04..00000000
--- a/static/gancio-events.es.js
+++ /dev/null
@@ -1 +0,0 @@
-../webcomponents/dist/gancio-events.es.js
\ No newline at end of file
diff --git a/static/gancio-events.es.js b/static/gancio-events.es.js
new file mode 100644
index 00000000..c1fe9753
--- /dev/null
+++ b/static/gancio-events.es.js
@@ -0,0 +1,1262 @@
+function noop() {
+}
+function run(fn) {
+ return fn();
+}
+function blank_object() {
+ return /* @__PURE__ */ Object.create(null);
+}
+function run_all(fns) {
+ fns.forEach(run);
+}
+function is_function(thing) {
+ return typeof thing === "function";
+}
+function safe_not_equal(a, b) {
+ return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");
+}
+let src_url_equal_anchor;
+function src_url_equal(element_src, url) {
+ if (!src_url_equal_anchor) {
+ src_url_equal_anchor = document.createElement("a");
+ }
+ src_url_equal_anchor.href = url;
+ return element_src === src_url_equal_anchor.href;
+}
+function is_empty(obj) {
+ return Object.keys(obj).length === 0;
+}
+function append(target, node) {
+ target.appendChild(node);
+}
+function insert(target, node, anchor) {
+ target.insertBefore(node, anchor || null);
+}
+function detach(node) {
+ node.parentNode.removeChild(node);
+}
+function destroy_each(iterations, detaching) {
+ for (let i = 0; i < iterations.length; i += 1) {
+ if (iterations[i])
+ iterations[i].d(detaching);
+ }
+}
+function element(name) {
+ return document.createElement(name);
+}
+function text(data) {
+ return document.createTextNode(data);
+}
+function space() {
+ return text(" ");
+}
+function empty() {
+ return text("");
+}
+function attr(node, attribute, value) {
+ if (value == null)
+ node.removeAttribute(attribute);
+ else if (node.getAttribute(attribute) !== value)
+ node.setAttribute(attribute, value);
+}
+function children(element2) {
+ return Array.from(element2.childNodes);
+}
+function set_data(text2, data) {
+ data = "" + data;
+ if (text2.wholeText !== data)
+ text2.data = data;
+}
+function toggle_class(element2, name, toggle) {
+ element2.classList[toggle ? "add" : "remove"](name);
+}
+function attribute_to_object(attributes) {
+ const result = {};
+ for (const attribute of attributes) {
+ result[attribute.name] = attribute.value;
+ }
+ return result;
+}
+let current_component;
+function set_current_component(component) {
+ current_component = component;
+}
+function get_current_component() {
+ if (!current_component)
+ throw new Error("Function called outside component initialization");
+ return current_component;
+}
+function onMount(fn) {
+ get_current_component().$$.on_mount.push(fn);
+}
+const dirty_components = [];
+const binding_callbacks = [];
+const render_callbacks = [];
+const flush_callbacks = [];
+const resolved_promise = Promise.resolve();
+let update_scheduled = false;
+function schedule_update() {
+ if (!update_scheduled) {
+ update_scheduled = true;
+ resolved_promise.then(flush);
+ }
+}
+function add_render_callback(fn) {
+ render_callbacks.push(fn);
+}
+const seen_callbacks = /* @__PURE__ */ new Set();
+let flushidx = 0;
+function flush() {
+ const saved_component = current_component;
+ do {
+ while (flushidx < dirty_components.length) {
+ const component = dirty_components[flushidx];
+ flushidx++;
+ set_current_component(component);
+ update(component.$$);
+ }
+ set_current_component(null);
+ dirty_components.length = 0;
+ flushidx = 0;
+ while (binding_callbacks.length)
+ binding_callbacks.pop()();
+ for (let i = 0; i < render_callbacks.length; i += 1) {
+ const callback = render_callbacks[i];
+ if (!seen_callbacks.has(callback)) {
+ seen_callbacks.add(callback);
+ callback();
+ }
+ }
+ render_callbacks.length = 0;
+ } while (dirty_components.length);
+ while (flush_callbacks.length) {
+ flush_callbacks.pop()();
+ }
+ update_scheduled = false;
+ seen_callbacks.clear();
+ set_current_component(saved_component);
+}
+function update($$) {
+ if ($$.fragment !== null) {
+ $$.update();
+ run_all($$.before_update);
+ const dirty = $$.dirty;
+ $$.dirty = [-1];
+ $$.fragment && $$.fragment.p($$.ctx, dirty);
+ $$.after_update.forEach(add_render_callback);
+ }
+}
+const outroing = /* @__PURE__ */ new Set();
+function transition_in(block, local) {
+ if (block && block.i) {
+ outroing.delete(block);
+ block.i(local);
+ }
+}
+function mount_component(component, target, anchor, customElement) {
+ const { fragment, on_mount, on_destroy, after_update } = component.$$;
+ fragment && fragment.m(target, anchor);
+ if (!customElement) {
+ add_render_callback(() => {
+ const new_on_destroy = on_mount.map(run).filter(is_function);
+ if (on_destroy) {
+ on_destroy.push(...new_on_destroy);
+ } else {
+ run_all(new_on_destroy);
+ }
+ component.$$.on_mount = [];
+ });
+ }
+ after_update.forEach(add_render_callback);
+}
+function destroy_component(component, detaching) {
+ const $$ = component.$$;
+ if ($$.fragment !== null) {
+ run_all($$.on_destroy);
+ $$.fragment && $$.fragment.d(detaching);
+ $$.on_destroy = $$.fragment = null;
+ $$.ctx = [];
+ }
+}
+function make_dirty(component, i) {
+ if (component.$$.dirty[0] === -1) {
+ dirty_components.push(component);
+ schedule_update();
+ component.$$.dirty.fill(0);
+ }
+ component.$$.dirty[i / 31 | 0] |= 1 << i % 31;
+}
+function init(component, options, instance2, create_fragment2, not_equal, props, append_styles, dirty = [-1]) {
+ const parent_component = current_component;
+ set_current_component(component);
+ const $$ = component.$$ = {
+ fragment: null,
+ ctx: null,
+ props,
+ update: noop,
+ not_equal,
+ bound: blank_object(),
+ on_mount: [],
+ on_destroy: [],
+ on_disconnect: [],
+ before_update: [],
+ after_update: [],
+ context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),
+ callbacks: blank_object(),
+ dirty,
+ skip_bound: false,
+ root: options.target || parent_component.$$.root
+ };
+ append_styles && append_styles($$.root);
+ let ready = false;
+ $$.ctx = instance2 ? instance2(component, options.props || {}, (i, ret, ...rest) => {
+ const value = rest.length ? rest[0] : ret;
+ if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {
+ if (!$$.skip_bound && $$.bound[i])
+ $$.bound[i](value);
+ if (ready)
+ make_dirty(component, i);
+ }
+ return ret;
+ }) : [];
+ $$.update();
+ ready = true;
+ run_all($$.before_update);
+ $$.fragment = create_fragment2 ? create_fragment2($$.ctx) : false;
+ if (options.target) {
+ if (options.hydrate) {
+ const nodes = children(options.target);
+ $$.fragment && $$.fragment.l(nodes);
+ nodes.forEach(detach);
+ } else {
+ $$.fragment && $$.fragment.c();
+ }
+ if (options.intro)
+ transition_in(component.$$.fragment);
+ mount_component(component, options.target, options.anchor, options.customElement);
+ flush();
+ }
+ set_current_component(parent_component);
+}
+let SvelteElement;
+if (typeof HTMLElement === "function") {
+ SvelteElement = class extends HTMLElement {
+ constructor() {
+ super();
+ this.attachShadow({ mode: "open" });
+ }
+ connectedCallback() {
+ const { on_mount } = this.$$;
+ this.$$.on_disconnect = on_mount.map(run).filter(is_function);
+ for (const key in this.$$.slotted) {
+ this.appendChild(this.$$.slotted[key]);
+ }
+ }
+ attributeChangedCallback(attr2, _oldValue, newValue) {
+ this[attr2] = newValue;
+ }
+ disconnectedCallback() {
+ run_all(this.$$.on_disconnect);
+ }
+ $destroy() {
+ destroy_component(this, 1);
+ this.$destroy = noop;
+ }
+ $on(type, callback) {
+ const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);
+ callbacks.push(callback);
+ return () => {
+ const index = callbacks.indexOf(callback);
+ if (index !== -1)
+ callbacks.splice(index, 1);
+ };
+ }
+ $set($$props) {
+ if (this.$$set && !is_empty($$props)) {
+ this.$$.skip_bound = true;
+ this.$$set($$props);
+ this.$$.skip_bound = false;
+ }
+ }
+ };
+}
+function get_each_context(ctx, list, i) {
+ const child_ctx = ctx.slice();
+ child_ctx[12] = list[i];
+ return child_ctx;
+}
+function get_each_context_1(ctx, list, i) {
+ const child_ctx = ctx.slice();
+ child_ctx[15] = list[i];
+ return child_ctx;
+}
+function create_if_block_5(ctx) {
+ let link;
+ return {
+ c() {
+ link = element("link");
+ attr(link, "rel", "stylesheet");
+ attr(link, "href", ctx[4]);
+ },
+ m(target, anchor) {
+ insert(target, link, anchor);
+ },
+ p(ctx2, dirty) {
+ if (dirty & 16) {
+ attr(link, "href", ctx2[4]);
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(link);
+ }
+ };
+}
+function create_if_block$1(ctx) {
+ let div;
+ let t;
+ let if_block = ctx[1] && ctx[3] === "true" && create_if_block_4(ctx);
+ let each_value = ctx[5];
+ let each_blocks = [];
+ for (let i = 0; i < each_value.length; i += 1) {
+ each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
+ }
+ return {
+ c() {
+ div = element("div");
+ if (if_block)
+ if_block.c();
+ t = space();
+ for (let i = 0; i < each_blocks.length; i += 1) {
+ each_blocks[i].c();
+ }
+ attr(div, "id", "gancioEvents");
+ toggle_class(div, "dark", ctx[2] === "dark");
+ toggle_class(div, "light", ctx[2] === "light");
+ toggle_class(div, "sidebar", ctx[3] === "true");
+ toggle_class(div, "nosidebar", ctx[3] !== "true");
+ },
+ m(target, anchor) {
+ insert(target, div, anchor);
+ if (if_block)
+ if_block.m(div, null);
+ append(div, t);
+ for (let i = 0; i < each_blocks.length; i += 1) {
+ each_blocks[i].m(div, null);
+ }
+ },
+ p(ctx2, dirty) {
+ if (ctx2[1] && ctx2[3] === "true") {
+ if (if_block) {
+ if_block.p(ctx2, dirty);
+ } else {
+ if_block = create_if_block_4(ctx2);
+ if_block.c();
+ if_block.m(div, t);
+ }
+ } else if (if_block) {
+ if_block.d(1);
+ if_block = null;
+ }
+ if (dirty & 41) {
+ each_value = ctx2[5];
+ let i;
+ for (i = 0; i < each_value.length; i += 1) {
+ const child_ctx = get_each_context(ctx2, each_value, i);
+ if (each_blocks[i]) {
+ each_blocks[i].p(child_ctx, dirty);
+ } else {
+ each_blocks[i] = create_each_block(child_ctx);
+ each_blocks[i].c();
+ each_blocks[i].m(div, null);
+ }
+ }
+ for (; i < each_blocks.length; i += 1) {
+ each_blocks[i].d(1);
+ }
+ each_blocks.length = each_value.length;
+ }
+ if (dirty & 4) {
+ toggle_class(div, "dark", ctx2[2] === "dark");
+ }
+ if (dirty & 4) {
+ toggle_class(div, "light", ctx2[2] === "light");
+ }
+ if (dirty & 8) {
+ toggle_class(div, "sidebar", ctx2[3] === "true");
+ }
+ if (dirty & 8) {
+ toggle_class(div, "nosidebar", ctx2[3] !== "true");
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(div);
+ if (if_block)
+ if_block.d();
+ destroy_each(each_blocks, detaching);
+ }
+ };
+}
+function create_if_block_4(ctx) {
+ let a;
+ let div1;
+ let div0;
+ let t0;
+ let t1;
+ let img;
+ let img_src_value;
+ return {
+ c() {
+ a = element("a");
+ div1 = element("div");
+ div0 = element("div");
+ t0 = text(ctx[1]);
+ t1 = space();
+ img = element("img");
+ attr(div0, "class", "title");
+ attr(img, "id", "logo");
+ attr(img, "alt", "logo");
+ if (!src_url_equal(img.src, img_src_value = ctx[0] + "/logo.png"))
+ attr(img, "src", img_src_value);
+ attr(div1, "class", "content");
+ attr(a, "href", ctx[0]);
+ attr(a, "target", "_blank");
+ attr(a, "id", "header");
+ },
+ m(target, anchor) {
+ insert(target, a, anchor);
+ append(a, div1);
+ append(div1, div0);
+ append(div0, t0);
+ append(div1, t1);
+ append(div1, img);
+ },
+ p(ctx2, dirty) {
+ if (dirty & 2)
+ set_data(t0, ctx2[1]);
+ if (dirty & 1 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/logo.png")) {
+ attr(img, "src", img_src_value);
+ }
+ if (dirty & 1) {
+ attr(a, "href", ctx2[0]);
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(a);
+ }
+ };
+}
+function create_if_block_2(ctx) {
+ let div;
+ function select_block_type(ctx2, dirty) {
+ if (ctx2[12].media.length)
+ return create_if_block_3;
+ return create_else_block;
+ }
+ let current_block_type = select_block_type(ctx);
+ let if_block = current_block_type(ctx);
+ return {
+ c() {
+ div = element("div");
+ if_block.c();
+ attr(div, "class", "img");
+ },
+ m(target, anchor) {
+ insert(target, div, anchor);
+ if_block.m(div, null);
+ },
+ p(ctx2, dirty) {
+ if (current_block_type === (current_block_type = select_block_type(ctx2)) && if_block) {
+ if_block.p(ctx2, dirty);
+ } else {
+ if_block.d(1);
+ if_block = current_block_type(ctx2);
+ if (if_block) {
+ if_block.c();
+ if_block.m(div, null);
+ }
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(div);
+ if_block.d();
+ }
+ };
+}
+function create_else_block(ctx) {
+ let img;
+ let img_alt_value;
+ let img_src_value;
+ return {
+ c() {
+ img = element("img");
+ attr(img, "style", "aspect-ratio=1.7778;");
+ attr(img, "alt", img_alt_value = ctx[12].title);
+ if (!src_url_equal(img.src, img_src_value = ctx[0] + "/noimg.svg"))
+ attr(img, "src", img_src_value);
+ attr(img, "loading", "lazy");
+ },
+ m(target, anchor) {
+ insert(target, img, anchor);
+ },
+ p(ctx2, dirty) {
+ if (dirty & 32 && img_alt_value !== (img_alt_value = ctx2[12].title)) {
+ attr(img, "alt", img_alt_value);
+ }
+ if (dirty & 1 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/noimg.svg")) {
+ attr(img, "src", img_src_value);
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(img);
+ }
+ };
+}
+function create_if_block_3(ctx) {
+ let img;
+ let img_style_value;
+ let img_alt_value;
+ let img_src_value;
+ return {
+ c() {
+ img = element("img");
+ attr(img, "style", img_style_value = "object-position: " + position$1(ctx[12]) + "; aspect-ratio=1.7778;");
+ attr(img, "alt", img_alt_value = ctx[12].media[0].name);
+ if (!src_url_equal(img.src, img_src_value = ctx[0] + "/media/thumb/" + ctx[12].media[0].url))
+ attr(img, "src", img_src_value);
+ attr(img, "loading", "lazy");
+ },
+ m(target, anchor) {
+ insert(target, img, anchor);
+ },
+ p(ctx2, dirty) {
+ if (dirty & 32 && img_style_value !== (img_style_value = "object-position: " + position$1(ctx2[12]) + "; aspect-ratio=1.7778;")) {
+ attr(img, "style", img_style_value);
+ }
+ if (dirty & 32 && img_alt_value !== (img_alt_value = ctx2[12].media[0].name)) {
+ attr(img, "alt", img_alt_value);
+ }
+ if (dirty & 33 && !src_url_equal(img.src, img_src_value = ctx2[0] + "/media/thumb/" + ctx2[12].media[0].url)) {
+ attr(img, "src", img_src_value);
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(img);
+ }
+ };
+}
+function create_if_block_1$1(ctx) {
+ let div;
+ let each_value_1 = ctx[12].tags;
+ let each_blocks = [];
+ for (let i = 0; i < each_value_1.length; i += 1) {
+ each_blocks[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i));
+ }
+ return {
+ c() {
+ div = element("div");
+ for (let i = 0; i < each_blocks.length; i += 1) {
+ each_blocks[i].c();
+ }
+ attr(div, "class", "tags");
+ },
+ m(target, anchor) {
+ insert(target, div, anchor);
+ for (let i = 0; i < each_blocks.length; i += 1) {
+ each_blocks[i].m(div, null);
+ }
+ },
+ p(ctx2, dirty) {
+ if (dirty & 32) {
+ each_value_1 = ctx2[12].tags;
+ let i;
+ for (i = 0; i < each_value_1.length; i += 1) {
+ const child_ctx = get_each_context_1(ctx2, each_value_1, i);
+ if (each_blocks[i]) {
+ each_blocks[i].p(child_ctx, dirty);
+ } else {
+ each_blocks[i] = create_each_block_1(child_ctx);
+ each_blocks[i].c();
+ each_blocks[i].m(div, null);
+ }
+ }
+ for (; i < each_blocks.length; i += 1) {
+ each_blocks[i].d(1);
+ }
+ each_blocks.length = each_value_1.length;
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(div);
+ destroy_each(each_blocks, detaching);
+ }
+ };
+}
+function create_each_block_1(ctx) {
+ let span;
+ let t0;
+ let t1_value = ctx[15] + "";
+ let t1;
+ return {
+ c() {
+ span = element("span");
+ t0 = text("#");
+ t1 = text(t1_value);
+ attr(span, "class", "tag");
+ },
+ m(target, anchor) {
+ insert(target, span, anchor);
+ append(span, t0);
+ append(span, t1);
+ },
+ p(ctx2, dirty) {
+ if (dirty & 32 && t1_value !== (t1_value = ctx2[15] + ""))
+ set_data(t1, t1_value);
+ },
+ d(detaching) {
+ if (detaching)
+ detach(span);
+ }
+ };
+}
+function create_each_block(ctx) {
+ let a;
+ let t0;
+ let div2;
+ let div0;
+ let t1_value = when$1(ctx[12].start_datetime) + "";
+ let t1;
+ let t2;
+ let div1;
+ let t3_value = ctx[12].title + "";
+ let t3;
+ let t4;
+ let span1;
+ let t5;
+ let t6_value = ctx[12].place.name + "";
+ let t6;
+ let t7;
+ let span0;
+ let t8_value = ctx[12].place.address + "";
+ let t8;
+ let t9;
+ let t10;
+ let a_href_value;
+ let a_title_value;
+ let if_block0 = ctx[3] !== "true" && create_if_block_2(ctx);
+ let if_block1 = ctx[12].tags.length && create_if_block_1$1(ctx);
+ return {
+ c() {
+ a = element("a");
+ if (if_block0)
+ if_block0.c();
+ t0 = space();
+ div2 = element("div");
+ div0 = element("div");
+ t1 = text(t1_value);
+ t2 = space();
+ div1 = element("div");
+ t3 = text(t3_value);
+ t4 = space();
+ span1 = element("span");
+ t5 = text("@");
+ t6 = text(t6_value);
+ t7 = space();
+ span0 = element("span");
+ t8 = text(t8_value);
+ t9 = space();
+ if (if_block1)
+ if_block1.c();
+ t10 = space();
+ attr(div0, "class", "subtitle");
+ attr(div1, "class", "title");
+ attr(span0, "class", "subtitle");
+ attr(span1, "class", "place");
+ attr(div2, "class", "content");
+ attr(a, "href", a_href_value = ctx[0] + "/event/" + (ctx[12].slug || ctx[12].id));
+ attr(a, "class", "event");
+ attr(a, "title", a_title_value = ctx[12].title);
+ attr(a, "target", "_blank");
+ },
+ m(target, anchor) {
+ insert(target, a, anchor);
+ if (if_block0)
+ if_block0.m(a, null);
+ append(a, t0);
+ append(a, div2);
+ append(div2, div0);
+ append(div0, t1);
+ append(div2, t2);
+ append(div2, div1);
+ append(div1, t3);
+ append(div2, t4);
+ append(div2, span1);
+ append(span1, t5);
+ append(span1, t6);
+ append(span1, t7);
+ append(span1, span0);
+ append(span0, t8);
+ append(div2, t9);
+ if (if_block1)
+ if_block1.m(div2, null);
+ append(a, t10);
+ },
+ p(ctx2, dirty) {
+ if (ctx2[3] !== "true") {
+ if (if_block0) {
+ if_block0.p(ctx2, dirty);
+ } else {
+ if_block0 = create_if_block_2(ctx2);
+ if_block0.c();
+ if_block0.m(a, t0);
+ }
+ } else if (if_block0) {
+ if_block0.d(1);
+ if_block0 = null;
+ }
+ if (dirty & 32 && t1_value !== (t1_value = when$1(ctx2[12].start_datetime) + ""))
+ set_data(t1, t1_value);
+ if (dirty & 32 && t3_value !== (t3_value = ctx2[12].title + ""))
+ set_data(t3, t3_value);
+ if (dirty & 32 && t6_value !== (t6_value = ctx2[12].place.name + ""))
+ set_data(t6, t6_value);
+ if (dirty & 32 && t8_value !== (t8_value = ctx2[12].place.address + ""))
+ set_data(t8, t8_value);
+ if (ctx2[12].tags.length) {
+ if (if_block1) {
+ if_block1.p(ctx2, dirty);
+ } else {
+ if_block1 = create_if_block_1$1(ctx2);
+ if_block1.c();
+ if_block1.m(div2, null);
+ }
+ } else if (if_block1) {
+ if_block1.d(1);
+ if_block1 = null;
+ }
+ if (dirty & 33 && a_href_value !== (a_href_value = ctx2[0] + "/event/" + (ctx2[12].slug || ctx2[12].id))) {
+ attr(a, "href", a_href_value);
+ }
+ if (dirty & 32 && a_title_value !== (a_title_value = ctx2[12].title)) {
+ attr(a, "title", a_title_value);
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(a);
+ if (if_block0)
+ if_block0.d();
+ if (if_block1)
+ if_block1.d();
+ }
+ };
+}
+function create_fragment$1(ctx) {
+ let t;
+ let if_block1_anchor;
+ let if_block0 = ctx[4] && create_if_block_5(ctx);
+ let if_block1 = ctx[5].length && create_if_block$1(ctx);
+ return {
+ c() {
+ if (if_block0)
+ if_block0.c();
+ t = space();
+ if (if_block1)
+ if_block1.c();
+ if_block1_anchor = empty();
+ this.c = noop;
+ },
+ m(target, anchor) {
+ if (if_block0)
+ if_block0.m(target, anchor);
+ insert(target, t, anchor);
+ if (if_block1)
+ if_block1.m(target, anchor);
+ insert(target, if_block1_anchor, anchor);
+ },
+ p(ctx2, [dirty]) {
+ if (ctx2[4]) {
+ if (if_block0) {
+ if_block0.p(ctx2, dirty);
+ } else {
+ if_block0 = create_if_block_5(ctx2);
+ if_block0.c();
+ if_block0.m(t.parentNode, t);
+ }
+ } else if (if_block0) {
+ if_block0.d(1);
+ if_block0 = null;
+ }
+ if (ctx2[5].length) {
+ if (if_block1) {
+ if_block1.p(ctx2, dirty);
+ } else {
+ if_block1 = create_if_block$1(ctx2);
+ if_block1.c();
+ if_block1.m(if_block1_anchor.parentNode, if_block1_anchor);
+ }
+ } else if (if_block1) {
+ if_block1.d(1);
+ if_block1 = null;
+ }
+ },
+ i: noop,
+ o: noop,
+ d(detaching) {
+ if (if_block0)
+ if_block0.d(detaching);
+ if (detaching)
+ detach(t);
+ if (if_block1)
+ if_block1.d(detaching);
+ if (detaching)
+ detach(if_block1_anchor);
+ }
+ };
+}
+function position$1(event) {
+ if (event.media[0].focalpoint) {
+ const focalpoint = event.media[0].focalpoint;
+ return `${(focalpoint[0] + 1) * 50}% ${(focalpoint[1] + 1) * 50}%`;
+ }
+ return "center center";
+}
+function when$1(timestamp) {
+ return new Date(timestamp * 1e3).toLocaleDateString(void 0, {
+ weekday: "long",
+ month: "long",
+ day: "numeric",
+ hour: "2-digit",
+ minute: "2-digit"
+ });
+}
+function instance$1($$self, $$props, $$invalidate) {
+ let { baseurl = "" } = $$props;
+ let { title = "" } = $$props;
+ let { maxlength = false } = $$props;
+ let { tags = "" } = $$props;
+ let { places = "" } = $$props;
+ let { theme = "light" } = $$props;
+ let { show_recurrent = false } = $$props;
+ let { sidebar = "true" } = $$props;
+ let { external_style = "" } = $$props;
+ let mounted = false;
+ let events = [];
+ function update2(v) {
+ if (!mounted)
+ return;
+ const params = [];
+ if (maxlength) {
+ params.push(`max=${maxlength}`);
+ }
+ if (tags) {
+ params.push(`tags=${tags}`);
+ }
+ if (places) {
+ params.push(`places=${places}`);
+ }
+ params.push(`show_recurrent=${show_recurrent ? "true" : "false"}`);
+ fetch(`${baseurl}/api/events?${params.join("&")}`).then((res) => res.json()).then((e) => {
+ $$invalidate(5, events = e);
+ }).catch((e) => {
+ console.error("Error loading Gancio API -> ", e);
+ });
+ }
+ onMount(() => {
+ mounted = true;
+ update2();
+ });
+ $$self.$$set = ($$props2) => {
+ if ("baseurl" in $$props2)
+ $$invalidate(0, baseurl = $$props2.baseurl);
+ if ("title" in $$props2)
+ $$invalidate(1, title = $$props2.title);
+ if ("maxlength" in $$props2)
+ $$invalidate(6, maxlength = $$props2.maxlength);
+ if ("tags" in $$props2)
+ $$invalidate(7, tags = $$props2.tags);
+ if ("places" in $$props2)
+ $$invalidate(8, places = $$props2.places);
+ if ("theme" in $$props2)
+ $$invalidate(2, theme = $$props2.theme);
+ if ("show_recurrent" in $$props2)
+ $$invalidate(9, show_recurrent = $$props2.show_recurrent);
+ if ("sidebar" in $$props2)
+ $$invalidate(3, sidebar = $$props2.sidebar);
+ if ("external_style" in $$props2)
+ $$invalidate(4, external_style = $$props2.external_style);
+ };
+ $$self.$$.update = () => {
+ if ($$self.$$.dirty & 974) {
+ update2();
+ }
+ };
+ return [
+ baseurl,
+ title,
+ theme,
+ sidebar,
+ external_style,
+ events,
+ maxlength,
+ tags,
+ places,
+ show_recurrent
+ ];
+}
+class GancioEvents extends SvelteElement {
+ constructor(options) {
+ super();
+ this.shadowRoot.innerHTML = ``;
+ init(this, {
+ target: this.shadowRoot,
+ props: attribute_to_object(this.attributes),
+ customElement: true
+ }, instance$1, create_fragment$1, safe_not_equal, {
+ baseurl: 0,
+ title: 1,
+ maxlength: 6,
+ tags: 7,
+ places: 8,
+ theme: 2,
+ show_recurrent: 9,
+ sidebar: 3,
+ external_style: 4
+ }, null);
+ if (options) {
+ if (options.target) {
+ insert(options.target, this, options.anchor);
+ }
+ if (options.props) {
+ this.$set(options.props);
+ flush();
+ }
+ }
+ }
+ static get observedAttributes() {
+ return [
+ "baseurl",
+ "title",
+ "maxlength",
+ "tags",
+ "places",
+ "theme",
+ "show_recurrent",
+ "sidebar",
+ "external_style"
+ ];
+ }
+ get baseurl() {
+ return this.$$.ctx[0];
+ }
+ set baseurl(baseurl) {
+ this.$$set({ baseurl });
+ flush();
+ }
+ get title() {
+ return this.$$.ctx[1];
+ }
+ set title(title) {
+ this.$$set({ title });
+ flush();
+ }
+ get maxlength() {
+ return this.$$.ctx[6];
+ }
+ set maxlength(maxlength) {
+ this.$$set({ maxlength });
+ flush();
+ }
+ get tags() {
+ return this.$$.ctx[7];
+ }
+ set tags(tags) {
+ this.$$set({ tags });
+ flush();
+ }
+ get places() {
+ return this.$$.ctx[8];
+ }
+ set places(places) {
+ this.$$set({ places });
+ flush();
+ }
+ get theme() {
+ return this.$$.ctx[2];
+ }
+ set theme(theme) {
+ this.$$set({ theme });
+ flush();
+ }
+ get show_recurrent() {
+ return this.$$.ctx[9];
+ }
+ set show_recurrent(show_recurrent) {
+ this.$$set({ show_recurrent });
+ flush();
+ }
+ get sidebar() {
+ return this.$$.ctx[3];
+ }
+ set sidebar(sidebar) {
+ this.$$set({ sidebar });
+ flush();
+ }
+ get external_style() {
+ return this.$$.ctx[4];
+ }
+ set external_style(external_style) {
+ this.$$set({ external_style });
+ flush();
+ }
+}
+customElements.define("gancio-events", GancioEvents);
+function create_if_block(ctx) {
+ let a;
+ let t0;
+ let div2;
+ let strong;
+ let t1_value = ctx[1].title + "";
+ let t1;
+ let t2;
+ let div0;
+ let t3_value = when(ctx[1]) + "";
+ let t3;
+ let t4;
+ let div1;
+ let t5;
+ let t6_value = ctx[1].place.name + "";
+ let t6;
+ let a_href_value;
+ let if_block = ctx[1].media.length && create_if_block_1(ctx);
+ return {
+ c() {
+ a = element("a");
+ if (if_block)
+ if_block.c();
+ t0 = space();
+ div2 = element("div");
+ strong = element("strong");
+ t1 = text(t1_value);
+ t2 = space();
+ div0 = element("div");
+ t3 = text(t3_value);
+ t4 = space();
+ div1 = element("div");
+ t5 = text("@");
+ t6 = text(t6_value);
+ attr(div1, "class", "place");
+ attr(div2, "class", "container");
+ attr(a, "href", a_href_value = ctx[0] + "/event/" + (ctx[1].slug || ctx[1].id));
+ attr(a, "class", "card");
+ attr(a, "target", "_blank");
+ },
+ m(target, anchor) {
+ insert(target, a, anchor);
+ if (if_block)
+ if_block.m(a, null);
+ append(a, t0);
+ append(a, div2);
+ append(div2, strong);
+ append(strong, t1);
+ append(div2, t2);
+ append(div2, div0);
+ append(div0, t3);
+ append(div2, t4);
+ append(div2, div1);
+ append(div1, t5);
+ append(div1, t6);
+ },
+ p(ctx2, dirty) {
+ if (ctx2[1].media.length) {
+ if (if_block) {
+ if_block.p(ctx2, dirty);
+ } else {
+ if_block = create_if_block_1(ctx2);
+ if_block.c();
+ if_block.m(a, t0);
+ }
+ } else if (if_block) {
+ if_block.d(1);
+ if_block = null;
+ }
+ if (dirty & 2 && t1_value !== (t1_value = ctx2[1].title + ""))
+ set_data(t1, t1_value);
+ if (dirty & 2 && t3_value !== (t3_value = when(ctx2[1]) + ""))
+ set_data(t3, t3_value);
+ if (dirty & 2 && t6_value !== (t6_value = ctx2[1].place.name + ""))
+ set_data(t6, t6_value);
+ if (dirty & 3 && a_href_value !== (a_href_value = ctx2[0] + "/event/" + (ctx2[1].slug || ctx2[1].id))) {
+ attr(a, "href", a_href_value);
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(a);
+ if (if_block)
+ if_block.d();
+ }
+ };
+}
+function create_if_block_1(ctx) {
+ let img;
+ let img_src_value;
+ let img_alt_value;
+ let img_style_value;
+ return {
+ c() {
+ img = element("img");
+ if (!src_url_equal(img.src, img_src_value = ctx[2](ctx[1])))
+ attr(img, "src", img_src_value);
+ attr(img, "alt", img_alt_value = ctx[1].media[0].name);
+ attr(img, "style", img_style_value = "object-position: " + position(ctx[1]) + "; aspect-ratio=1.7778;");
+ },
+ m(target, anchor) {
+ insert(target, img, anchor);
+ },
+ p(ctx2, dirty) {
+ if (dirty & 2 && !src_url_equal(img.src, img_src_value = ctx2[2](ctx2[1]))) {
+ attr(img, "src", img_src_value);
+ }
+ if (dirty & 2 && img_alt_value !== (img_alt_value = ctx2[1].media[0].name)) {
+ attr(img, "alt", img_alt_value);
+ }
+ if (dirty & 2 && img_style_value !== (img_style_value = "object-position: " + position(ctx2[1]) + "; aspect-ratio=1.7778;")) {
+ attr(img, "style", img_style_value);
+ }
+ },
+ d(detaching) {
+ if (detaching)
+ detach(img);
+ }
+ };
+}
+function create_fragment(ctx) {
+ let if_block_anchor;
+ let if_block = ctx[1] && create_if_block(ctx);
+ return {
+ c() {
+ if (if_block)
+ if_block.c();
+ if_block_anchor = empty();
+ this.c = noop;
+ },
+ m(target, anchor) {
+ if (if_block)
+ if_block.m(target, anchor);
+ insert(target, if_block_anchor, anchor);
+ },
+ p(ctx2, [dirty]) {
+ if (ctx2[1]) {
+ if (if_block) {
+ if_block.p(ctx2, dirty);
+ } else {
+ if_block = create_if_block(ctx2);
+ if_block.c();
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
+ }
+ } else if (if_block) {
+ if_block.d(1);
+ if_block = null;
+ }
+ },
+ i: noop,
+ o: noop,
+ d(detaching) {
+ if (if_block)
+ if_block.d(detaching);
+ if (detaching)
+ detach(if_block_anchor);
+ }
+ };
+}
+function when(event) {
+ return new Date(event.start_datetime * 1e3).toLocaleDateString(void 0, {
+ weekday: "long",
+ month: "short",
+ day: "numeric",
+ hour: "2-digit",
+ minute: "2-digit"
+ });
+}
+function position(event) {
+ if (event.media[0].focalpoint) {
+ const focalpoint = event.media[0].focalpoint;
+ return `${(focalpoint[0] + 1) * 50}% ${(focalpoint[1] + 1) * 50}%`;
+ }
+ return "center center";
+}
+function instance($$self, $$props, $$invalidate) {
+ let { baseurl = "https://demo.gancio.org" } = $$props;
+ let { id } = $$props;
+ let mounted = false;
+ let event;
+ function update2(id2, baseurl2) {
+ if (mounted) {
+ fetch(`${baseurl2}/api/event/${id2}`).then((res) => res.json()).then((e) => $$invalidate(1, event = e));
+ }
+ }
+ onMount(() => {
+ mounted = true;
+ update2(id, baseurl);
+ });
+ function thumbnail(event2) {
+ return `${baseurl}/media/thumb/${event2.media[0].url}`;
+ }
+ $$self.$$set = ($$props2) => {
+ if ("baseurl" in $$props2)
+ $$invalidate(0, baseurl = $$props2.baseurl);
+ if ("id" in $$props2)
+ $$invalidate(3, id = $$props2.id);
+ };
+ $$self.$$.update = () => {
+ if ($$self.$$.dirty & 9) {
+ update2(id, baseurl);
+ }
+ };
+ return [baseurl, event, thumbnail, id];
+}
+class GancioEvent extends SvelteElement {
+ constructor(options) {
+ super();
+ this.shadowRoot.innerHTML = ``;
+ init(this, {
+ target: this.shadowRoot,
+ props: attribute_to_object(this.attributes),
+ customElement: true
+ }, instance, create_fragment, safe_not_equal, { baseurl: 0, id: 3 }, null);
+ if (options) {
+ if (options.target) {
+ insert(options.target, this, options.anchor);
+ }
+ if (options.props) {
+ this.$set(options.props);
+ flush();
+ }
+ }
+ }
+ static get observedAttributes() {
+ return ["baseurl", "id"];
+ }
+ get baseurl() {
+ return this.$$.ctx[0];
+ }
+ set baseurl(baseurl) {
+ this.$$set({ baseurl });
+ flush();
+ }
+ get id() {
+ return this.$$.ctx[3];
+ }
+ set id(id) {
+ this.$$set({ id });
+ flush();
+ }
+}
+customElements.define("gancio-event", GancioEvent);
From ed6e2330418c2d02222d83bb4d94407284578eaa Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 10 May 2022 15:44:55 +0200
Subject: [PATCH 084/175] typo
---
CHANGELOG | 2 +-
docs/changelog.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index a6a455e2..6a38504d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,6 @@
All notable changes to this project will be documented in this file.
-### 1.4.4 - 10 mag '22
+### 1.4.4 - 10 may '22
- better img rendering, make it easier to download flyer #153
- avoid place and tags duplication (remove white space, match case insensitive)
- show date and place to unconfirmed events
diff --git a/docs/changelog.md b/docs/changelog.md
index 995f69d0..2d21e343 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -8,7 +8,7 @@ nav_order: 10
All notable changes to this project will be documented in this file.
-### 1.4.4 - 10 mag '22
+### 1.4.4 - 10 may '22
- better img rendering, make it easier to download flyer #153
- avoid place and tags duplication (remove white space, match case insensitive)
- show date and place to unconfirmed events
From 11619793152777b485d0efa0133c9cdafd86ba79 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 10 May 2022 15:52:20 +0200
Subject: [PATCH 085/175] remove unused usage.md
---
docs/usage.md | 11 -----------
1 file changed, 11 deletions(-)
delete mode 100644 docs/usage.md
diff --git a/docs/usage.md b/docs/usage.md
deleted file mode 100644
index f9c95734..00000000
--- a/docs/usage.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: default
-title: Usage
-permalink: /usage
-nav_order: 1
-has_children: true
----
-
-## Usage
-
-ehmmm, help needed here :smile: feel free to send a PR => [here](https://framagit.org/les/gancio/tree/master/docs)
From 37fb857440aa7e12ca841c180427349bfece13f3 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 10 May 2022 16:09:37 +0200
Subject: [PATCH 086/175] unstrict cli
---
server/cli.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/server/cli.js b/server/cli.js
index c7e9dfef..01e7b5c8 100755
--- a/server/cli.js
+++ b/server/cli.js
@@ -34,6 +34,5 @@ require('yargs')
.alias('h', 'help')
.epilog('Made with ❤ by underscore hacklab - https://gancio.org')
.recommendCommands()
- .strict()
.demandCommand(1, '')
.argv
From 63ab9d99d246821c6c92476088c9ff1958e45eea Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 10 May 2022 16:10:20 +0200
Subject: [PATCH 087/175] minor on docs
---
docs/docker/docker-compose.yml | 2 +-
docs/docker/mariadb/docker-compose.yml | 2 +-
docs/docker/postgres/docker-compose.yml | 2 +-
docs/docker/sqlite/docker-compose.yml | 2 +-
docs/install/docker.md | 1 +
5 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/docs/docker/docker-compose.yml b/docs/docker/docker-compose.yml
index 60cf1d9e..a4ca6d99 100644
--- a/docs/docker/docker-compose.yml
+++ b/docs/docker/docker-compose.yml
@@ -4,7 +4,7 @@ services:
gancio:
build: .
restart: always
- image: node:17.4-slim
+ image: gancio
container_name: gancio
environment:
- PATH=$PATH:/home/node/.yarn/bin
diff --git a/docs/docker/mariadb/docker-compose.yml b/docs/docker/mariadb/docker-compose.yml
index be06832a..32c04435 100644
--- a/docs/docker/mariadb/docker-compose.yml
+++ b/docs/docker/mariadb/docker-compose.yml
@@ -16,7 +16,7 @@ services:
gancio:
build: .
restart: always
- image: node:17.4-slim
+ image: gancio
container_name: gancio
environment:
- PATH=$PATH:/home/node/.yarn/bin
diff --git a/docs/docker/postgres/docker-compose.yml b/docs/docker/postgres/docker-compose.yml
index f3579dc5..f220e0d4 100644
--- a/docs/docker/postgres/docker-compose.yml
+++ b/docs/docker/postgres/docker-compose.yml
@@ -18,7 +18,7 @@ services:
gancio:
build: .
restart: always
- image: node:17.4-slim
+ image: gancio
container_name: gancio
environment:
- PATH=$PATH:/home/node/.yarn/bin
diff --git a/docs/docker/sqlite/docker-compose.yml b/docs/docker/sqlite/docker-compose.yml
index 60cf1d9e..a4ca6d99 100644
--- a/docs/docker/sqlite/docker-compose.yml
+++ b/docs/docker/sqlite/docker-compose.yml
@@ -4,7 +4,7 @@ services:
gancio:
build: .
restart: always
- image: node:17.4-slim
+ image: gancio
container_name: gancio
environment:
- PATH=$PATH:/home/node/.yarn/bin
diff --git a/docs/install/docker.md b/docs/install/docker.md
index 3a514a55..4ad3be13 100644
--- a/docs/install/docker.md
+++ b/docs/install/docker.md
@@ -66,5 +66,6 @@ You'll need to [setup nginx as a proxy]({% link install/nginx.md %}) then you ca
```bash
cd /opt/gancio
+wget https://gancio.org/docker/Dockerfile -O Dockerfile
docker-compose up -d --no-deps --build
```
From 2995ffa812a7f47c6a37370edf62869d0f654f27 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 10 May 2022 16:11:14 +0200
Subject: [PATCH 088/175] update deps
---
package.json | 2 +-
yarn.lock | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index 6bcdde0a..2e7f381c 100644
--- a/package.json
+++ b/package.json
@@ -55,7 +55,7 @@
"minify-css-string": "^1.0.0",
"mkdirp": "^1.0.4",
"multer": "^1.4.3",
- "nuxt-edge": "^2.16.0-27305297.ab1c6cb4",
+ "nuxt-edge": "^2.16.0-27358576.777a4b7f",
"pg": "^8.6.0",
"sequelize": "^6.17.0",
"sequelize-slugify": "^1.6.1",
diff --git a/yarn.lock b/yarn.lock
index ab60e564..e6a08dcb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8455,7 +8455,7 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-nuxt-edge@^2.16.0-27305297.ab1c6cb4:
+nuxt-edge@^2.16.0-27358576.777a4b7f:
version "2.16.0-27358576.777a4b7f"
resolved "https://registry.yarnpkg.com/nuxt-edge/-/nuxt-edge-2.16.0-27358576.777a4b7f.tgz#915edaf69657d8959270caf85153715b44ab3645"
integrity sha512-cXgbo4MrXxh6YJSB1wEKod34QrH+6kJ1VoLTe1znRktWJZU3o+FDlDg6IRUf9NgcUSTdcp+Z7ZzyORCytUYNjQ==
From 67377f2090c55903855c23b85f939d4d71c5f513 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 10 May 2022 16:14:29 +0200
Subject: [PATCH 089/175] remove unused --docker arg in docker-compose
---
docs/docker/docker-compose.yml | 2 +-
docs/docker/mariadb/docker-compose.yml | 2 +-
docs/docker/postgres/docker-compose.yml | 2 +-
docs/docker/sqlite/docker-compose.yml | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/docker/docker-compose.yml b/docs/docker/docker-compose.yml
index a4ca6d99..fdb433bb 100644
--- a/docs/docker/docker-compose.yml
+++ b/docs/docker/docker-compose.yml
@@ -13,7 +13,7 @@ services:
- GANCIO_DB_DIALECT=sqlite
- GANCIO_DB_STORAGE=./gancio.sqlite
entrypoint: /entrypoint.sh
- command: gancio start --docker
+ command: gancio start
volumes:
- ./data:/home/node/data
ports:
diff --git a/docs/docker/mariadb/docker-compose.yml b/docs/docker/mariadb/docker-compose.yml
index 32c04435..fdba1ec7 100644
--- a/docs/docker/mariadb/docker-compose.yml
+++ b/docs/docker/mariadb/docker-compose.yml
@@ -27,7 +27,7 @@ services:
- GANCIO_DB_DATABASE=gancio
- GANCIO_DB_USERNAME=gancio
- GANCIO_DB_PASSWORD=gancio
- command: gancio start --docker
+ command: gancio start
entrypoint: /entrypoint.sh
volumes:
- ./data:/home/node/data
diff --git a/docs/docker/postgres/docker-compose.yml b/docs/docker/postgres/docker-compose.yml
index f220e0d4..9bd06169 100644
--- a/docs/docker/postgres/docker-compose.yml
+++ b/docs/docker/postgres/docker-compose.yml
@@ -29,7 +29,7 @@ services:
- GANCIO_DB_DATABASE=gancio
- GANCIO_DB_USERNAME=gancio
- GANCIO_DB_PASSWORD=gancio
- command: gancio start --docker
+ command: gancio start
entrypoint: /entrypoint.sh
volumes:
- ./data:/home/node/data
diff --git a/docs/docker/sqlite/docker-compose.yml b/docs/docker/sqlite/docker-compose.yml
index a4ca6d99..fdb433bb 100644
--- a/docs/docker/sqlite/docker-compose.yml
+++ b/docs/docker/sqlite/docker-compose.yml
@@ -13,7 +13,7 @@ services:
- GANCIO_DB_DIALECT=sqlite
- GANCIO_DB_STORAGE=./gancio.sqlite
entrypoint: /entrypoint.sh
- command: gancio start --docker
+ command: gancio start
volumes:
- ./data:/home/node/data
ports:
From a19b9ad577c9cd3a2a32b0ecd90f153f42945bbc Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 10 May 2022 16:51:27 +0200
Subject: [PATCH 090/175] typo
---
docs/embed.md | 100 -----------------------------------------
docs/install/docker.md | 2 +-
locales/it.json | 2 +-
3 files changed, 2 insertions(+), 102 deletions(-)
delete mode 100644 docs/embed.md
diff --git a/docs/embed.md b/docs/embed.md
deleted file mode 100644
index 0251dddc..00000000
--- a/docs/embed.md
+++ /dev/null
@@ -1,100 +0,0 @@
----
-layout: default
-title: Embed events in webpages
-permalink: /usage/embed
-nav_order: 1
-parent: Usage
----
-
-
-
-## Embed a single event or a list of events in your webpage
-{: .no_toc }
-
-You can embed a list of filtered events or a specific event card in your webpage using a classic old-school `iframe` or a shiny new webcomponent.
-
-1. TOC
-{:toc}
-## Webcomponents
-[Webcomponents](https://www.webcomponents.org/introduction) usage requires a small (~5kB gzipped) js script to be loaded in your page (note that you should use your instance name):
-```html
-
-```
-
-### Embed a single event
-To embed an event in webpages you use `` custom element, you can copy the required code in **event's page > Embed > Copy**, should be like the following:
-
-```html
-
-```
-
-
-
-
-
-### Embed event lists
-You can also embed a list of events using `` custom element, you can copy the required code in **Export > List > Copy**
-
-
-```html
-
- Gancio Events
-
-```
-
-
-
-
-
-
-
-
-Gancio Events
-
-> info "Customize"
-> Note that you can modify the title (or completely remove it using an empty `title` param),
-> you can limit the list to a maximum number of events using the `maxlength` parameter and filter events by `tags` or `places` using that parameters (it's easier using **gancio** than to explain it here)
-
-
-## IFrame
-You can also use the old iframe method
-
-
-```html
-
-```
-
-
-## Wordpress
-To embed an event or a list of events into a [WordPress](https://wordpress.com) website you can use the [WPGancio](https://wordpress.org/plugins/wpgancio/) plugin, this allows you to use webcomponents and shortcodes and automatically includes the needed script in each page and post.
\ No newline at end of file
diff --git a/docs/install/docker.md b/docs/install/docker.md
index 4ad3be13..aa031432 100644
--- a/docs/install/docker.md
+++ b/docs/install/docker.md
@@ -65,7 +65,7 @@ You'll need to [setup nginx as a proxy]({% link install/nginx.md %}) then you ca
```bash
-cd /opt/gancio
+cd /opt/gancio # or where your installation is
wget https://gancio.org/docker/Dockerfile -O Dockerfile
docker-compose up -d --no-deps --build
```
diff --git a/locales/it.json b/locales/it.json
index e63155d9..1164e944 100644
--- a/locales/it.json
+++ b/locales/it.json
@@ -278,6 +278,6 @@
"completed_description": "
Puoi entrare con le seguenti credenziali:
Utente: {email} Password: {password}
",
"copy_password_dialog": "Sì, devi copiare la password!",
"start": "Inizia",
- "https_warning": "Stai visitando il setup da HTTP, ricorda di cambiare il baseurl nel config.json quando passarai ad HTTPS!"
+ "https_warning": "Stai visitando il setup da HTTP, ricorda di cambiare il baseurl nel config.json quando passerai ad HTTPS!"
}
}
From 47417024d90ba22e2dc477026bbb1aeae1e62705 Mon Sep 17 00:00:00 2001
From: Maite Guix
Date: Wed, 11 May 2022 09:04:03 +0000
Subject: [PATCH 091/175] Translated using Weblate (Catalan)
Currently translated at 100.0% (251 of 251 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/ca/
---
locales/ca.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/locales/ca.json b/locales/ca.json
index 1989f95b..fd027ead 100644
--- a/locales/ca.json
+++ b/locales/ca.json
@@ -231,7 +231,8 @@
"smtp_description": "
L'admin hauria de rebre un correu cada cop que es pengi alguna una activitat anònima (si estan activades).
L'admin hauria de rebre un correu per cada soŀlicitud de registre (si estan actives).
La usuària hauria de rebre un correu després de soŀlicitar registrar-se.
La usuària hauria de rebre un correu quan se li hagi confirmat el registre.
La usuària hauria de rebre un correu si l'admin la registra directament.
La usuària hauria de rebre un correu de restabliment de contrasenya si ho demana
",
"smtp_test_button": "Envia un correu de prova",
"widget": "Giny",
- "wrong_domain_warning": "La url base configurada a config.json ({baseurl}) difereix de la que esteu visitant ({url})"
+ "wrong_domain_warning": "La url base configurada a config.json ({baseurl}) difereix de la que esteu visitant ({url})",
+ "event_remove_ok": "S'ha suprimit l'esdeveniment"
},
"auth": {
"not_confirmed": "Encara no s'ha confirmat…",
From 9fa3d03de56aba7c70c704ba674b3d5d6f61946e Mon Sep 17 00:00:00 2001
From: Txopi
Date: Wed, 11 May 2022 15:55:27 +0000
Subject: [PATCH 092/175] Translated using Weblate (Basque)
Currently translated at 100.0% (251 of 251 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/eu/
---
locales/eu.json | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/locales/eu.json b/locales/eu.json
index 16456126..d324839e 100644
--- a/locales/eu.json
+++ b/locales/eu.json
@@ -109,7 +109,7 @@
"list_description": "Webgune bat baduzu eta ekitaldien zerrenda erakutsi nahi baduzu, ondorengo kodea erabili"
},
"register": {
- "description": "Herri mugimenduek autoantolaketaren bidean diru-iturrien beharrak dauzkatela badakigu. \nHonako hauxe oparitxoa da, hortaz erabili ezazue ekitaldi ez-komertzialak iragartzeko, eta esan gabe doa, ekitaldi antifaxistak, antisexistak eta antiarriztetarako :) .\n Argitaratzen hasi baino lehen zure kontu berriak onarpena jaso beharko du beraz, webgune honen atzean hezur-haragizko pertsonak gaudela jakinda , (momenutz euskal 'AI'-rik ez daukagu baina adi, agertuko direla) idatzi iezaguzu lerro batzuk argitaratu nahi dituzun ekitaldiei buruz.",
+ "description": "Gizarte mugimenduak beraien kabuz antolatu behar dira. \n Argitaratzen hasi baino lehen zure kontu berria onartua izan behar da, beraz, webgune honen atzean hezur-haragizko pertsonak gaudela kontuan izanik, azal iezaguzu mesedez pare bat lerrotan zer nolako ekitaldiak argitaratu nahi dituzun.",
"error": "Errorea: ",
"complete": "Izen-ematea baieztatua izan behar da.",
"first_user": "Administratzailea sortu da"
@@ -159,7 +159,11 @@
"only_future": "datozen ekitaldiak bakarrik",
"edit_recurrent": "Editatu ekitaldi errepikaria:",
"updated": "Ekitaldia eguneratu da",
- "saved": "Ekitaldia gorde da"
+ "saved": "Ekitaldia gorde da",
+ "remove_media_confirmation": "Irudiaren ezabaketa baieztatzen duzu?",
+ "alt_text_description": "Ikusmen-urritasunak dituztenentzako deskripzioa",
+ "choose_focal_point": "Aukeratu arretagunea",
+ "download_flyer": "Deskargatu eskuorria"
},
"admin": {
"place_description": "Helbidea oker badago, alda dezakezu. Leku honekin lotutako iraganeko eta etorkizuneko ekitaldien helbidea aldatuko da.",
@@ -226,7 +230,9 @@
"admin_email": "Administratzailearen eposta",
"smtp_hostname": "SMTP hostname",
"smtp_description": "
Administratzaileak eposta bat jaso beharko luke anonimo batek ekitaldi bat gehitzen duenean (gaituta badago).
Administratzaileak eposta bat jaso beharko luke izena emateko eskari bakoitzeko (gaituta badago).
Erabiltzaileak eposta bat jaso beharko luke izena emateko eskariarekin.
Erabiltzaileak eposta bat jaso beharko luke izen ematea baieztatzean.
Erabiltzaileak eposta bat jaso beharko luke administratzaileak zuzenean izena emanez gero.
Erabiltzaileek eposta bat jaso beharko lukete pasahitza ahazten dutenean.
",
- "widget": "Tresna"
+ "widget": "Tresna",
+ "event_remove_ok": "Ekitaldia ezabatu da",
+ "wrong_domain_warning": "config.json-en konfiguratuta dagoen baseurl ({baseurl}) ez da bisitatzen ari zaren berbera ({url})"
},
"auth": {
"not_confirmed": "Oraindik baieztatu gabe dago…",
@@ -272,6 +278,8 @@
"setup": {
"start": "Hasi",
"completed": "Instalazioa bukatu da",
- "completed_description": "
Erabiltzaile honekin saioa has dezakezu orain:
Erabiltzailea: {email} Pasahitza: {password}
"
+ "completed_description": "
Erabiltzaile honekin saioa has dezakezu orain:
Erabiltzailea: {email} Pasahitza: {password}
",
+ "copy_password_dialog": "Bai, pasahitza kopiatu behar duzu!",
+ "https_warning": "HTTP bidez ari zarela kontuan izan. HTTPSra pasatzen bazara gogoratu config.json-en baseurl aldatzeaz!"
}
}
From 202282bc042d3d4d99b75fdb2fd6020c83986073 Mon Sep 17 00:00:00 2001
From: Abel 'Akronix' Serrano Juste
Date: Fri, 13 May 2022 09:19:40 +0200
Subject: [PATCH 093/175] Fixed typo in Spanish recurrientes -> recurrentes
Signed-off-by: Abel 'Akronix' Serrano Juste
---
locales/es.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/locales/es.json b/locales/es.json
index 0f4a7680..f23670bd 100644
--- a/locales/es.json
+++ b/locales/es.json
@@ -148,7 +148,7 @@
"from": "Desde las",
"image_too_big": "La imagén es demasiado grande! Tamaño máx 4M",
"interact_with_me_at": "Sígueme en el fediverso en",
- "show_recurrent": "Eventos recurrientes",
+ "show_recurrent": "Eventos recurrentes",
"show_past": "eventos pasados",
"follow_me_description": "Entre las diversas formas de mantenerse al día con los eventos publicados aquí en {title},\npuedes seguir la cuenta {account} desde el fediverso, por ejemplo, a través de un Mastodon, y posiblemente añadir recursos a un evento desde allí.
\nSi nunca has oído hablar del Mastodon y el fediverso te sugerimos que leas este artículo.
Introduce tu instancia abajo (por ejemplo mastodon.cisti.org o mastodon.bida.im)",
"interact_with_me": "Sigueme en el fediverso",
From ad5fd281ec0ddfb3aadd4856767dffb3ac08009d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Xos=C3=A9=20M?=
Date: Wed, 18 May 2022 03:53:07 +0000
Subject: [PATCH 094/175] Translated using Weblate (Galician)
Currently translated at 100.0% (251 of 251 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/gl/
---
locales/gl.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/locales/gl.json b/locales/gl.json
index 0715f010..8818f74c 100644
--- a/locales/gl.json
+++ b/locales/gl.json
@@ -222,7 +222,8 @@
"smtp_hostname": "Servidor SMTP",
"new_announcement": "Novo anuncio",
"smtp_description": "
Admin debería recibir un email cando se engade un evento anónimo (se está activo)
Admin debería recibir un email coas solicitudes de rexistro (se activo).
A usuaria debería recibir un email coa solicitude de rexistro.
A usuaria debería recibir un email confirmando o rexistro.
A usuaria debería recibir un email de confirmación cando fose subscrita directamente por Admin
As usuarias deberían recibir un email para restablecer o contrasinal se o esquecen
",
- "wrong_domain_warning": "O url base configurado en config.json ({baseurl) é diferente ao que estás a visitar ({url})"
+ "wrong_domain_warning": "O url base configurado en config.json ({baseurl) é diferente ao que estás a visitar ({url})",
+ "event_remove_ok": "Evento eliminado"
},
"auth": {
"not_confirmed": "Aínda non foi confirmado…",
From 63b9d41470329b067f468c2f40b633e646a1d88f Mon Sep 17 00:00:00 2001
From: lesion
Date: Fri, 20 May 2022 12:10:32 +0200
Subject: [PATCH 095/175] minor
---
components/Event.vue | 4 ++--
pages/add/_edit.vue | 2 +-
pages/tag/_tag.vue | 34 ++++++++++++++++++++++++++++++++++
3 files changed, 37 insertions(+), 3 deletions(-)
create mode 100644 pages/tag/_tag.vue
diff --git a/components/Event.vue b/components/Event.vue
index 2842125e..ee2a8af4 100644
--- a/components/Event.vue
+++ b/components/Event.vue
@@ -13,8 +13,8 @@
v-card-actions.pt-0.actions.justify-space-between
.tags
- v-chip.ml-1.mt-1(v-for='tag in event.tags.slice(0,6)' small
- :key='tag' outlined color='primary' @click="$emit('tagclick', tag)") {{tag}}
+ v-chip.ml-1.mt-1(v-for='tag in event.tags.slice(0,6)' small :to='`/tag/${tag}`'
+ :key='tag' outlined color='primary' v-text='tag')
client-only
v-menu(offset-y)
diff --git a/pages/add/_edit.vue b/pages/add/_edit.vue
index 13728cba..c2d76c14 100644
--- a/pages/add/_edit.vue
+++ b/pages/add/_edit.vue
@@ -154,7 +154,7 @@ export default {
if (!this.tagName) { return this.tags.slice(0, 10).map(t => t.tag) }
const tagName = this.tagName.trim().toLowerCase()
return this.tags.filter(t => t.tag.toLowerCase().includes(tagName)).map(t => t.tag)
- }
+ }
},
methods: {
...mapActions(['updateMeta']),
diff --git a/pages/tag/_tag.vue b/pages/tag/_tag.vue
new file mode 100644
index 00000000..6aa5d542
--- /dev/null
+++ b/pages/tag/_tag.vue
@@ -0,0 +1,34 @@
+
+
+ Home