This commit is contained in:
burningtree 2023-02-16 20:21:27 +00:00
parent 3d4b6e40ba
commit 9628a33fe0
9 changed files with 148 additions and 89 deletions

View file

@ -1018,6 +1018,10 @@ table.table-custom{
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.hover\:border-0:hover{
border-width: 0px;
}

View file

@ -1,5 +1,5 @@
import { _ } from "./_layout-68f6d432.js";
import { default as default2 } from "../components/pages/_layout.svelte-903c3b1e.js";
import { default as default2 } from "../components/pages/_layout.svelte-2f842b9f.js";
export {
default2 as component,
_ as universal

View file

@ -1,4 +1,4 @@
import { default as default2 } from "../components/pages/_page.svelte-86a982db.js";
import { default as default2 } from "../components/pages/_page.svelte-faad47a7.js";
export {
default2 as component
};

View file

@ -7507,7 +7507,7 @@ function rand(length) {
}
return result;
}
function animateText(ev) {
function animateText(ev, interval = 50) {
if (!ev.target.getAttribute("data-text")) {
ev.target.setAttribute("data-text", ev.target.innerHTML);
}
@ -7515,7 +7515,7 @@ function animateText(ev) {
return;
}
ev.target.setAttribute("data-animate", "1");
const orig = removeMarkdown(ev.target.getAttribute("data-text"));
const orig = removeMarkdown(ev.target.getAttribute("data-text")).replace("&", "&");
const steps = orig.length;
const genRand = (pos = 0, len = null) => orig.substring(pos, len).split(" ").map((x) => rand(x.length)).join(" ");
const random = genRand(0, orig.length);
@ -7526,7 +7526,7 @@ function animateText(ev) {
if (i === steps) {
ev.target.setAttribute("data-animate", "0");
}
}, 50 * i);
}, interval * i);
}
}
export {

View file

@ -1,5 +1,5 @@
import { S as SvelteComponent, i as init, s as safe_not_equal, D as create_slot, k as element, a as space, q as text, E as svg_element, x as create_component, l as claim_element, m as children, h as detach, c as claim_space, r as claim_text, F as claim_svg_element, y as claim_component, G as src_url_equal, n as attr, b as insert_hydration, H as append_hydration, z as mount_component, I as listen, u as set_data, J as update_slot_base, K as get_all_dirty_from_scope, L as get_slot_changes, f as transition_in, t as transition_out, d as check_outros, M as destroy_each, A as destroy_component, o as onMount, C as noop, g as group_outros } from "../../chunks/index-858fda85.js";
import { S as SvelteMarkdown, a as animateText } from "../../chunks/helpers-3c288985.js";
import { S as SvelteMarkdown, a as animateText } from "../../chunks/helpers-a9b07fa3.js";
const app = "";
function get_each_context(ctx, list, i) {
const child_ctx = ctx.slice();
@ -368,7 +368,7 @@ function create_fragment(ctx) {
let dispose;
let each_value_1 = (
/*menu*/
ctx[2]
ctx[2].filter(func)
);
let each_blocks = [];
for (let i = 0; i < each_value_1.length; i += 1) {
@ -508,7 +508,7 @@ function create_fragment(ctx) {
if_block0.l(div5_nodes);
div5_nodes.forEach(detach);
t4 = claim_space(div19_nodes);
div11 = claim_element(div19_nodes, "DIV", { class: true });
div11 = claim_element(div19_nodes, "DIV", { class: true, id: true });
var div11_nodes = children(div11);
div10 = claim_element(div11_nodes, "DIV", { class: true });
var div10_nodes = children(div10);
@ -636,6 +636,7 @@ function create_fragment(ctx) {
attr(div9, "class", "mx-auto px-4");
attr(div10, "class", "w-full h-full flex items-center text-center");
attr(div11, "class", "w-full h-screen");
attr(div11, "id", "homepage");
if (!src_url_equal(img1.src, img1_src_value = /*data*/
ctx[0].config.logo))
attr(img1, "src", img1_src_value);
@ -763,7 +764,7 @@ function create_fragment(ctx) {
if (dirty & /*menu, animateText*/
4) {
each_value_1 = /*menu*/
ctx2[2];
ctx2[2].filter(func);
let i;
for (i = 0; i < each_value_1.length; i += 1) {
const child_ctx = get_each_context_1(ctx2, each_value_1, i);
@ -937,11 +938,13 @@ function create_fragment(ctx) {
}
};
}
const func = (i) => !i.hidden;
function instance($$self, $$props, $$invalidate) {
let { $$slots: slots = {}, $$scope } = $$props;
let { data } = $$props;
let navbar = false;
const menu = [
{ title: "Homepage", url: "", hidden: true },
{ title: "About", url: "#about" },
{ title: "Speakers", url: "#speakers" },
{ title: "Program", url: "#program" },
@ -950,7 +953,8 @@ function instance($$self, $$props, $$invalidate) {
title: "Ticket",
url: "#ticket",
class: "button"
}
},
{ title: "FAQ", url: "#faq", hidden: true }
];
onMount(async () => {
setTimeout(
@ -962,6 +966,39 @@ function instance($$self, $$props, $$invalidate) {
},
0
);
let lastScrollTop = null;
setInterval(
() => {
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
if (lastScrollTop === scrollTop) {
return null;
} else {
lastScrollTop = scrollTop;
}
console.log("x");
const arr = [];
for (const mi of menu) {
const el = document.getElementById(mi.title.toLowerCase());
const pos = el.getBoundingClientRect();
if (pos.top <= 100 && pos.bottom > 100) {
arr.push([mi, pos.top, pos.bottom]);
}
}
const choosed = arr[arr.length - 1];
if (choosed) {
const currentHash = window.location.hash;
const hash = choosed[0].url;
if (hash !== currentHash) {
if (hash === "") {
history.replaceState(null, null, " ");
} else {
history.replaceState(null, null, hash);
}
}
}
},
1e3
);
});
const click_handler = () => $$invalidate(1, navbar = !navbar);
const click_handler_1 = () => $$invalidate(1, navbar = false);

View file

@ -1,5 +1,5 @@
import { S as SvelteComponent, i as init, s as safe_not_equal, e as empty, b as insert_hydration, f as transition_in, g as group_outros, d as check_outros, t as transition_out, M as destroy_each, h as detach, k as element, a as space, q as text, l as claim_element, m as children, c as claim_space, r as claim_text, G as src_url_equal, n as attr, H as append_hydration, I as listen, u as set_data, x as create_component, y as claim_component, z as mount_component, A as destroy_component, Z as head_selector } from "../../chunks/index-858fda85.js";
import { a as animateText, S as SvelteMarkdown } from "../../chunks/helpers-3c288985.js";
import { a as animateText, S as SvelteMarkdown } from "../../chunks/helpers-a9b07fa3.js";
function get_each_context$1(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[5] = list[i];
@ -72,7 +72,7 @@ function create_each_block$1(ctx) {
let div1;
let t1_value = (
/*item*/
ctx[5].name + ""
ctx[5].name.toUpperCase() + ""
);
let t1;
let t2;
@ -209,7 +209,7 @@ function create_each_block$1(ctx) {
}
if ((!current || dirty & /*items*/
1) && t1_value !== (t1_value = /*item*/
ctx2[5].name + ""))
ctx2[5].name.toUpperCase() + ""))
set_data(t1, t1_value);
if ((!current || dirty & /*items*/
1) && t4_value !== (t4_value = /*item*/
@ -391,27 +391,27 @@ class PeopleList extends SvelteComponent {
}
function get_each_context(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[1] = list[i];
child_ctx[2] = list[i];
return child_ctx;
}
function get_each_context_1(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[4] = list[i];
child_ctx[5] = list[i];
return child_ctx;
}
function get_each_context_2(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[7] = list[i];
child_ctx[8] = list[i];
return child_ctx;
}
function get_each_context_3(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[10] = list[i];
child_ctx[11] = list[i];
return child_ctx;
}
function get_each_context_4(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[7] = list[i];
child_ctx[8] = list[i];
return child_ctx;
}
function create_each_block_4(ctx) {
@ -419,7 +419,7 @@ function create_each_block_4(ctx) {
let div0;
let t0_value = (
/*ti*/
ctx[7].title + ""
ctx[8].title.toUpperCase() + ""
);
let t0;
let t1;
@ -427,9 +427,11 @@ function create_each_block_4(ctx) {
let sveltemarkdown;
let t2;
let current;
let mounted;
let dispose;
sveltemarkdown = new SvelteMarkdown({ props: { source: (
/*ti*/
ctx[7].desc
ctx[8].desc
) } });
return {
c() {
@ -459,7 +461,7 @@ function create_each_block_4(ctx) {
this.h();
},
h() {
attr(div0, "class", "text-2xl uppercase");
attr(div0, "class", "text-2xl animate-topic");
attr(div1, "class", "mt-4 text-lg markdown");
attr(div2, "class", "bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6");
},
@ -472,17 +474,26 @@ function create_each_block_4(ctx) {
mount_component(sveltemarkdown, div1, null);
append_hydration(div2, t2);
current = true;
if (!mounted) {
dispose = listen(
div2,
"mouseenter",
/*animateTopic*/
ctx[1]
);
mounted = true;
}
},
p(ctx2, dirty) {
if ((!current || dirty & /*data*/
1) && t0_value !== (t0_value = /*ti*/
ctx2[7].title + ""))
ctx2[8].title.toUpperCase() + ""))
set_data(t0, t0_value);
const sveltemarkdown_changes = {};
if (dirty & /*data*/
1)
sveltemarkdown_changes.source = /*ti*/
ctx2[7].desc;
ctx2[8].desc;
sveltemarkdown.$set(sveltemarkdown_changes);
},
i(local) {
@ -499,6 +510,8 @@ function create_each_block_4(ctx) {
if (detaching)
detach(div2);
destroy_component(sveltemarkdown);
mounted = false;
dispose();
}
};
}
@ -508,7 +521,7 @@ function create_if_block_2(ctx) {
let current;
sveltemarkdown = new SvelteMarkdown({ props: { source: (
/*pi*/
ctx[10].desc
ctx[11].desc
) } });
return {
c() {
@ -536,7 +549,7 @@ function create_if_block_2(ctx) {
if (dirty & /*data*/
1)
sveltemarkdown_changes.source = /*pi*/
ctx2[10].desc;
ctx2[11].desc;
sveltemarkdown.$set(sveltemarkdown_changes);
},
i(local) {
@ -562,21 +575,21 @@ function create_each_block_3(ctx) {
let td0;
let raw_value = (
/*pi*/
ctx[10].time.split("-").map(func).join('<div class="xl:inline-block hidden mx-1">-</div>') + ""
ctx[11].time.split("-").map(func).join('<div class="xl:inline-block hidden mx-1">-</div>') + ""
);
let t0;
let td1;
let div;
let t1_value = (
/*pi*/
ctx[10].title + ""
ctx[11].title + ""
);
let t1;
let t2;
let t3_value = (
/*pi*/
ctx[10].speakers ? "― " + /*pi*/
((_a = ctx[10].speakers[0]) == null ? void 0 : _a.name) : ""
ctx[11].speakers ? "― " + /*pi*/
((_a = ctx[11].speakers[0]) == null ? void 0 : _a.name) : ""
);
let t3;
let t4;
@ -584,7 +597,7 @@ function create_each_block_3(ctx) {
let current;
let if_block = (
/*pi*/
ctx[10].desc && create_if_block_2(ctx)
ctx[11].desc && create_if_block_2(ctx)
);
return {
c() {
@ -651,20 +664,20 @@ function create_each_block_3(ctx) {
var _a2;
if ((!current || dirty & /*data*/
1) && raw_value !== (raw_value = /*pi*/
ctx2[10].time.split("-").map(func).join('<div class="xl:inline-block hidden mx-1">-</div>') + ""))
ctx2[11].time.split("-").map(func).join('<div class="xl:inline-block hidden mx-1">-</div>') + ""))
td0.innerHTML = raw_value;
if ((!current || dirty & /*data*/
1) && t1_value !== (t1_value = /*pi*/
ctx2[10].title + ""))
ctx2[11].title + ""))
set_data(t1, t1_value);
if ((!current || dirty & /*data*/
1) && t3_value !== (t3_value = /*pi*/
ctx2[10].speakers ? "― " + /*pi*/
((_a2 = ctx2[10].speakers[0]) == null ? void 0 : _a2.name) : ""))
ctx2[11].speakers ? "― " + /*pi*/
((_a2 = ctx2[11].speakers[0]) == null ? void 0 : _a2.name) : ""))
set_data(t3, t3_value);
if (
/*pi*/
ctx2[10].desc
ctx2[11].desc
) {
if (if_block) {
if_block.p(ctx2, dirty);
@ -708,7 +721,7 @@ function create_each_block_2(ctx) {
let li;
let t_value = (
/*ti*/
ctx[7] + ""
ctx[8] + ""
);
let t;
return {
@ -729,7 +742,7 @@ function create_each_block_2(ctx) {
p(ctx2, dirty) {
if (dirty & /*data*/
1 && t_value !== (t_value = /*ti*/
ctx2[7] + ""))
ctx2[8] + ""))
set_data(t, t_value);
},
d(detaching) {
@ -742,7 +755,7 @@ function create_if_block_1(ctx) {
let div;
let t_value = (
/*tt*/
ctx[4].note + ""
ctx[5].note + ""
);
let t;
return {
@ -768,7 +781,7 @@ function create_if_block_1(ctx) {
p(ctx2, dirty) {
if (dirty & /*data*/
1 && t_value !== (t_value = /*tt*/
ctx2[4].note + ""))
ctx2[5].note + ""))
set_data(t, t_value);
},
d(detaching) {
@ -783,7 +796,7 @@ function create_if_block(ctx) {
let current;
sveltemarkdown = new SvelteMarkdown({ props: { source: (
/*tt*/
ctx[4].hint
ctx[5].hint
) } });
return {
c() {
@ -811,7 +824,7 @@ function create_if_block(ctx) {
if (dirty & /*data*/
1)
sveltemarkdown_changes.source = /*tt*/
ctx2[4].hint;
ctx2[5].hint;
sveltemarkdown.$set(sveltemarkdown_changes);
},
i(local) {
@ -836,14 +849,14 @@ function create_each_block_1(ctx) {
let div0;
let t0_value = (
/*tt*/
ctx[4].title + ""
ctx[5].title + ""
);
let t0;
let t1;
let div1;
let t2_value = (
/*tt*/
ctx[4].price + ""
ctx[5].price + ""
);
let t2;
let t3;
@ -854,7 +867,7 @@ function create_each_block_1(ctx) {
let current;
let each_value_2 = (
/*tt*/
ctx[4].includes
ctx[5].includes
);
let each_blocks = [];
for (let i = 0; i < each_value_2.length; i += 1) {
@ -862,11 +875,11 @@ function create_each_block_1(ctx) {
}
let if_block0 = (
/*tt*/
ctx[4].note && create_if_block_1(ctx)
ctx[5].note && create_if_block_1(ctx)
);
let if_block1 = (
/*tt*/
ctx[4].hint && create_if_block(ctx)
ctx[5].hint && create_if_block(ctx)
);
return {
c() {
@ -949,16 +962,16 @@ function create_each_block_1(ctx) {
p(ctx2, dirty) {
if ((!current || dirty & /*data*/
1) && t0_value !== (t0_value = /*tt*/
ctx2[4].title + ""))
ctx2[5].title + ""))
set_data(t0, t0_value);
if ((!current || dirty & /*data*/
1) && t2_value !== (t2_value = /*tt*/
ctx2[4].price + ""))
ctx2[5].price + ""))
set_data(t2, t2_value);
if (dirty & /*data*/
1) {
each_value_2 = /*tt*/
ctx2[4].includes;
ctx2[5].includes;
let i;
for (i = 0; i < each_value_2.length; i += 1) {
const child_ctx = get_each_context_2(ctx2, each_value_2, i);
@ -977,7 +990,7 @@ function create_each_block_1(ctx) {
}
if (
/*tt*/
ctx2[4].note
ctx2[5].note
) {
if (if_block0) {
if_block0.p(ctx2, dirty);
@ -992,7 +1005,7 @@ function create_each_block_1(ctx) {
}
if (
/*tt*/
ctx2[4].hint
ctx2[5].hint
) {
if (if_block1) {
if_block1.p(ctx2, dirty);
@ -1040,7 +1053,7 @@ function create_each_block(ctx) {
let div0;
let t0_value = (
/*fi*/
ctx[1].title + ""
ctx[2].title + ""
);
let t0;
let t1;
@ -1050,7 +1063,7 @@ function create_each_block(ctx) {
let current;
sveltemarkdown = new SvelteMarkdown({ props: { source: (
/*fi*/
ctx[1].text
ctx[2].text
) } });
return {
c() {
@ -1097,13 +1110,13 @@ function create_each_block(ctx) {
p(ctx2, dirty) {
if ((!current || dirty & /*data*/
1) && t0_value !== (t0_value = /*fi*/
ctx2[1].title + ""))
ctx2[2].title + ""))
set_data(t0, t0_value);
const sveltemarkdown_changes = {};
if (dirty & /*data*/
1)
sveltemarkdown_changes.source = /*fi*/
ctx2[1].text;
ctx2[2].text;
sveltemarkdown.$set(sveltemarkdown_changes);
},
i(local) {
@ -1769,8 +1782,8 @@ function create_fragment(ctx) {
sveltemarkdown_changes.source = /*data*/
ctx2[0].config.intro;
sveltemarkdown.$set(sveltemarkdown_changes);
if (dirty & /*data*/
1) {
if (dirty & /*animateTopic, data*/
3) {
each_value_4 = /*data*/
ctx2[0].config.themes;
let i;
@ -1985,11 +1998,16 @@ function create_fragment(ctx) {
const func = (x) => x;
function instance($$self, $$props, $$invalidate) {
let { data } = $$props;
function animateTopic(el) {
for (const e of el.target.getElementsByClassName("animate-topic")) {
animateText({ target: e });
}
}
$$self.$$set = ($$props2) => {
if ("data" in $$props2)
$$invalidate(0, data = $$props2.data);
};
return [data];
return [data, animateTopic];
}
class Page extends SvelteComponent {
constructor(options) {

View file

@ -900,9 +900,9 @@ const __vitePreload = function preload(baseModule, deps, importerUrl) {
};
const matchers = {};
const nodes = [
() => __vitePreload(() => import("./chunks/0-480f94ba.js"), true ? ["./chunks/0-480f94ba.js","./chunks/_layout-68f6d432.js","./components/pages/_layout.svelte-903c3b1e.js","./chunks/index-858fda85.js","./chunks/helpers-3c288985.js","./assets/_layout-a1a19efe.css"] : void 0, import.meta.url),
() => __vitePreload(() => import("./chunks/0-d0a6196e.js"), true ? ["./chunks/0-d0a6196e.js","./chunks/_layout-68f6d432.js","./components/pages/_layout.svelte-2f842b9f.js","./chunks/index-858fda85.js","./chunks/helpers-a9b07fa3.js","./assets/_layout-59390a36.css"] : void 0, import.meta.url),
() => __vitePreload(() => import("./chunks/1-a708a445.js"), true ? ["./chunks/1-a708a445.js","./components/error.svelte-b9497535.js","./chunks/index-858fda85.js","./chunks/singletons-1811cedd.js"] : void 0, import.meta.url),
() => __vitePreload(() => import("./chunks/2-d7ff8fbe.js"), true ? ["./chunks/2-d7ff8fbe.js","./components/pages/_page.svelte-86a982db.js","./chunks/index-858fda85.js","./chunks/helpers-3c288985.js"] : void 0, import.meta.url)
() => __vitePreload(() => import("./chunks/2-c0e96414.js"), true ? ["./chunks/2-c0e96414.js","./components/pages/_page.svelte-faad47a7.js","./chunks/index-858fda85.js","./chunks/helpers-a9b07fa3.js"] : void 0, import.meta.url)
];
const server_loads = [];
const dictionary = {

View file

@ -1 +1 @@
{"version":"1676550439332"}
{"version":"1676578882700"}

View file

@ -6,15 +6,15 @@
<meta name="viewport" content="width=device-width" />
<meta name="theme-color" content="#000000" />
<meta http-equiv="content-security-policy" content="">
<link href="./_app/immutable/assets/_layout-a1a19efe.css" rel="stylesheet">
<link rel="modulepreload" href="./_app/immutable/start-59f2b3ac.js">
<link href="./_app/immutable/assets/_layout-59390a36.css" rel="stylesheet">
<link rel="modulepreload" href="./_app/immutable/start-cbc8d0d8.js">
<link rel="modulepreload" href="./_app/immutable/chunks/index-858fda85.js">
<link rel="modulepreload" href="./_app/immutable/chunks/singletons-1811cedd.js">
<link rel="modulepreload" href="./_app/immutable/components/pages/_layout.svelte-903c3b1e.js">
<link rel="modulepreload" href="./_app/immutable/chunks/helpers-3c288985.js">
<link rel="modulepreload" href="./_app/immutable/components/pages/_layout.svelte-2f842b9f.js">
<link rel="modulepreload" href="./_app/immutable/chunks/helpers-a9b07fa3.js">
<link rel="modulepreload" href="./_app/immutable/modules/pages/_layout.js-23db4802.js">
<link rel="modulepreload" href="./_app/immutable/chunks/_layout-68f6d432.js">
<link rel="modulepreload" href="./_app/immutable/components/pages/_page.svelte-86a982db.js"><title>Web3Privacy Prague 2023 | 5. June 2023</title><!-- HEAD_svelte-1v6y0me_START --><meta name="description" content="June 5, 2023 - A lunarpunk conference focused on privacy in the Web3 industry as a complement to the Web3Privacy Now research."><meta name="twitter:card" content="summary"><meta name="twitter:site" content="@web3privacy"><meta name="twitter:title" content="Web3Privacy Prague 2023"><meta name="twitter:description" content="June 5, 2023 - A lunarpunk conference focused on privacy in the Web3 industry as a complement to the Web3Privacy Now research."><meta name="twitter:image" content="https://prague.web3privacy.info/web3privacy.png"><!-- HEAD_svelte-1v6y0me_END -->
<link rel="modulepreload" href="./_app/immutable/components/pages/_page.svelte-faad47a7.js"><title>Web3Privacy Prague 2023 | 5. June 2023</title><!-- HEAD_svelte-1v6y0me_START --><meta name="description" content="June 5, 2023 - A lunarpunk conference focused on privacy in the Web3 industry as a complement to the Web3Privacy Now research."><meta name="twitter:card" content="summary"><meta name="twitter:site" content="@web3privacy"><meta name="twitter:title" content="Web3Privacy Prague 2023"><meta name="twitter:description" content="June 5, 2023 - A lunarpunk conference focused on privacy in the Web3 industry as a complement to the Web3Privacy Now research."><meta name="twitter:image" content="https://prague.web3privacy.info/web3privacy.png"><!-- HEAD_svelte-1v6y0me_END -->
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents">
@ -26,7 +26,7 @@
<div class="hidden md:block"><a class="hover:underline" href="#about">ABOUT</a></div><div class="hidden md:block"><a class="hover:underline" href="#speakers">SPEAKERS</a></div><div class="hidden md:block"><a class="hover:underline" href="#program">PROGRAM</a></div><div class="hidden md:block"><a class="hover:underline" href="#sponsors">SPONSORS</a></div><div class="hidden md:block"><a class="button" href="#ticket">TICKET</a></div></div></div></div>
</div>
<div class="w-full h-screen"><div class="w-full h-full flex items-center text-center"><div class="mx-auto px-4"><div class="text-5xl md:text-8xl font-bold mb-4 md:mb-8 animation-crypt">WEB3PRIVACY SUMMIT #1</div>
<div class="w-full h-screen" id="homepage"><div class="w-full h-full flex items-center text-center"><div class="mx-auto px-4"><div class="text-5xl md:text-8xl font-bold mb-4 md:mb-8 animation-crypt">WEB3PRIVACY SUMMIT #1</div>
<div class="text-3xl md:text-5xl md:mb-4 uppercase"><span class="">5. June 2023</span> @ <a href="https://goo.gl/maps/VCSC7wcNueEKgt996" target="_blank" class="underline hover:no-underline">X10, Prague</a></div>
<div class="mt-8 text-lg text-mild mx-4"><p class="">Diving into the culture of the Web3 privacy industry</p>
<p><a href="http://prgblockweek.com/" target="_blank" class="underline hover:no-underline external external-mild">Prague Blockchain Week 2023</a></p></div></div></div></div>
@ -35,56 +35,56 @@
<div class="bg-black" id="about"><div class="middle-pane-medium pb-16 text-xl text-center mx-auto"><div class="py-16 md:py-32 md:w-2/3 mx-auto markdown"><p>We need to protect our privacy, and that's why we're coming together on June 5 to Prague to sit down and discuss different aspects of privacy in the Web3 industry - how we can help shape it and make it more accessible - building a shared culture. The conference complements the research project <a href="http://web3privacy.info/">Web3Privacy Now</a> and was created by joining forces with the production team of the privacy hackathon <a href="https://ethbrno.cz/">ETHBrno</a>.</p></div>
<div class="section-header">Key themes</div>
<div class="grid md:grid-cols-3 gap-4 md:gap-10"><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Human rights DAOs (pro-privacy)</div>
<div class="grid md:grid-cols-3 gap-4 md:gap-10"><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">HUMAN RIGHTS DAOS (PRO-PRIVACY)</div>
<div class="mt-4 text-lg markdown"></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Identity (ID)</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">IDENTITY (ID)</div>
<div class="mt-4 text-lg markdown"></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Mixnets → Full-Stack Privacy</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">MIXNETS → FULL-STACK PRIVACY</div>
<div class="mt-4 text-lg markdown"><p>Imagine a Full-Stack Privacy -> how would it even look alike!</p></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Private messaging protocols</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">PRIVATE MESSAGING PROTOCOLS</div>
<div class="mt-4 text-lg markdown"><p>We need resilient privacy-preserving, p2p communication layers for Web3, that allows free and uncensored human-to-human, machine-to-machine or hybrid communication.</p></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Solarpunk vs Lunarpunk</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">SOLARPUNK VS LUNARPUNK</div>
<div class="mt-4 text-lg markdown"><p>For solarpunk to succeed it must integrate the lunarpunk unconscious. The only hope for solarpunk is to <a href="https://www.egirlcapital.com/writings/107533289">go dark</a>. Do you agree?</p></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Cryptography</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">CRYPTOGRAPHY</div>
<div class="mt-4 text-lg markdown"></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Tech journalists</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">TECH JOURNALISTS</div>
<div class="mt-4 text-lg markdown"><p>Ethical crypto vs global cyberwars agenda</p></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Privacy wars</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">PRIVACY WARS</div>
<div class="mt-4 text-lg markdown"><p>Why are privacy-blockchain socials so toxic? We should stop hating each other &amp; work together</p></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Privacy workforce</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">PRIVACY WORKFORCE</div>
<div class="mt-4 text-lg markdown"></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Privacy activist's</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">PRIVACY ACTIVIST'S</div>
<div class="mt-4 text-lg markdown"></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">R&amp;D (ZK, MPC)</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">R&amp;D (ZK, MPC)</div>
<div class="mt-4 text-lg markdown"></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Network states (with a privacy focus)</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">NETWORK STATES (WITH A PRIVACY FOCUS)</div>
<div class="mt-4 text-lg markdown"><p>The network state-as-a-grassroots movement</p></div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl uppercase">Veksl</div>
</div><div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"><div class="text-2xl animate-topic">VEKSL</div>
<div class="mt-4 text-lg markdown"><p>Easy onboarding to cryptocurrencies without KYC/AML using peer-to-peer tools is crucial for privacy. What options do we have today?</p></div>
</div></div></div></div>
<div class="" id="speakers"><div class="middle-pane-medium pt-16 text-xl text-center mx-auto"><div class="section-header">Speakers</div>
<div class="mx-auto"><div class="pb-16 flex flex-wrap justify-center gap-6"><div class="hover:bg-white hover:text-black p-2 w-2/3 sm:w-64 person-item"><div><a href="https://twitter.com/GuyZys" target="_blank"><img src="/people/guy-zyskind.jpeg" class="grayscale invert aspect-square object-cover w-full"></a></div>
<div class="mt-4 speaker-name animate-speaker">Guy Zyskind</div>
<div class="mt-4 speaker-name animate-speaker">GUY ZYSKIND</div>
<div class="text-base text-mild"><a href="https://twitter.com/GuyZys" class="hover:underline animate-speaker">@GuyZys</a></div>
<div class="mt-2 text-base text-supermild"><p>Founder of <a href="https://scrt.network/">Secret Network</a>, CEO SCRT Labs</p></div>
</div><div class="hover:bg-white hover:text-black p-2 w-2/3 sm:w-64 person-item"><div><a href="https://twitter.com/jurbed" target="_blank"><img src="/people/juraj-bednar.jpeg" class="grayscale invert aspect-square object-cover w-full"></a></div>
<div class="mt-4 speaker-name animate-speaker">Juraj Bednar</div>
<div class="mt-4 speaker-name animate-speaker">JURAJ BEDNAR</div>
<div class="text-base text-mild"><a href="https://twitter.com/jurbed" class="hover:underline animate-speaker">@jurbed</a></div>
<div class="mt-2 text-base text-supermild"><p>Educator, writer, cryptoanarchist &amp; biohacker</p></div>
</div><div class="hover:bg-white hover:text-black p-2 w-2/3 sm:w-64 person-item"><div><a href="https://twitter.com/TMIYChao" target="_blank"><img src="/people/mario-havel.jpeg" class="grayscale invert aspect-square object-cover w-full"></a></div>
<div class="mt-4 speaker-name animate-speaker">Mario Havel</div>
<div class="mt-4 speaker-name animate-speaker">MARIO HAVEL</div>
<div class="text-base text-mild"><a href="https://twitter.com/TMIYChao" class="hover:underline animate-speaker">@TMIYChao</a></div>
<div class="mt-2 text-base text-supermild"><p>Hacker, Co-Founder of <a href="https://bordel.paralelnipolis.cz/#/">Bordel Hackerspace</a></p></div>
</div></div></div></div></div>
<div id="hosts"><div class="middle-pane-medium pt-0 text-xl text-center mx-auto"><div class="section-header">Hosts</div>
<div class="mx-auto"><div class="pb-16 flex flex-wrap justify-center gap-6"><div class="hover:bg-white hover:text-black p-2 w-2/3 sm:w-48 person-item"><div><a href="https://twitter.com/nicksvyaznoy" target="_blank"><img src="/people/mykola.png" class="grayscale invert aspect-square object-cover w-full"></a></div>
<div class="mt-4 speaker-name animate-speaker">Mykola Siusko</div>
<div class="mt-4 speaker-name animate-speaker">MYKOLA SIUSKO</div>
<div class="text-base text-mild"><a href="https://twitter.com/nicksvyaznoy" class="hover:underline animate-speaker">@nicksvyaznoy</a></div>
<div class="mt-2 text-base text-supermild"><p>Web3 privacy advocate</p></div>
</div><div class="hover:bg-white hover:text-black p-2 w-2/3 sm:w-48 person-item"><div><a href="https://twitter.com/treecz" target="_blank"><img src="/people/tree.jpeg" class="grayscale invert aspect-square object-cover w-full"></a></div>
<div class="mt-4 speaker-name animate-speaker">Tree</div>
<div class="mt-4 speaker-name animate-speaker">TREE</div>
<div class="text-base text-mild"><a href="https://twitter.com/treecz" class="hover:underline animate-speaker">@treecz</a></div>
<div class="mt-2 text-base text-supermild"><p>Creator of lunarpunk hackathons &amp; events</p></div>
</div></div></div></div></div>
@ -178,14 +178,14 @@
<div class="mt-4 text-supermild"><p>This web is built with <a href="https://kit.svelte.dev/">SvelteKit</a> and is <a href="https://github.com/web3privacy/w3ps1">open-source</a> under CC0 license</p></div></div></div></div></footer></div>
<script type="module" data-sveltekit-hydrate="1972ykl">
import { start } from "./_app/immutable/start-59f2b3ac.js";
<script type="module" data-sveltekit-hydrate="dsruso">
import { start } from "./_app/immutable/start-cbc8d0d8.js";
start({
assets: "",
env: {},
target: document.querySelector('[data-sveltekit-hydrate="1972ykl"]').parentNode,
version: "1676550439332",
target: document.querySelector('[data-sveltekit-hydrate="dsruso"]').parentNode,
version: "1676578882700",
hydrate: {
node_ids: [0, 2],
data: [{type:"data",data:null,uses:{}},null],