✨ Switched to plausible-tracker and removed node-fetch
This commit is contained in:
@@ -52,7 +52,7 @@
|
|||||||
"js-cookie": "^3.0.1",
|
"js-cookie": "^3.0.1",
|
||||||
"luxon": "^2.4.0",
|
"luxon": "^2.4.0",
|
||||||
"mapbox-gl": "^2.8.2",
|
"mapbox-gl": "^2.8.2",
|
||||||
"node-fetch": "^3.2.6",
|
"plausible-tracker": "^0.3.8",
|
||||||
"postcss": "^8.4.14",
|
"postcss": "^8.4.14",
|
||||||
"postcss-load-config": "^4.0.1",
|
"postcss-load-config": "^4.0.1",
|
||||||
"prettier": "^2.6.2",
|
"prettier": "^2.6.2",
|
||||||
|
|||||||
Generated
+25
-74
@@ -40,7 +40,7 @@ specifiers:
|
|||||||
js-cookie: ^3.0.1
|
js-cookie: ^3.0.1
|
||||||
luxon: ^2.4.0
|
luxon: ^2.4.0
|
||||||
mapbox-gl: ^2.8.2
|
mapbox-gl: ^2.8.2
|
||||||
node-fetch: ^3.2.6
|
plausible-tracker: ^0.3.8
|
||||||
postcss: ^8.4.14
|
postcss: ^8.4.14
|
||||||
postcss-load-config: ^4.0.1
|
postcss-load-config: ^4.0.1
|
||||||
prettier: ^2.6.2
|
prettier: ^2.6.2
|
||||||
@@ -70,9 +70,9 @@ devDependencies:
|
|||||||
'@fontsource/marck-script': 4.5.9
|
'@fontsource/marck-script': 4.5.9
|
||||||
'@sentry/browser': 7.1.1
|
'@sentry/browser': 7.1.1
|
||||||
'@sentry/tracing': 7.1.1
|
'@sentry/tracing': 7.1.1
|
||||||
'@sveltejs/adapter-auto': 1.0.0-next.50
|
'@sveltejs/adapter-auto': 1.0.0-next.52
|
||||||
'@sveltejs/adapter-node': 1.0.0-next.78
|
'@sveltejs/adapter-node': 1.0.0-next.78
|
||||||
'@sveltejs/kit': 1.0.0-next.350_sass@1.52.3+svelte@3.48.0
|
'@sveltejs/kit': 1.0.0-next.354_sass@1.52.3+svelte@3.48.0
|
||||||
'@tailwindcss/typography': 0.5.2_tailwindcss@3.1.2
|
'@tailwindcss/typography': 0.5.2_tailwindcss@3.1.2
|
||||||
'@types/cookie': 0.5.1
|
'@types/cookie': 0.5.1
|
||||||
'@types/js-cookie': 3.0.2
|
'@types/js-cookie': 3.0.2
|
||||||
@@ -102,7 +102,7 @@ devDependencies:
|
|||||||
js-cookie: 3.0.1
|
js-cookie: 3.0.1
|
||||||
luxon: 2.4.0
|
luxon: 2.4.0
|
||||||
mapbox-gl: 2.8.2
|
mapbox-gl: 2.8.2
|
||||||
node-fetch: 3.2.6
|
plausible-tracker: 0.3.8
|
||||||
postcss: 8.4.14
|
postcss: 8.4.14
|
||||||
postcss-load-config: 4.0.1_postcss@8.4.14
|
postcss-load-config: 4.0.1_postcss@8.4.14
|
||||||
prettier: 2.6.2
|
prettier: 2.6.2
|
||||||
@@ -487,15 +487,15 @@ packages:
|
|||||||
}
|
}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@sveltejs/adapter-auto/1.0.0-next.50:
|
/@sveltejs/adapter-auto/1.0.0-next.52:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
integrity: sha512-5OkBxw+0Wmq7+Cr0DcOEOTHyOm4VmiWTUsKwMrSc47zcjbXB8n4UvEC0XUtJ5ZSBJRZz7hmVubqH1zm1SANtdw==
|
integrity: sha512-jOuC7RauiwGg7BQQEZxBGcwtwynNqQSuGJ7MJ9kk5WIrFCMrZSclwnpO1yLmUUYFKvJ61Z7bvVoDqm6+CgLEaw==
|
||||||
}
|
}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/adapter-cloudflare': 1.0.0-next.23
|
'@sveltejs/adapter-cloudflare': 1.0.0-next.23
|
||||||
'@sveltejs/adapter-netlify': 1.0.0-next.64
|
'@sveltejs/adapter-netlify': 1.0.0-next.65
|
||||||
'@sveltejs/adapter-vercel': 1.0.0-next.58
|
'@sveltejs/adapter-vercel': 1.0.0-next.59
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- encoding
|
- encoding
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -511,10 +511,10 @@ packages:
|
|||||||
worktop: 0.8.0-next.14
|
worktop: 0.8.0-next.14
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@sveltejs/adapter-netlify/1.0.0-next.64:
|
/@sveltejs/adapter-netlify/1.0.0-next.65:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
integrity: sha512-n2oBAIdv1s4magogcCYbequDmPgOKviNfy40JJ5ZavansboYeaygFri9HcOwcHqrTOmEo3ZDIBoc1UTpbmzMYg==
|
integrity: sha512-81LYVqT0Fez7xqvOdE9ITD7b5kxdzzXjXwJ0ISBfJYt6wqg0fmABm3mcDy3opXau7DoQkhkhnlqkharTHfhJQg==
|
||||||
}
|
}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@iarna/toml': 2.2.5
|
'@iarna/toml': 2.2.5
|
||||||
@@ -532,23 +532,23 @@ packages:
|
|||||||
tiny-glob: 0.2.9
|
tiny-glob: 0.2.9
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@sveltejs/adapter-vercel/1.0.0-next.58:
|
/@sveltejs/adapter-vercel/1.0.0-next.59:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
integrity: sha512-Gw76HhwHh2sWP2RN8jwm4jMmO5rnvvWsPsnAhFRCYlIs6gwKf/mNE/CfTQ1nkqKEm15YEYHjKXRVRjI8BniwxA==
|
integrity: sha512-1lq5IFLWiLUXmNJVUXjwaInDb07BJg5er43xlMilpFpTA9BZI2hqjYCgtdtk7O6ee5EYJk876b2riM1m+y1M4Q==
|
||||||
}
|
}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vercel/nft': 0.19.1
|
'@vercel/nft': 0.20.0
|
||||||
esbuild: 0.14.43
|
esbuild: 0.14.43
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- encoding
|
- encoding
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@sveltejs/kit/1.0.0-next.350_sass@1.52.3+svelte@3.48.0:
|
/@sveltejs/kit/1.0.0-next.354_sass@1.52.3+svelte@3.48.0:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
integrity: sha512-qkZNjp7yIj6t91+wMhmMtGJH0Lb89OaKdVXUDy92CS5/4OHRTKcQPdfOKs4no/upkS3RiFb+rEpOkYqTMcPUXg==
|
integrity: sha512-dTfFT0c3sxztFpiw6H4bQnPd+PtHgEZG6j6ssT9sWLONfzUgWRX0S7H/WoPEjr7u65o2HNazoj8jmEq3ZTwb9g==
|
||||||
}
|
}
|
||||||
engines: { node: '>=16.7' }
|
engines: { node: '>=16.7' }
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -1072,10 +1072,10 @@ packages:
|
|||||||
nanoid: 3.3.4
|
nanoid: 3.3.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vercel/nft/0.19.1:
|
/@vercel/nft/0.20.0:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
integrity: sha512-klR5oN7S3WJsZz0r6Xsq7o8YlFEyU3/00VmlpZzIPVFzKfbcEjXo/sVR5lQBUqNKuOzhcbxaFtzW9aOyHjmPYA==
|
integrity: sha512-+lxsJP/sG4E8UkhfrJC6evkLLfUpZrjXxqEdunr3Q9kiECi8JYBGz6B5EpU1+MmeNnRoSphLcLh/1tI998ye4w==
|
||||||
}
|
}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1709,14 +1709,6 @@ packages:
|
|||||||
css-tree: 1.1.3
|
css-tree: 1.1.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/data-uri-to-buffer/4.0.0:
|
|
||||||
resolution:
|
|
||||||
{
|
|
||||||
integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==
|
|
||||||
}
|
|
||||||
engines: { node: '>= 12' }
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/debug/3.2.7:
|
/debug/3.2.7:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
@@ -2522,17 +2514,6 @@ packages:
|
|||||||
svelte: 3.48.0
|
svelte: 3.48.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/fetch-blob/3.1.5:
|
|
||||||
resolution:
|
|
||||||
{
|
|
||||||
integrity: sha512-N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg==
|
|
||||||
}
|
|
||||||
engines: { node: ^12.20 || >= 14.13 }
|
|
||||||
dependencies:
|
|
||||||
node-domexception: 1.0.0
|
|
||||||
web-streams-polyfill: 3.2.1
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/file-entry-cache/6.0.1:
|
/file-entry-cache/6.0.1:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
@@ -2578,16 +2559,6 @@ packages:
|
|||||||
}
|
}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/formdata-polyfill/4.0.10:
|
|
||||||
resolution:
|
|
||||||
{
|
|
||||||
integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==
|
|
||||||
}
|
|
||||||
engines: { node: '>=12.20.0' }
|
|
||||||
dependencies:
|
|
||||||
fetch-blob: 3.1.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/fraction.js/4.2.0:
|
/fraction.js/4.2.0:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
@@ -3477,14 +3448,6 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/node-domexception/1.0.0:
|
|
||||||
resolution:
|
|
||||||
{
|
|
||||||
integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
|
|
||||||
}
|
|
||||||
engines: { node: '>=10.5.0' }
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/node-fetch/2.6.7:
|
/node-fetch/2.6.7:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
@@ -3500,18 +3463,6 @@ packages:
|
|||||||
whatwg-url: 5.0.0
|
whatwg-url: 5.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/node-fetch/3.2.6:
|
|
||||||
resolution:
|
|
||||||
{
|
|
||||||
integrity: sha512-LAy/HZnLADOVkVPubaxHDft29booGglPFDr2Hw0J1AercRh01UiVFm++KMDnJeH9sHgNB4hsXPii7Sgym/sTbw==
|
|
||||||
}
|
|
||||||
engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
|
|
||||||
dependencies:
|
|
||||||
data-uri-to-buffer: 4.0.0
|
|
||||||
fetch-blob: 3.1.5
|
|
||||||
formdata-polyfill: 4.0.10
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/node-gyp-build/4.4.0:
|
/node-gyp-build/4.4.0:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
@@ -3804,6 +3755,14 @@ packages:
|
|||||||
engines: { node: '>=0.10.0' }
|
engines: { node: '>=0.10.0' }
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/plausible-tracker/0.3.8:
|
||||||
|
resolution:
|
||||||
|
{
|
||||||
|
integrity: sha512-lmOWYQ7s9KOUJ1R+YTOR3HrjdbxIS2Z4de0P/Jx2dQPteznJl2eX3tXxKClpvbfyGP59B5bbhW8ftN59HbbFSg==
|
||||||
|
}
|
||||||
|
engines: { node: '>=10' }
|
||||||
|
dev: true
|
||||||
|
|
||||||
/postcss-calc/8.2.4_postcss@8.4.14:
|
/postcss-calc/8.2.4_postcss@8.4.14:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
@@ -5332,14 +5291,6 @@ packages:
|
|||||||
pbf: 3.2.1
|
pbf: 3.2.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/web-streams-polyfill/3.2.1:
|
|
||||||
resolution:
|
|
||||||
{
|
|
||||||
integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
|
|
||||||
}
|
|
||||||
engines: { node: '>= 8' }
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/webidl-conversions/3.0.1:
|
/webidl-conversions/3.0.1:
|
||||||
resolution:
|
resolution:
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,12 +5,6 @@
|
|||||||
<meta name="description" content="" />
|
<meta name="description" content="" />
|
||||||
<!-- <link rel="icon" href="%sveltekit.assets%/favicon.png" />-->
|
<!-- <link rel="icon" href="%sveltekit.assets%/favicon.png" />-->
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<script
|
|
||||||
async=""
|
|
||||||
defer=""
|
|
||||||
data-domain="classquiz.mawoka.eu"
|
|
||||||
src="https://sugar.mawoka.eu.org/js/plausible.hash.outbound-links.js"
|
|
||||||
></script>
|
|
||||||
<link rel="prefetch" href="https://sugar.mawoka.eu.org/" />
|
<link rel="prefetch" href="https://sugar.mawoka.eu.org/" />
|
||||||
<script>
|
<script>
|
||||||
window.plausible =
|
window.plausible =
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import * as cookie from 'cookie';
|
import * as cookie from 'cookie';
|
||||||
import fetch from 'node-fetch';
|
|
||||||
import Redis from 'ioredis';
|
import Redis from 'ioredis';
|
||||||
|
|
||||||
const redis = new Redis(process.env.REDIS_URL);
|
const redis = new Redis(process.env.REDIS_URL);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { DateTime } from 'luxon';
|
import { DateTime } from 'luxon';
|
||||||
import * as Sentry from '@sentry/browser';
|
import { plausible } from '$lib/stores';
|
||||||
|
|
||||||
const gen_salt = (l: number): string => {
|
const gen_salt = (l: number): string => {
|
||||||
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
||||||
@@ -32,7 +32,8 @@ export const mint = async (
|
|||||||
const challenge = `${ver}:${bits}:${ts}:${resource}:${ext}:${salt}`;
|
const challenge = `${ver}:${bits}:${ts}:${resource}:${ext}:${salt}`;
|
||||||
let counter = 0;
|
let counter = 0;
|
||||||
let result: string;
|
let result: string;
|
||||||
const t0 = performance.now();
|
const t1 = performance.now();
|
||||||
|
|
||||||
// eslint-disable-next-line no-constant-condition
|
// eslint-disable-next-line no-constant-condition
|
||||||
while (true) {
|
while (true) {
|
||||||
const data = new TextEncoder().encode(`${challenge}:${counter.toString(16)}`);
|
const data = new TextEncoder().encode(`${challenge}:${counter.toString(16)}`);
|
||||||
@@ -45,16 +46,7 @@ export const mint = async (
|
|||||||
}
|
}
|
||||||
counter += 1;
|
counter += 1;
|
||||||
}
|
}
|
||||||
const t1 = performance.now();
|
const t2 = performance.now();
|
||||||
const transaction = Sentry.startTransaction({ name: 'calculatedHasCash' });
|
plausible.trackEvent('Hashcash', { props: { ms_taken: t2 - t1 } });
|
||||||
const span = transaction.startChild({
|
|
||||||
op: 'hashcash',
|
|
||||||
data: {
|
|
||||||
milliseconds_taken: t0 - t1,
|
|
||||||
bits: bits
|
|
||||||
}
|
|
||||||
});
|
|
||||||
span.finish();
|
|
||||||
transaction.finish();
|
|
||||||
return `${challenge}:${result}`;
|
return `${challenge}:${result}`;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ export const alertModal = writable({ open: false, title: '', body: '' });
|
|||||||
|
|
||||||
import { goto } from '$app/navigation';
|
import { goto } from '$app/navigation';
|
||||||
import { page } from '$app/stores';
|
import { page } from '$app/stores';
|
||||||
|
import Plausible from 'plausible-tracker';
|
||||||
|
|
||||||
const URLSearchParamsToObject = (params: URLSearchParams) => {
|
const URLSearchParamsToObject = (params: URLSearchParams) => {
|
||||||
const obj = {};
|
const obj = {};
|
||||||
@@ -41,3 +42,9 @@ export const createQueryParamsStore = (key: string) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const plausible = Plausible({
|
||||||
|
domain: 'classquiz.mawoka.eu',
|
||||||
|
apiHost: 'https://sugar.mawoka.eu.org',
|
||||||
|
trackLocalhost: true
|
||||||
|
});
|
||||||
|
|||||||
@@ -18,8 +18,23 @@
|
|||||||
import { initLocalizationContext } from '$lib/i18n';
|
import { initLocalizationContext } from '$lib/i18n';
|
||||||
import { browser } from '$app/env';
|
import { browser } from '$app/env';
|
||||||
import Alert from '$lib/modals/alert.svelte';
|
import Alert from '$lib/modals/alert.svelte';
|
||||||
|
import { plausible } from '$lib/stores';
|
||||||
|
|
||||||
|
/* afterNavigate(() => {
|
||||||
|
if (browser) {
|
||||||
|
if (latestPageVisitURl === window.location.href) {
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
latestPageVisitURl = window.location.href;
|
||||||
|
plausible.trackPageview();
|
||||||
|
}
|
||||||
|
console.log('After nav');
|
||||||
|
}
|
||||||
|
});*/
|
||||||
|
|
||||||
if (browser) {
|
if (browser) {
|
||||||
|
plausible.enableAutoPageviews();
|
||||||
|
plausible.enableAutoOutboundTracking();
|
||||||
pathname.set(window.location.pathname);
|
pathname.set(window.location.pathname);
|
||||||
if (
|
if (
|
||||||
localStorage.theme === 'dark' ||
|
localStorage.theme === 'dark' ||
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
import { DateTime } from 'luxon';
|
import { DateTime } from 'luxon';
|
||||||
import { getLocalization } from '$lib/i18n';
|
import { getLocalization } from '$lib/i18n';
|
||||||
import Footer from '$lib/footer.svelte';
|
import Footer from '$lib/footer.svelte';
|
||||||
import { alertModal, navbarVisible, signedIn } from '$lib/stores';
|
import { alertModal, navbarVisible, signedIn, plausible } from '$lib/stores';
|
||||||
|
|
||||||
interface QuizData {
|
interface QuizData {
|
||||||
id: string;
|
id: string;
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
}
|
}
|
||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
plausible('Started Game', { props: { quiz_id: id } });
|
plausible.trackEvent('Started Game', { props: { quiz_id: id } });
|
||||||
window.location.replace(`/admin?token=${data.game_id}&pin=${data.game_pin}&connect=1`);
|
window.location.replace(`/admin?token=${data.game_id}&pin=${data.game_pin}&connect=1`);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
import ShowTitle from '$lib/play/title.svelte';
|
import ShowTitle from '$lib/play/title.svelte';
|
||||||
import Question from '$lib/play/question.svelte';
|
import Question from '$lib/play/question.svelte';
|
||||||
import ShowResults from '$lib/play/show_results.svelte';
|
import ShowResults from '$lib/play/show_results.svelte';
|
||||||
import { navbarVisible } from '$lib/stores';
|
import { navbarVisible, plausible } from '$lib/stores';
|
||||||
import ShowEndScreen from '$lib/play/end.svelte';
|
import ShowEndScreen from '$lib/play/end.svelte';
|
||||||
|
|
||||||
// Exports
|
// Exports
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
console.log('joined_game', data);
|
console.log('joined_game', data);
|
||||||
gameData = JSON.parse(data);
|
gameData = JSON.parse(data);
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
plausible('Joined Game', { props: { quiz_id: gameData.quiz_id } });
|
plausible.trackEvent('Joined Game', { props: { quiz_id: gameData.quiz_id } });
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on('game_not_found', () => {
|
socket.on('game_not_found', () => {
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
import { createTippy } from 'svelte-tippy';
|
import { createTippy } from 'svelte-tippy';
|
||||||
import 'tippy.js/animations/perspective-subtle.css';
|
import 'tippy.js/animations/perspective-subtle.css';
|
||||||
import 'tippy.js/dist/tippy.css';
|
import 'tippy.js/dist/tippy.css';
|
||||||
|
import { plausible } from '$lib/stores';
|
||||||
|
|
||||||
const tippy = createTippy({
|
const tippy = createTippy({
|
||||||
arrow: true,
|
arrow: true,
|
||||||
@@ -79,7 +80,7 @@
|
|||||||
}
|
}
|
||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
plausible('Started Game', { props: { quiz_id: id } });
|
plausible.trackEvent('Started Game', { props: { quiz_id: id } });
|
||||||
window.location.replace(`/admin?token=${data.game_id}&pin=${data.game_pin}&connect=1`);
|
window.location.replace(`/admin?token=${data.game_id}&pin=${data.game_pin}&connect=1`);
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user