Compare commits
6 Commits
1.3.3
...
8fb1e0ca0f
| Author | SHA1 | Date | |
|---|---|---|---|
|
8fb1e0ca0f
|
|||
|
763a01af09
|
|||
|
663cb29ccd
|
|||
|
56c3365656
|
|||
|
e7b2c64798
|
|||
|
7cb6b63eb9
|
@@ -2,8 +2,15 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
||||||
|
|
||||||
|
#### [1.3.4](https://git.odit.services/lfk/frontend/compare/1.3.3...1.3.4)
|
||||||
|
|
||||||
|
- Smaller sponsoring page size [`7cb6b63`](https://git.odit.services/lfk/frontend/commit/7cb6b63eb9596da4ee84369b220c3e680c607032)
|
||||||
|
|
||||||
#### [1.3.3](https://git.odit.services/lfk/frontend/compare/1.3.2...1.3.3)
|
#### [1.3.3](https://git.odit.services/lfk/frontend/compare/1.3.2...1.3.3)
|
||||||
|
|
||||||
|
> 19 April 2023
|
||||||
|
|
||||||
|
- 🚀RELEASE v1.3.3 [`d6d88f5`](https://git.odit.services/lfk/frontend/commit/d6d88f5f60716ca496a17f09b835b23223ec495d)
|
||||||
- bumped lfk-client-js [`2c208c4`](https://git.odit.services/lfk/frontend/commit/2c208c438185892270a0ebd37deb6a7c9ac08fc0)
|
- bumped lfk-client-js [`2c208c4`](https://git.odit.services/lfk/frontend/commit/2c208c438185892270a0ebd37deb6a7c9ac08fc0)
|
||||||
|
|
||||||
#### [1.3.2](https://git.odit.services/lfk/frontend/compare/1.3.1...1.3.2)
|
#### [1.3.2](https://git.odit.services/lfk/frontend/compare/1.3.1...1.3.2)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<span style="display: none;visibility: hidden;" id="buildinfo">RELEASE_INFO-1.3.3-RELEASE_INFO</span>
|
<span style="display: none;visibility: hidden;" id="buildinfo">RELEASE_INFO-1.3.4-RELEASE_INFO</span>
|
||||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||||
<script src="/env.js"></script>
|
<script src="/env.js"></script>
|
||||||
<script type="module" src="/src/main.js"></script>
|
<script type="module" src="/src/main.js"></script>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@odit/lfk-frontend",
|
"name": "@odit/lfk-frontend",
|
||||||
"version": "1.3.3",
|
"version": "1.3.4",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"i18n-order": "node order.js",
|
"i18n-order": "node order.js",
|
||||||
@@ -49,6 +49,7 @@
|
|||||||
"localforage": "1.10.0",
|
"localforage": "1.10.0",
|
||||||
"marked": "2.0.3",
|
"marked": "2.0.3",
|
||||||
"svelte": "3.58.0",
|
"svelte": "3.58.0",
|
||||||
|
"svelte-french-toast": "1.0.4-beta.0",
|
||||||
"svelte-i18n": "3.6.0",
|
"svelte-i18n": "3.6.0",
|
||||||
"tinro": "0.6.12",
|
"tinro": "0.6.12",
|
||||||
"toastify-js": "1.12.0",
|
"toastify-js": "1.12.0",
|
||||||
|
|||||||
28
pnpm-lock.yaml
generated
28
pnpm-lock.yaml
generated
@@ -2,8 +2,8 @@ lockfileVersion: '6.0'
|
|||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
'@odit/lfk-client-js':
|
'@odit/lfk-client-js':
|
||||||
specifier: 1.1.0
|
specifier: 1.1.1
|
||||||
version: 1.1.0
|
version: 1.1.1
|
||||||
'@paralleldrive/cuid2':
|
'@paralleldrive/cuid2':
|
||||||
specifier: ^2.2.0
|
specifier: ^2.2.0
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
@@ -31,6 +31,9 @@ dependencies:
|
|||||||
svelte:
|
svelte:
|
||||||
specifier: 3.58.0
|
specifier: 3.58.0
|
||||||
version: 3.58.0
|
version: 3.58.0
|
||||||
|
svelte-french-toast:
|
||||||
|
specifier: 1.0.4-beta.0
|
||||||
|
version: 1.0.4-beta.0(svelte@3.58.0)
|
||||||
svelte-i18n:
|
svelte-i18n:
|
||||||
specifier: 3.6.0
|
specifier: 3.6.0
|
||||||
version: 3.6.0(svelte@3.58.0)
|
version: 3.6.0(svelte@3.58.0)
|
||||||
@@ -510,8 +513,8 @@ packages:
|
|||||||
'@octokit/openapi-types': 16.0.0
|
'@octokit/openapi-types': 16.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@odit/lfk-client-js@1.1.0:
|
/@odit/lfk-client-js@1.1.1:
|
||||||
resolution: {integrity: sha512-yhjsi7YMzL9/fJ7o06yszzw15iZhao3VmX0G9oqZWFwYJd1M2td3Lvm76mXNzTVlbdG6W0W3+eEjcalBdo51Pg==}
|
resolution: {integrity: sha512-EVwK/kT8VBs0vLk64KgCsHCl2heWHJMWAmZAghEDZWPCPQWX9xL6UzRuKewLXl36/T9YKqZLfDyM5e3WfgLyOg==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@odit/license-exporter@0.0.12:
|
/@odit/license-exporter@0.0.12:
|
||||||
@@ -3443,6 +3446,15 @@ packages:
|
|||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/svelte-french-toast@1.0.4-beta.0(svelte@3.58.0):
|
||||||
|
resolution: {integrity: sha512-PkYNukEQAPZyV5ei+JzeYEsbaXFSbJS8/SDTdC8giYa5Atxp2SRepFnPDWx6mu7rV53g886FNLktPMLwRljkpw==}
|
||||||
|
peerDependencies:
|
||||||
|
svelte: ^3.57.0
|
||||||
|
dependencies:
|
||||||
|
svelte: 3.58.0
|
||||||
|
svelte-writable-derived: 3.0.1(svelte@3.58.0)
|
||||||
|
dev: false
|
||||||
|
|
||||||
/svelte-hmr@0.15.1(svelte@3.58.0):
|
/svelte-hmr@0.15.1(svelte@3.58.0):
|
||||||
resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==}
|
resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==}
|
||||||
engines: {node: ^12.20 || ^14.13.1 || >= 16}
|
engines: {node: ^12.20 || ^14.13.1 || >= 16}
|
||||||
@@ -3472,6 +3484,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-ITmX/XUiSdkaILmsTviKRkZPaXckM5/FA7Y8BhiUPoamaZG/ZDyOo6ydjFu9fDVFTbwoAUGUi6HBjs+ZdK2AwA==}
|
resolution: {integrity: sha512-ITmX/XUiSdkaILmsTviKRkZPaXckM5/FA7Y8BhiUPoamaZG/ZDyOo6ydjFu9fDVFTbwoAUGUi6HBjs+ZdK2AwA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/svelte-writable-derived@3.0.1(svelte@3.58.0):
|
||||||
|
resolution: {integrity: sha512-zBWCS5c3MA9o4NT/UJHP3KoPOhtmH2ZQ/QRK31w9LzLdPP7MNncUcBGIu4iH2RVt17iRfR6agm7nEqwNvsYuMw==}
|
||||||
|
peerDependencies:
|
||||||
|
svelte: ^3.2.1
|
||||||
|
dependencies:
|
||||||
|
svelte: 3.58.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/svelte@3.58.0:
|
/svelte@3.58.0:
|
||||||
resolution: {integrity: sha512-brIBNNB76mXFmU/Kerm4wFnkskBbluBDCjx/8TcpYRb298Yh2dztS2kQ6bhtjMcvUhd5ynClfwpz5h2gnzdQ1A==}
|
resolution: {integrity: sha512-brIBNNB76mXFmU/Kerm4wFnkskBbluBDCjx/8TcpYRb298Yh2dztS2kQ6bhtjMcvUhd5ynClfwpz5h2gnzdQ1A==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
import { OpenAPI, AuthService } from "@odit/lfk-client-js";
|
import { OpenAPI, AuthService } from "@odit/lfk-client-js";
|
||||||
import Footer from "../general/Footer.svelte";
|
import Footer from "../general/Footer.svelte";
|
||||||
import isEmail from "validator/es/lib/isEmail";
|
import isEmail from "validator/es/lib/isEmail";
|
||||||
import Toastify from "toastify-js";
|
import toast from "svelte-french-toast";
|
||||||
// ------
|
// ------
|
||||||
let username = config.default_username || "";
|
let username = config.default_username || "";
|
||||||
let password = config.default_password || "";
|
let password = config.default_password || "";
|
||||||
@@ -20,11 +20,7 @@
|
|||||||
OpenAPI.TOKEN = value.access_token;
|
OpenAPI.TOKEN = value.access_token;
|
||||||
const jwtinfo = JSON.parse(atob(OpenAPI.TOKEN.split(".")[1]));
|
const jwtinfo = JSON.parse(atob(OpenAPI.TOKEN.split(".")[1]));
|
||||||
store.login(value, jwtinfo);
|
store.login(value, jwtinfo);
|
||||||
Toastify({
|
toast($_("welcome_wavinghand"));
|
||||||
text: $_("welcome_wavinghand"),
|
|
||||||
duration: 500,
|
|
||||||
backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)",
|
|
||||||
}).showToast();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -33,10 +29,7 @@
|
|||||||
// prevent login button spamming
|
// prevent login button spamming
|
||||||
if (last_loginclick_processed && is_blocked_by_autologin === false) {
|
if (last_loginclick_processed && is_blocked_by_autologin === false) {
|
||||||
last_loginclick_processed = false;
|
last_loginclick_processed = false;
|
||||||
Toastify({
|
toast.loading($_("login_is_checked"));
|
||||||
text: $_("login_is_checked"),
|
|
||||||
duration: 500,
|
|
||||||
}).showToast();
|
|
||||||
let postdata = {};
|
let postdata = {};
|
||||||
if (isEmail(username)) {
|
if (isEmail(username)) {
|
||||||
postdata = {
|
postdata = {
|
||||||
@@ -56,31 +49,19 @@
|
|||||||
const jwtinfo = JSON.parse(atob(OpenAPI.TOKEN.split(".")[1]));
|
const jwtinfo = JSON.parse(atob(OpenAPI.TOKEN.split(".")[1]));
|
||||||
store.login(result.access_token, jwtinfo);
|
store.login(result.access_token, jwtinfo);
|
||||||
location.replace("/");
|
location.replace("/");
|
||||||
Toastify({
|
toast.dismiss();
|
||||||
text: $_("welcome_wavinghand"),
|
toast($_("welcome_wavinghand"));
|
||||||
duration: 500,
|
|
||||||
backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)",
|
|
||||||
}).showToast();
|
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
Toastify({
|
toast.dismiss();
|
||||||
text: $_("error_on_login"),
|
toast.error($_("error_on_login"));
|
||||||
duration: 500,
|
|
||||||
backgroundColor:
|
|
||||||
"linear-gradient(90deg, hsla(281, 37%, 45%, 1) 0%, hsla(1, 62%, 48%, 1) 100%)",
|
|
||||||
}).showToast();
|
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
last_loginclick_processed = true;
|
last_loginclick_processed = true;
|
||||||
});
|
});
|
||||||
// last login was not processed yet
|
// last login was not processed yet
|
||||||
} else {
|
} else {
|
||||||
Toastify({
|
toast($_("please-wait-a-moment-your-login-is-still-being-processed"));
|
||||||
text: $_('please-wait-a-moment-your-login-is-still-being-processed'),
|
|
||||||
duration: 1500,
|
|
||||||
backgroundColor:
|
|
||||||
"linear-gradient(90deg, hsla(281, 37%, 45%, 1) 0%, hsla(1, 62%, 48%, 1) 100%)",
|
|
||||||
}).showToast();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
function handleKeydown(e) {
|
function handleKeydown(e) {
|
||||||
@@ -91,34 +72,37 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="min-h-screen flex items-center justify-center bg-gray-100 text-gray-900">
|
class="min-h-screen flex items-center justify-center bg-gray-100 text-gray-900"
|
||||||
|
>
|
||||||
<div class="max-w-md w-full py-12 px-6" role="main">
|
<div class="max-w-md w-full py-12 px-6" role="main">
|
||||||
<img style="height:10rem;" class="mx-auto" src="/lfk-logo.png" alt="" />
|
<img style="height:10rem;" class="mx-auto" src="/lfk-logo.png" alt="" />
|
||||||
<p class="mt-6 text-lg text-center font-bold">{$_('application_name')}</p>
|
<p class="mt-6 text-lg text-center font-bold">{$_("application_name")}</p>
|
||||||
<p class="mt-6 text-sm text-center">{$_('log_in_to_your_account')}</p>
|
<p class="mt-6 text-sm text-center">{$_("log_in_to_your_account")}</p>
|
||||||
<div>
|
<div>
|
||||||
<div class="rounded-md shadow-sm">
|
<div class="rounded-md shadow-sm">
|
||||||
<div>
|
<div>
|
||||||
<!-- svelte-ignore a11y-autofocus -->
|
<!-- svelte-ignore a11y-autofocus -->
|
||||||
<input
|
<input
|
||||||
autofocus
|
autofocus
|
||||||
aria-label={$_('email_address_or_username')}
|
aria-label={$_("email_address_or_username")}
|
||||||
type="text"
|
type="text"
|
||||||
required=""
|
required=""
|
||||||
class="border-gray-300 placeholder-gray-500 appearance-none rounded-none relative block w-full px-3 py-2 border rounded-t-md focus:outline-none focus:shadow-outline-blue focus:border-blue-300 focus:z-10 sm:text-sm"
|
class="border-gray-300 placeholder-gray-500 appearance-none rounded-none relative block w-full px-3 py-2 border rounded-t-md focus:outline-none focus:shadow-outline-blue focus:border-blue-300 focus:z-10 sm:text-sm"
|
||||||
on:keydown={handleKeydown}
|
on:keydown={handleKeydown}
|
||||||
placeholder={$_('email_address_or_username')}
|
placeholder={$_("email_address_or_username")}
|
||||||
bind:value={username} />
|
bind:value={username}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="-mt-px relative">
|
<div class="-mt-px relative">
|
||||||
<input
|
<input
|
||||||
aria-label={$_('password')}
|
aria-label={$_("password")}
|
||||||
type="password"
|
type="password"
|
||||||
required=""
|
required=""
|
||||||
bind:value={password}
|
bind:value={password}
|
||||||
class="border-gray-300 placeholder-gray-500 appearance-none rounded-none relative block w-full px-3 py-2 border rounded-b-md focus:outline-none focus:shadow-outline-blue focus:border-blue-300 focus:z-10 sm:text-sm"
|
class="border-gray-300 placeholder-gray-500 appearance-none rounded-none relative block w-full px-3 py-2 border rounded-b-md focus:outline-none focus:shadow-outline-blue focus:border-blue-300 focus:z-10 sm:text-sm"
|
||||||
on:keydown={handleKeydown}
|
on:keydown={handleKeydown}
|
||||||
placeholder={$_('password')} />
|
placeholder={$_("password")}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -126,27 +110,31 @@
|
|||||||
<button
|
<button
|
||||||
on:click={login}
|
on:click={login}
|
||||||
type="submit"
|
type="submit"
|
||||||
class="relative block w-full py-2 px-3 border border-transparent rounded-md text-white font-semibold bg-gray-800 hover:bg-gray-700 focus:bg-gray-900 focus:outline-none focus:shadow-outline sm:text-sm">
|
class="relative block w-full py-2 px-3 border border-transparent rounded-md text-white font-semibold bg-gray-800 hover:bg-gray-700 focus:bg-gray-900 focus:outline-none focus:shadow-outline sm:text-sm"
|
||||||
|
>
|
||||||
<span class="absolute left-0 inset-y pl-3">
|
<span class="absolute left-0 inset-y pl-3">
|
||||||
<svg
|
<svg
|
||||||
class="h-5 w-5 text-gray-500"
|
class="h-5 w-5 text-gray-500"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
viewBox="0 0 20 20">
|
viewBox="0 0 20 20"
|
||||||
|
>
|
||||||
<path
|
<path
|
||||||
fill-rule="evenodd"
|
fill-rule="evenodd"
|
||||||
d="M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z"
|
d="M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z"
|
||||||
clip-rule="evenodd" />
|
clip-rule="evenodd"
|
||||||
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
{$_('log_in')}
|
{$_("log_in")}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
<a
|
<a
|
||||||
href="/forgot_password"
|
href="/forgot_password"
|
||||||
class="block w-full text-center py-2 px-3 border border-gray-300 rounded-md font-medium hover:border-gray-400 focus:outline-none focus:border-gray-400 sm:text-sm">
|
class="block w-full text-center py-2 px-3 border border-gray-300 rounded-md font-medium hover:border-gray-400 focus:outline-none focus:border-gray-400 sm:text-sm"
|
||||||
{$_('forgot_password')}
|
>
|
||||||
|
{$_("forgot_password")}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { RunnerCardService } from "@odit/lfk-client-js";
|
import { RunnerCardService } from "@odit/lfk-client-js";
|
||||||
import store from "../../store";
|
import store from "../../store";
|
||||||
import Toastify from "toastify-js";
|
import toast from "svelte-french-toast";
|
||||||
import CardsEmptyState from "./CardsEmptyState.svelte";
|
import CardsEmptyState from "./CardsEmptyState.svelte";
|
||||||
import CardDetailModal from "./CardDetailModal.svelte";
|
import CardDetailModal from "./CardDetailModal.svelte";
|
||||||
import GenerateRunnerCards from "../pdf_generation/GenerateRunnerCards.svelte";
|
import GenerateRunnerCards from "../pdf_generation/GenerateRunnerCards.svelte";
|
||||||
@@ -148,14 +148,11 @@
|
|||||||
...options,
|
...options,
|
||||||
data: current_cards,
|
data: current_cards,
|
||||||
}));
|
}));
|
||||||
Toastify({
|
toast.success($_("card-deleted"));
|
||||||
text: $_("card-deleted"),
|
|
||||||
duration: 3500,
|
|
||||||
backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)",
|
|
||||||
}).showToast();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
|
toast.loading($_("loading-cards"));
|
||||||
let page = 0;
|
let page = 0;
|
||||||
while (page >= 0) {
|
while (page >= 0) {
|
||||||
const cards = await RunnerCardService.runnerCardControllerGetAll(
|
const cards = await RunnerCardService.runnerCardControllerGetAll(
|
||||||
@@ -175,7 +172,8 @@
|
|||||||
dataLoaded = true;
|
dataLoaded = true;
|
||||||
page++;
|
page++;
|
||||||
}
|
}
|
||||||
console.log("All cards loaded");
|
toast.dismiss();
|
||||||
|
toast.success($_('all-cards-loaded'));
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
import { router } from "tinro";
|
import { router } from "tinro";
|
||||||
import NoComponentLoaded from "../base/NoComponentLoaded.svelte";
|
import NoComponentLoaded from "../base/NoComponentLoaded.svelte";
|
||||||
import { AuthService } from "@odit/lfk-client-js";
|
import { AuthService } from "@odit/lfk-client-js";
|
||||||
|
import { Toaster } from 'svelte-french-toast';
|
||||||
$: navOpen = false;
|
$: navOpen = false;
|
||||||
function logout() {
|
function logout() {
|
||||||
localForage.clear();
|
localForage.clear();
|
||||||
@@ -345,6 +346,7 @@
|
|||||||
d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4A1 1 0 013 5zm0 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
|
d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4A1 1 0 013 5zm0 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
|
||||||
clip-rule="evenodd" /></svg></button>
|
clip-rule="evenodd" /></svg></button>
|
||||||
</header>
|
</header>
|
||||||
|
<Toaster position="top-right" />
|
||||||
<slot>
|
<slot>
|
||||||
<NoComponentLoaded />
|
<NoComponentLoaded />
|
||||||
</slot>
|
</slot>
|
||||||
|
|||||||
@@ -143,7 +143,7 @@
|
|||||||
<StatCard
|
<StatCard
|
||||||
title={$_("total-distance")}
|
title={$_("total-distance")}
|
||||||
value={`${stats.total_distance / 1000} km`}
|
value={`${stats.total_distance / 1000} km`}
|
||||||
href="#"
|
href="/scans/"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
<StatCard
|
<StatCard
|
||||||
title={$_("average-distance")}
|
title={$_("average-distance")}
|
||||||
value={`${(stats.average_distance / 1000).toFixed(2)} km`}
|
value={`${(stats.average_distance / 1000).toFixed(2)} km`}
|
||||||
href="#"
|
href="/scans/"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
|
|||||||
@@ -23,7 +23,10 @@
|
|||||||
import DonationStatus from "./DonationStatus.svelte";
|
import DonationStatus from "./DonationStatus.svelte";
|
||||||
import DonationTableAction from "./DonationTableAction.svelte";
|
import DonationTableAction from "./DonationTableAction.svelte";
|
||||||
import DeleteDonationModal from "./DeleteDonationModal.svelte";
|
import DeleteDonationModal from "./DeleteDonationModal.svelte";
|
||||||
import { donationDonorFilter, donationRunnerFilter } from "../shared/tablefilters";
|
import {
|
||||||
|
donationDonorFilter,
|
||||||
|
donationRunnerFilter,
|
||||||
|
} from "../shared/tablefilters";
|
||||||
$: searchvalue = "";
|
$: searchvalue = "";
|
||||||
$: active_deletes = [];
|
$: active_deletes = [];
|
||||||
$: active_edits = [];
|
$: active_edits = [];
|
||||||
@@ -173,7 +176,7 @@
|
|||||||
while (page >= 0) {
|
while (page >= 0) {
|
||||||
const donations = await DonationService.donationControllerGetAll(
|
const donations = await DonationService.donationControllerGetAll(
|
||||||
page,
|
page,
|
||||||
500
|
100
|
||||||
);
|
);
|
||||||
if (donations.length == 0) {
|
if (donations.length == 0) {
|
||||||
page = -2;
|
page = -2;
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
"all-associated-runners-will-be-deleted-too": "Alle zugehörigen Läufer:innen werden auch gelöscht!",
|
"all-associated-runners-will-be-deleted-too": "Alle zugehörigen Läufer:innen werden auch gelöscht!",
|
||||||
"all-associated-scans-will-get-deleted-as-well": "Alle Scans dieser Station werden ebenfalls gelöscht",
|
"all-associated-scans-will-get-deleted-as-well": "Alle Scans dieser Station werden ebenfalls gelöscht",
|
||||||
"all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und Läufer:innen werden auch gelöscht!",
|
"all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und Läufer:innen werden auch gelöscht!",
|
||||||
|
"all-cards-loaded": "Alle Karten geladen",
|
||||||
"already-paid": "Bereits bezahlt",
|
"already-paid": "Bereits bezahlt",
|
||||||
"amount": "Anzahl",
|
"amount": "Anzahl",
|
||||||
"amount-per-kilometer": "Betrag pro Kilometer",
|
"amount-per-kilometer": "Betrag pro Kilometer",
|
||||||
@@ -94,8 +95,8 @@
|
|||||||
"contacts-are-being-loaded": "Kontakte werden geladen ...",
|
"contacts-are-being-loaded": "Kontakte werden geladen ...",
|
||||||
"copied-link-to-clipboard": "Link wurde in die Zwischenablage kopiert",
|
"copied-link-to-clipboard": "Link wurde in die Zwischenablage kopiert",
|
||||||
"copied-token-to-clipboard": "Token wurde in die Zwischenablage kopiert",
|
"copied-token-to-clipboard": "Token wurde in die Zwischenablage kopiert",
|
||||||
"count_organizations": "Organisationen (Anzahl)",
|
"count_organizations": "Organisationen",
|
||||||
"count_teams": "Teams (Anzahl)",
|
"count_teams": "Teams",
|
||||||
"create": "Erstellen",
|
"create": "Erstellen",
|
||||||
"create-a-new": "Erstelle eine neue",
|
"create-a-new": "Erstelle eine neue",
|
||||||
"create-a-new-card": "Neue Läuferkarte erstellen",
|
"create-a-new-card": "Neue Läuferkarte erstellen",
|
||||||
@@ -439,11 +440,11 @@
|
|||||||
"token": "Token",
|
"token": "Token",
|
||||||
"total-distance": "gelaufene Strecke",
|
"total-distance": "gelaufene Strecke",
|
||||||
"total-donation-amount": "Gesamtbetrag",
|
"total-donation-amount": "Gesamtbetrag",
|
||||||
"total-donation-count": "Gesamte Sponsorings",
|
"total-donation-count": "Sponsorings",
|
||||||
"total-donations": "Spendensumme",
|
"total-donations": "Spendensumme",
|
||||||
"total-donors": "gesamte Sponsor:innen",
|
"total-donors": "Sponsor:innen",
|
||||||
"total-paid-amount": "Gezahlt",
|
"total-paid-amount": "Gezahlt",
|
||||||
"total-scans": "gesamte Scans",
|
"total-scans": "Scans",
|
||||||
"total_donation_amount_in_eur": "Gesamtbetrag in €",
|
"total_donation_amount_in_eur": "Gesamtbetrag in €",
|
||||||
"track": "Track",
|
"track": "Track",
|
||||||
"track-added": "Track hinzugefügt",
|
"track-added": "Track hinzugefügt",
|
||||||
@@ -495,6 +496,6 @@
|
|||||||
"you-dont-have-any-scanstations-yet": "Es gibt noch keine Scannerstationen",
|
"you-dont-have-any-scanstations-yet": "Es gibt noch keine Scannerstationen",
|
||||||
"you-have-to-provide-an-organization": "Du musst eine Organisation angeben",
|
"you-have-to-provide-an-organization": "Du musst eine Organisation angeben",
|
||||||
"you-have-to-save-your-changes-to-generate-a-link": "Du musst deine Änderungen speichern, um einen Link zu generieren.",
|
"you-have-to-save-your-changes-to-generate-a-link": "Du musst deine Änderungen speichern, um einen Link zu generieren.",
|
||||||
"you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen).",
|
"you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen.",
|
||||||
"zip-postal-code": "Postleitzahl"
|
"zip-postal-code": "Postleitzahl"
|
||||||
}
|
}
|
||||||
@@ -35,6 +35,7 @@
|
|||||||
"all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!",
|
"all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!",
|
||||||
"all-associated-scans-will-get-deleted-as-well": "All associated scans will get deleted as well",
|
"all-associated-scans-will-get-deleted-as-well": "All associated scans will get deleted as well",
|
||||||
"all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!",
|
"all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!",
|
||||||
|
"all-cards-loaded": "All cards loaded",
|
||||||
"already-paid": "Already paid",
|
"already-paid": "Already paid",
|
||||||
"amount": "Amount",
|
"amount": "Amount",
|
||||||
"amount-per-kilometer": "Amount per kilometer",
|
"amount-per-kilometer": "Amount per kilometer",
|
||||||
@@ -495,6 +496,6 @@
|
|||||||
"you-dont-have-any-scanstations-yet": "You don't have any scanstations yet",
|
"you-dont-have-any-scanstations-yet": "You don't have any scanstations yet",
|
||||||
"you-have-to-provide-an-organization": "You have to provide an organization",
|
"you-have-to-provide-an-organization": "You have to provide an organization",
|
||||||
"you-have-to-save-your-changes-to-generate-a-link": "You have to save your changes to generate a link.",
|
"you-have-to-save-your-changes-to-generate-a-link": "You have to save your changes to generate a link.",
|
||||||
"you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel).",
|
"you-must-create-at-least-one-card-or-cancel": "You must create at least one card.",
|
||||||
"zip-postal-code": "ZIP/ postal code"
|
"zip-postal-code": "ZIP/ postal code"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user