@ -22,6 +22,7 @@
const param = new URLSearchParams($querystring);
const param = new URLSearchParams($querystring);
let ca = param.get("ca");
let ca = param.get("ca");
let go_back = true;
let go_back = true;
let wait = false;
let top;
let top;
const api_url = import.meta.env.PROD
const api_url = import.meta.env.PROD
@ -29,6 +30,7 @@
: "http://192.168.192.2:3031/api/v1/";
: "http://192.168.192.2:3031/api/v1/";
async function register() {
async function register() {
wait = true;
const opts = {
const opts = {
method: "get",
method: "get",
};
};
@ -46,6 +48,7 @@
await success(result);
await success(result);
}
}
} catch (e) {
} catch (e) {
wait = false;
error = e.message;
error = e.message;
}
}
}
}
@ -60,6 +63,7 @@
let window_api = await import("@tauri-apps/plugin-window");
let window_api = await import("@tauri-apps/plugin-window");
let main = window_api.Window.getByLabel("main");
let main = window_api.Window.getByLabel("main");
if (main) {
if (main) {
wait = true;
await main.emit("error", result);
await main.emit("error", result);
} else {
} else {
await window_api.getCurrent().close();
await window_api.getCurrent().close();
@ -70,6 +74,7 @@
go_back = false;
go_back = false;
window.location.href = result.url;
window.location.href = result.url;
} else {
} else {
wait = true;
window.history.go(-1);
window.history.go(-1);
}
}
}
}
@ -103,63 +108,131 @@
};
};
< / script >
< / script >
< main class = "container3" bind:this = { top } >
{ #if wait }
< div class = "row" >
< div class = " max-w-6xl lg:px-8 mx-auto px-4 text-primary-700" >
< Logo class = "logo block h-24" alt = "NextGraph Logo" / >
Please wait...
{ #if domain == "nextgraph.eu" }
< svg
< EULogo
class="animate-spin mt-10 h-14 w-14 mx-auto"
class="logo block h-20"
xmlns="http://www.w3.org/2000/svg"
style="margin-top: 0.5em;"
fill="none"
alt="European Union Logo"
stroke="currentColor"
viewBox="0 0 24 24"
>
< circle
class="opacity-25"
cx="12"
cy="12"
r="10"
stroke="currentColor"
stroke-width="4"
/>
/>
{ /if }
< path
class="opacity-75"
fill="currentColor"
d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
/>
< / svg >
< / div >
< / div >
{ #if error }
{ : else }
< div class = " max-w-6xl lg:px-8 mx-auto px-4 text-red-800" >
< main class = "container3" bind:this = { top } >
< svg
< div class = "row" >
class="animate-bounce mt-10 h-16 w-16 mx-auto"
< Logo class = "logo block h-24" alt = "NextGraph Logo" / >
fill="none"
{ #if domain == "nextgraph.eu" }
stroke="currentColor"
< EULogo
stroke-width="1.5"
class="logo block h-20"
viewBox="0 0 24 24"
style="margin-top: 0.5em;"
xmlns="http://www.w3.org/2000/svg"
alt="European Union Logo"
aria-hidden="true"
>
< path
stroke-linecap="round"
stroke-linejoin="round"
d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"
/>
/>
< / svg >
< p class = "max-w-xl md:mx-auto lg:max-w-2xl mb-5" >
An error occurred while registering on this broker:< br /> { error }
< / p >
{ #if go_back }
< button
on:click| once={ close }
class="text-white bg-primary-700 hover:bg-primary-700/90 focus:ring-4 focus:outline-none focus:ring-primary-700/50 font-medium rounded-lg text-lg px-5 py-2.5 text-center inline-flex items-center dark:focus:ring-primary-700/55 mb-2"
>
Go back
< / button >
{ /if }
{ /if }
< / div >
< / div >
{ : else }
{ #if error }
{ #if ca }
< div class = " max-w-6xl lg:px-8 mx-auto px-4 text-red-800" >
< div class = " max-w-6xl lg:px-8 mx-auto px-4" >
< svg
< p class = "max-w-xl md:mx-auto lg:max-w-2xl" >
class="animate-bounce mt-10 h-16 w-16 mx-auto"
You would like to choose < b > { domain } </ b > as your Broker Service
fill="none"
Provider.< br / > Please read carefully the Terms of Service here below,
stroke="currentColor"
before accepting them.
stroke-width="1.5"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
>
< path
stroke-linecap="round"
stroke-linejoin="round"
d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"
/>
< / svg >
< p class = "max-w-xl md:mx-auto lg:max-w-2xl mb-5" >
An error occurred while registering on this broker:< br /> { error }
< / p >
< / p >
{ #if go_back }
< button
on:click| once={ close }
class="text-white bg-primary-700 hover:bg-primary-700/90 focus:ring-4 focus:outline-none focus:ring-primary-700/50 font-medium rounded-lg text-lg px-5 py-2.5 text-center inline-flex items-center dark:focus:ring-primary-700/55 mb-2"
>
Go back
< / button >
{ /if }
< / div >
< / div >
{ /if }
{ : else }
< div class = "px-4 pt-5 mx-auto max-w-6xl lg:px-8 lg:pt-10 dark:bg-slate-800" >
{ #if ca }
< div class = "max-w-xl md:mx-auto sm:text-center lg:max-w-2xl" >
< div class = " max-w-6xl lg:px-8 mx-auto px-4" >
< h2 class = "pb-5 text-xl" > { domain } Terms of Service</ h2 >
< p class = "max-w-xl md:mx-auto lg:max-w-2xl" >
You would like to choose < b > { domain } </ b > as your Broker Service
Provider.< br / > Please read carefully the Terms of Service here
below, before accepting them.
< / p >
< / div >
{ /if }
< div
class="px-4 pt-5 mx-auto max-w-6xl lg:px-8 lg:pt-10 dark:bg-slate-800"
>
< div class = "max-w-xl md:mx-auto sm:text-center lg:max-w-2xl" >
< h2 class = "pb-5 text-xl" > { domain } Terms of Service</ h2 >
< ul class = "mb-8 space-y-4 text-left text-gray-500 dark:text-gray-400" >
< ul class = "mb-8 space-y-4 text-left text-gray-500 dark:text-gray-400" >
{ #if domain == "nextgraph.eu" }
{ #if domain == "nextgraph.eu" }
< li class = "flex space-x-3" >
< svg
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400"
fill="none"
stroke="currentColor"
stroke-width="1.5"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
>
< path
stroke-linecap="round"
stroke-linejoin="round"
d="M20.893 13.393l-1.135-1.135a2.252 2.252 0 01-.421-.585l-1.08-2.16a.414.414 0 00-.663-.107.827.827 0 01-.812.21l-1.273-.363a.89.89 0 00-.738 1.595l.587.39c.59.395.674 1.23.172 1.732l-.2.2c-.212.212-.33.498-.33.796v.41c0 .409-.11.809-.32 1.158l-1.315 2.191a2.11 2.11 0 01-1.81 1.025 1.055 1.055 0 01-1.055-1.055v-1.172c0-.92-.56-1.747-1.414-2.089l-.655-.261a2.25 2.25 0 01-1.383-2.46l.007-.042a2.25 2.25 0 01.29-.787l.09-.15a2.25 2.25 0 012.37-1.048l1.178.236a1.125 1.125 0 001.302-.795l.208-.73a1.125 1.125 0 00-.578-1.315l-.665-.332-.091.091a2.25 2.25 0 01-1.591.659h-.18c-.249 0-.487.1-.662.274a.931.931 0 01-1.458-1.137l1.411-2.353a2.25 2.25 0 00.286-.76m11.928 9.869A9 9 0 008.965 3.525m11.928 9.868A9 9 0 118.965 3.525"
/>
< / svg >
< span
>Our servers are located in Germany, and we comply with the
GDPR regulation.< /span
>
< / li >
< li class = "flex space-x-3" >
< svg
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400"
fill="none"
stroke="currentColor"
stroke-width="1.5"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
>
< path
stroke-linecap="round"
stroke-linejoin="round"
d="M11.35 3.836c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m8.9-4.414c.376.023.75.05 1.124.08 1.131.094 1.976 1.057 1.976 2.192V16.5A2.25 2.25 0 0118 18.75h-2.25m-7.5-10.5H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V18.75m-7.5-10.5h6.375c.621 0 1.125.504 1.125 1.125v9.375m-8.25-3l1.5 1.5 3-3.75"
/>
< / svg >
< span > legal details about GDPR... TBD< / span >
< / li >
{ /if }
< li class = "flex space-x-3" >
< li class = "flex space-x-3" >
< svg
< svg
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400"
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400"
@ -173,12 +246,14 @@
< path
< path
stroke-linecap="round"
stroke-linecap="round"
stroke-linejoin="round"
stroke-linejoin="round"
d="M20.893 13.393l-1.135-1.135a2.252 2.252 0 01-.421-.585l-1.08-2.16a.414.414 0 00-.663-.107.827.827 0 01-.812.21l-1.273-.363a.89.89 0 00-.738 1.595l.587.39c.59.395.674 1.23.172 1.732l-.2.2c-.212.212-.33.498-.33.796v.41c0 .409-.11.809-.32 1.158l-1.315 2.191a2.11 2.11 0 01-1.81 1.025 1.055 1.055 0 01-1.055-1.055v-1.172c0-.92-.56-1.747-1.414-2.089l-.655-.261a2.25 2.25 0 01-1.383-2.46l.007-.042a2.25 2.25 0 01.29-.787l.09-.15a2.25 2.25 0 012.37-1.048l1.178.236a1.125 1.125 0 001.302-.795l.208-.73a1.125 1.125 0 00-.578-1.315l-.665-.332-.091.091a2.25 2.25 0 01-1.591.659h-.18c-.249 0-.487.1-.662.274a.931.931 0 01-1.458-1.137l1.411-2.353a2.25 2.25 0 00.286-.76m11.928 9.869A9 9 0 008.965 3.525m11.928 9.868A9 9 0 118.965 3.525 "
d="M15.75 5.25a3 3 0 013 3m3 0a6 6 0 01-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1121.75 8.25z "
/>
/>
< / svg >
< / svg >
< span
< span
>Our servers are located in Germany, and we comply with the GDPR
>All the data you exchange with us while using the broker is
regulation.< /span
end-to-end encrypted and we do not have access to your
decryption keys, meaning that we cannot see the content of your
documents.< /span
>
>
< / li >
< / li >
< li class = "flex space-x-3" >
< li class = "flex space-x-3" >
@ -194,93 +269,87 @@
< path
< path
stroke-linecap="round"
stroke-linecap="round"
stroke-linejoin="round"
stroke-linejoin="round"
d="M11.35 3.836c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m8.9-4.414c.376.023.75.05 1.124.08 1.131.094 1.976 1.057 1.976 2.192V16.5A2.25 2.25 0 0118 18.75h-2.25m-7.5-10.5H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V18.75m-7.5-10.5h6.375c.621 0 1.125.504 1.125 1.125v9.375m-8.25-3l1.5 1.5 3-3.75 "
d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88 "
/>
/>
< / svg >
< / svg >
< span > legal details about GDPR... TBD< / span >
< span
>We do not log any private information about you (nor IP, nor
country, nor statistics of any kind). Only your UserId is kept,
together with the list of devices (clientId) you use to connect
to the broker. We collect general purpose information about your
device (OS version, browser version, and if you use the app, the
version and date of last update). We do not have access to any
unique tracking identifier of your device (like Android MAID or
iPhone IDFA). We could nevertheless be asked by law enforcement
authorities, depending on the jurisdiction of the server, to log
the IP you use when connecting to the broker, and/or to provide
them with the encrypted content you have stored on our servers.
If you prefer to avoid that eventually, please refrain from any
illegal activity while using this broker.< /span
>
< / li >
< / li >
{ /if }
< li class = "flex space-x-3" >
< li class = "flex space-x-3" >
< svg
< svg
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400"
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400"
fill="none"
fill="none"
stroke="currentColor"
stroke="currentColor"
stroke-width="1.5"
stroke-width="1.5"
viewBox="0 0 24 24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
aria-hidden="true"
>
>
< path
< path
stroke-linecap="round"
stroke-linecap="round"
stroke-linejoin="round"
stroke-linejoin="round"
d="M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
d="M15.75 5.25a3 3 0 013 3m3 0a6 6 0 01-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1121.75 8.25z"
/>
/>
< / svg >
< / svg >
< span >
< span
You can delete your account with us at any time by going to the
>All the data you exchange with us while using the broker is
link < a target = "_blank" href = "https://account. { domain } /#/delete"
end-to-end encrypted and we do not have access to your decryption
>https://account.{ domain } /#/delete< /a
keys, meaning that we cannot see the content of your documents.< /span
> or by entering in your NextGraph application and selecting the
>
menu, then Accounts, then under broker "delete registration"< /span
< / li >
>
< li class = "flex space-x-3" >
< / li >
< svg
< li class = "flex space-x-3" >
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400"
< svg
fill="none"
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400"
stroke="currentColor"
fill="none"
stroke-width="1.5"
stroke="currentColor"
viewBox="0 0 24 24"
stroke-width="1.5"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
>
aria-hidden="true"
< path
>
stroke-linecap="round"
< path
stroke-linejoin="round"
stroke-linecap="round"
d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"
stroke-linejoin="round"
/>
d="M14.25 7.756a4.5 4.5 0 100 8.488M7.5 10.5h5.25m-5.25 3h5.25M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
< / svg >
/>
< span
< / svg >
>We do not log any private information about you (nor IP, nor
< span
country, nor statistics of any kind). Only your UserId is kept,
>Registration is free of charge. And it would be very nice of
together with the list of devices (clientId) you use to connect to
you if you wanted to donate a small amount to help us cover the
the broker. We collect general purpose information about your
fees we have to pay for operating the servers. Here is the
device (OS version, browser version, and if you use the app, the
donation link: < a
version and date of last update). We do not have access to any
target="_blank"
unique tracking identifier of your device (like Android MAID or
href="https://nextgraph.org/donate"
iPhone IDFA). We could nevertheless be asked by law enforcement
>https://nextgraph.org/donate< /a
authorities, depending on the jurisdiction of the server, to log
>
the IP you use when connecting to the broker, and/or to provide
< / span >
them with the encrypted content you have stored on our servers. If
< / li >
you prefer to avoid that eventually, please refrain from any
< / ul >
illegal activity while using this broker.< /span
< / div >
>
< / div >
< / li >
{ #if ca }
< li class = "flex space-x-3" >
< div class = "row mb-20" >
< svg
< button
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400"
on:click| once={ accept }
fill="none"
class="mr-5 text-white bg-primary-700 hover:bg-primary-700/90 focus:ring-4 focus:outline-none focus:ring-primary-700/50 font-medium rounded-lg text-lg px-5 py-2.5 text-center inline-flex items-center dark:focus:ring-primary-700/55 mb-2"
stroke="currentColor"
>
stroke-width="1.5"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
>
< path
stroke-linecap="round"
stroke-linejoin="round"
d="M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
/>
< / svg >
< span >
You can delete your account with us at any time by going to the
link < a target = "_blank" href = "https://account. { domain } /#/delete"
>https://account.{ domain } /#/delete< /a
> or by entering in your NextGraph application and selecting the menu,
then Accounts, then under broker "delete registration"< /span
>
< / li >
< li class = "flex space-x-3" >
< svg
< svg
class="flex-shrink-0 w-5 h-5 text-green-500 dark:text-green-400 "
class="w-8 h-8 mr-2 -ml-1"
fill="none"
fill="none"
stroke="currentColor"
stroke="currentColor"
stroke-width="1.5"
stroke-width="1.5"
@ -291,51 +360,19 @@
< path
< path
stroke-linecap="round"
stroke-linecap="round"
stroke-linejoin="round"
stroke-linejoin="round"
d="M14.25 7.756a4.5 4.5 0 100 8.488M7.5 10.5h5.25m-5.25 3h5.25M21 12a9 9 0 11-18 0 9 9 0 0118 0 z"
d="M19 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zM4 19.235v-.11a6.375 6.375 0 0112.75 0v.109A12.318 12.318 0 0110.374 21c-2.331 0-4.512-.645-6.374-1.766 z"
/>
/>
< / svg >
< / svg >
< span
I accept
>Registration is free of charge. And it would be very nice of you
< / button >
if you wanted to donate a small amount to help us cover the fees
< button
we have to pay for operating the servers. Here is the donation
on:click| once={ refuse }
link: < a target = "_blank" href = "https://nextgraph.org/donate"
class="text-primary-700 bg-primary-100 hover:bg-primary-100/90 focus:ring-4 focus:outline-none focus:ring-primary-100/50 font-medium rounded-lg text-lg px-5 py-2.5 text-center inline-flex items-center dark:focus:ring-primary-100/55 mr-2 mb-2"
>https://nextgraph.org/donate< /a
>
< / span >
< / li >
< / ul >
< / div >
< / div >
{ #if ca }
< div class = "row mb-20" >
< button
on:click| once={ accept }
class="mr-5 text-white bg-primary-700 hover:bg-primary-700/90 focus:ring-4 focus:outline-none focus:ring-primary-700/50 font-medium rounded-lg text-lg px-5 py-2.5 text-center inline-flex items-center dark:focus:ring-primary-700/55 mb-2"
>
< svg
class="w-8 h-8 mr-2 -ml-1"
fill="none"
stroke="currentColor"
stroke-width="1.5"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
>
>
< path
I refuse
stroke-linecap="round"
< / button >
stroke-linejoin="round"
< / div >
d="M19 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zM4 19.235v-.11a6.375 6.375 0 0112.75 0v.109A12.318 12.318 0 0110.374 21c-2.331 0-4.512-.645-6.374-1.766z"
{ /if }
/>
< / svg >
I accept
< / button >
< button
on:click| once={ refuse }
class="text-primary-700 bg-primary-100 hover:bg-primary-100/90 focus:ring-4 focus:outline-none focus:ring-primary-100/50 font-medium rounded-lg text-lg px-5 py-2.5 text-center inline-flex items-center dark:focus:ring-primary-100/55 mr-2 mb-2"
>
I refuse
< / button >
< / div >
{ /if }
{ /if }
{ /if }
< / main >
< / main >
{ /if }