ui: Fix errors after migration
This commit is contained in:
parent
47776eeeb4
commit
d791e74a2a
@ -30,10 +30,7 @@ function createIssuesStore() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
async function refreshFunc(cb=null, interval=null) {
|
||||||
subscribe,
|
|
||||||
|
|
||||||
refresh: async (cb=null, interval=null) => {
|
|
||||||
if (refresh_interval_issues)
|
if (refresh_interval_issues)
|
||||||
clearInterval(refresh_interval_issues);
|
clearInterval(refresh_interval_issues);
|
||||||
if (interval === null) {
|
if (interval === null) {
|
||||||
@ -42,10 +39,15 @@ function createIssuesStore() {
|
|||||||
if (stop_refresh) {
|
if (stop_refresh) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
refresh_interval_issues = setInterval(refresh_issues, interval);
|
refresh_interval_issues = setInterval(refreshFunc, interval);
|
||||||
|
|
||||||
updateFunc(await fetch('issues.json', {headers: {'Accept': 'application/json'}}), cb);
|
updateFunc(await fetch('issues.json', {headers: {'Accept': 'application/json'}}), cb);
|
||||||
},
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
subscribe,
|
||||||
|
|
||||||
|
refresh: refreshFunc,
|
||||||
|
|
||||||
update: updateFunc,
|
update: updateFunc,
|
||||||
};
|
};
|
||||||
|
@ -40,10 +40,7 @@ function createMyStore() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
async function refreshFunc(cb=null, interval=null) {
|
||||||
subscribe,
|
|
||||||
|
|
||||||
refresh: async (cb=null, interval=null) => {
|
|
||||||
if (refresh_interval_my)
|
if (refresh_interval_my)
|
||||||
clearInterval(refresh_interval_my);
|
clearInterval(refresh_interval_my);
|
||||||
if (interval === null) {
|
if (interval === null) {
|
||||||
@ -52,10 +49,15 @@ function createMyStore() {
|
|||||||
if (stop_refresh) {
|
if (stop_refresh) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
refresh_interval_my = setInterval(refresh_my, interval);
|
refresh_interval_my = setInterval(refreshFunc, interval);
|
||||||
|
|
||||||
updateFunc(await fetch('my.json', {headers: {'Accept': 'application/json'}}), cb);
|
updateFunc(await fetch('my.json', {headers: {'Accept': 'application/json'}}), cb);
|
||||||
},
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
subscribe,
|
||||||
|
|
||||||
|
refresh: refreshFunc,
|
||||||
|
|
||||||
update: updateFunc,
|
update: updateFunc,
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { readable, writable } from 'svelte/store';
|
import { readable, writable } from 'svelte/store';
|
||||||
|
|
||||||
import { stop_refresh } from './common';
|
import { stop_refresh } from './common';
|
||||||
|
import { my } from './my';
|
||||||
|
|
||||||
let refresh_interval_settings = null;
|
let refresh_interval_settings = null;
|
||||||
|
|
||||||
@ -40,10 +41,7 @@ function createSettingsStore() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
async function refreshFunc(cb=null, interval=null) {
|
||||||
subscribe,
|
|
||||||
|
|
||||||
refresh: async (cb=null, interval=null) => {
|
|
||||||
if (refresh_interval_settings)
|
if (refresh_interval_settings)
|
||||||
clearInterval(refresh_interval_settings);
|
clearInterval(refresh_interval_settings);
|
||||||
if (interval === null) {
|
if (interval === null) {
|
||||||
@ -52,7 +50,7 @@ function createSettingsStore() {
|
|||||||
if (stop_refresh) {
|
if (stop_refresh) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
refresh_interval_settings = setInterval(refresh_settings, interval);
|
refresh_interval_settings = setInterval(refreshFunc, interval);
|
||||||
|
|
||||||
if (!cb) {
|
if (!cb) {
|
||||||
// Before we start, update settings more frequently.
|
// Before we start, update settings more frequently.
|
||||||
@ -62,19 +60,24 @@ function createSettingsStore() {
|
|||||||
if (settings.start > srv_cur) {
|
if (settings.start > srv_cur) {
|
||||||
const startIn = settings.start - srv_cur;
|
const startIn = settings.start - srv_cur;
|
||||||
if (startIn > 15000) {
|
if (startIn > 15000) {
|
||||||
setTimeout(refresh_settings, Math.floor(Math.random() * 10000) + 2400)
|
setTimeout(refreshFunc, Math.floor(Math.random() * 10000) + 2400)
|
||||||
} else if (startIn > 1500) {
|
} else if (startIn > 1500) {
|
||||||
setTimeout(refresh_settings, startIn - 1000 - Math.floor(Math.random() * 500))
|
setTimeout(refreshFunc, startIn - 1000 - Math.floor(Math.random() * 500))
|
||||||
} else {
|
} else {
|
||||||
// On scheduled start time, refresh my.json file
|
// On scheduled start time, refresh my.json file
|
||||||
setTimeout(refresh_my, startIn + Math.floor(Math.random() * 200))
|
setTimeout(my.refresh, startIn + Math.floor(Math.random() * 200))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
updateFunc(await fetch('settings.json', {headers: {'Accept': 'application/json'}}), cb);
|
updateFunc(await fetch('settings.json', {headers: {'Accept': 'application/json'}}), cb);
|
||||||
},
|
};
|
||||||
|
|
||||||
|
return {
|
||||||
|
subscribe,
|
||||||
|
|
||||||
|
refresh: refreshFunc,
|
||||||
|
|
||||||
update: updateFunc,
|
update: updateFunc,
|
||||||
}
|
}
|
||||||
|
@ -28,10 +28,7 @@ function createTeamsStore() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
async function refreshFunc(cb=null, interval=null) {
|
||||||
subscribe,
|
|
||||||
|
|
||||||
refresh: async (cb=null, interval=null) => {
|
|
||||||
if (refresh_interval_teams)
|
if (refresh_interval_teams)
|
||||||
clearInterval(refresh_interval_teams);
|
clearInterval(refresh_interval_teams);
|
||||||
if (interval === null) {
|
if (interval === null) {
|
||||||
@ -40,10 +37,15 @@ function createTeamsStore() {
|
|||||||
if (stop_refresh) {
|
if (stop_refresh) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
refresh_interval_teams = setInterval(refresh_teams, interval);
|
refresh_interval_teams = setInterval(refreshFunc, interval);
|
||||||
|
|
||||||
updateFunc(await fetch('teams.json', {headers: {'Accept': 'application/json'}}), cb);
|
updateFunc(await fetch('teams.json', {headers: {'Accept': 'application/json'}}), cb);
|
||||||
},
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
subscribe,
|
||||||
|
|
||||||
|
refresh: refreshFunc,
|
||||||
|
|
||||||
update: updateFunc,
|
update: updateFunc,
|
||||||
};
|
};
|
||||||
|
@ -50,10 +50,7 @@ function createThemesStore() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
async function refreshFunc(cb=null, interval=null) {
|
||||||
subscribe,
|
|
||||||
|
|
||||||
refresh: async (cb=null, interval=null) => {
|
|
||||||
if (refresh_interval_themes)
|
if (refresh_interval_themes)
|
||||||
clearInterval(refresh_interval_themes);
|
clearInterval(refresh_interval_themes);
|
||||||
if (interval === null) {
|
if (interval === null) {
|
||||||
@ -62,10 +59,15 @@ function createThemesStore() {
|
|||||||
if (stop_refresh) {
|
if (stop_refresh) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
refresh_interval_themes = setInterval(refresh_themes, interval);
|
refresh_interval_themes = setInterval(refreshFunc, interval);
|
||||||
|
|
||||||
await updateFunc(await fetch('themes.json', {headers: {'Accept': 'application/json'}}), cb);
|
await updateFunc(await fetch('themes.json', {headers: {'Accept': 'application/json'}}), cb);
|
||||||
},
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
subscribe,
|
||||||
|
|
||||||
|
refresh: refreshFunc,
|
||||||
|
|
||||||
update: updateFunc,
|
update: updateFunc,
|
||||||
};
|
};
|
||||||
|
@ -10,12 +10,12 @@ export const ssr = false;
|
|||||||
export async function load() {
|
export async function load() {
|
||||||
await challengeInfo.refresh();
|
await challengeInfo.refresh();
|
||||||
await settings.refresh();
|
await settings.refresh();
|
||||||
await themes.refresh();
|
await themesStore.refresh();
|
||||||
teams.refresh();
|
teamsStore.refresh();
|
||||||
my.refresh((my) => {
|
my.refresh((my) => {
|
||||||
if (my && my.team_id === 0) {
|
if (my && my.team_id === 0) {
|
||||||
stop_refresh = true;
|
stop_refresh = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
issues.refresh();
|
issuesStore.refresh();
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
} from 'sveltestrap';
|
} from 'sveltestrap';
|
||||||
|
|
||||||
import Header from '$lib/components/Header.svelte';
|
import Header from '$lib/components/Header.svelte';
|
||||||
|
|
||||||
|
import { challengeInfo } from '$lib/stores/challengeinfo';
|
||||||
|
import { settings } from '$lib/stores/settings';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
|
@ -5,20 +5,20 @@
|
|||||||
|
|
||||||
import { challengeInfo } from '$lib/stores/challengeinfo.js';
|
import { challengeInfo } from '$lib/stores/challengeinfo.js';
|
||||||
|
|
||||||
export let theme;
|
export let data;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>{theme?theme.name:""} - {$challengeInfo.title}</title>
|
<title>{data.theme?data.theme.name:""} - {$challengeInfo.title}</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
{#if theme}
|
{#if data.theme}
|
||||||
<div style="background-image: url({theme.image})" class="page-header">
|
<div style="background-image: url({data.theme.image})" class="page-header">
|
||||||
<Container class="text-primary">
|
<Container class="text-primary">
|
||||||
<h1 class="display-2">
|
<h1 class="display-2">
|
||||||
<a href="{theme.urlid}">{theme.name}</a>
|
<a href="{data.theme.urlid}">{data.theme.name}</a>
|
||||||
</h1>
|
</h1>
|
||||||
<h2>{@html theme.authors}</h2>
|
<h2>{@html data.theme.authors}</h2>
|
||||||
</Container>
|
</Container>
|
||||||
<div class="headerfade"></div>
|
<div class="headerfade"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
export let data;
|
export let data;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if data.theme && data.theme.exercices}
|
{#if data && data.theme && data.theme.exercices}
|
||||||
<Card class="niceborder text-indent mt-2 mb-4">
|
<Card class="niceborder text-indent mt-2 mb-4">
|
||||||
|
|
||||||
<CardBody class="bg-dark text-light">
|
<CardBody class="bg-dark text-light">
|
||||||
@ -65,7 +65,7 @@
|
|||||||
<div style="position: absolute; margin-left: calc(var(--bs-gutter-x) * -.5 - 15px); margin-top: -0.5rem;">
|
<div style="position: absolute; margin-left: calc(var(--bs-gutter-x) * -.5 - 15px); margin-top: -0.5rem;">
|
||||||
<svg style="height: 50px; width: 23px;">
|
<svg style="height: 50px; width: 23px;">
|
||||||
<rect
|
<rect
|
||||||
style="fill:#{$my && $my.exercices[k] && (index < 1 || ($my.exercices[Object.keys(data.data.theme.exercices)[index-1]] && $my.exercices[Object.keys(data.theme.exercices)[index-1]].solved_rank)) ? '62c462' : 'bbb'}"
|
style="fill:#{$my && $my.exercices[k] && (index < 1 || ($my.exercices[Object.keys(data.theme.exercices)[index-1]] && $my.exercices[Object.keys(data.theme.exercices)[index-1]].solved_rank)) ? '62c462' : 'bbb'}"
|
||||||
width="5"
|
width="5"
|
||||||
height="30"
|
height="30"
|
||||||
x="10"
|
x="10"
|
||||||
|
@ -2,7 +2,7 @@ import { get_store_value } from 'svelte/internal';
|
|||||||
|
|
||||||
import { themes } from '$lib/stores/themes.js';
|
import { themes } from '$lib/stores/themes.js';
|
||||||
|
|
||||||
export async function load({ parent }) {
|
export async function load({ params, parent }) {
|
||||||
const stuff = await parent();
|
const stuff = await parent();
|
||||||
|
|
||||||
let exercice = null;
|
let exercice = null;
|
||||||
|
Loading…
Reference in New Issue
Block a user