Compare commits
6 Commits
c78bdfa5e2
...
51d9b35dc4
Author | SHA1 | Date | |
---|---|---|---|
51d9b35dc4 | |||
16dc789db5 | |||
e4f9b1a605 | |||
3a8533a7ba | |||
5ac6fe30b5 | |||
14501d3828 |
11
CHANGELOG.md
11
CHANGELOG.md
@ -2,8 +2,19 @@
|
|||||||
|
|
||||||
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.12.8](https://git.odit.services/lfk/frontend/compare/1.12.7...1.12.8)
|
||||||
|
|
||||||
|
- feat(dasboard): Added section headers to main nav [`3a8533a`](https://git.odit.services/lfk/frontend/commit/3a8533a7baef02f7bc9780ce37be1a350bd92270)
|
||||||
|
- fic(locales): Updated dashboard translations [`5ac6fe3`](https://git.odit.services/lfk/frontend/commit/5ac6fe30b5b9e34043c734d51d5da137fdf7ac38)
|
||||||
|
- feat(runners): Created_via filters can now be set via query params [`14501d3`](https://git.odit.services/lfk/frontend/commit/14501d3828dd0d48ba0baeeddf936ba275f7b9b7)
|
||||||
|
- refactor(tools): Move tools to tools route [`16dc789`](https://git.odit.services/lfk/frontend/commit/16dc789db5d9ea41774c77622a579cc0d9bd95f2)
|
||||||
|
- refactor(tools): Move tools into shared directory instead of the non-descript "general" [`e4f9b1a`](https://git.odit.services/lfk/frontend/commit/e4f9b1a60551d7955def4d068d534cf17b1ea640)
|
||||||
|
|
||||||
#### [1.12.7](https://git.odit.services/lfk/frontend/compare/1.12.6...1.12.7)
|
#### [1.12.7](https://git.odit.services/lfk/frontend/compare/1.12.6...1.12.7)
|
||||||
|
|
||||||
|
> 1 May 2025
|
||||||
|
|
||||||
|
- chore(release): 1.12.7 [`c78bdfa`](https://git.odit.services/lfk/frontend/commit/c78bdfa5e24ada4909455064dd6b05cf34fc6df3)
|
||||||
- fix(deps): fresh lockfile [`b2ed2af`](https://git.odit.services/lfk/frontend/commit/b2ed2afd8a45a1a01ac6118b27941e3b4b3b611f)
|
- fix(deps): fresh lockfile [`b2ed2af`](https://git.odit.services/lfk/frontend/commit/b2ed2afd8a45a1a01ac6118b27941e3b4b3b611f)
|
||||||
- refactor(store): update refresh interval from 2min to 60min [`00d1988`](https://git.odit.services/lfk/frontend/commit/00d198895e15174b70a8d229974b4baa7d0ed8fc)
|
- refactor(store): update refresh interval from 2min to 60min [`00d1988`](https://git.odit.services/lfk/frontend/commit/00d198895e15174b70a8d229974b4baa7d0ed8fc)
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<span style="display: none; visibility: hidden" id="buildinfo"
|
<span style="display: none; visibility: hidden" id="buildinfo"
|
||||||
>RELEASE_INFO-1.12.7-RELEASE_INFO</span
|
>RELEASE_INFO-1.12.8-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>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@odit/lfk-frontend",
|
"name": "@odit/lfk-frontend",
|
||||||
"version": "1.12.7",
|
"version": "1.12.8",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"i18n-order": "node order.js",
|
"i18n-order": "node order.js",
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
import Settings from "./components/settings/Settings.svelte";
|
import Settings from "./components/settings/Settings.svelte";
|
||||||
import Transition from "./components/base/Transition.svelte";
|
import Transition from "./components/base/Transition.svelte";
|
||||||
import Orgs from "./components/orgs/Orgs.svelte";
|
import Orgs from "./components/orgs/Orgs.svelte";
|
||||||
import CardAssignment from "./components/general/CardAssignment.svelte";
|
import CardAssignment from "./components/tools/CardAssignment.svelte";
|
||||||
import Runners from "./components/runners/Runners.svelte";
|
import Runners from "./components/runners/Runners.svelte";
|
||||||
import Footer from "./components/general/Footer.svelte";
|
import Footer from "./components/general/Footer.svelte";
|
||||||
import TracksOverview from "./components/tracks/TracksOverview.svelte";
|
import TracksOverview from "./components/tracks/TracksOverview.svelte";
|
||||||
@ -70,7 +70,7 @@
|
|||||||
import Cards from "./components/cards/Cards.svelte";
|
import Cards from "./components/cards/Cards.svelte";
|
||||||
import StatsClients from "./components/statsclients/StatsClients.svelte";
|
import StatsClients from "./components/statsclients/StatsClients.svelte";
|
||||||
import StatsClientDetail from "./components/statsclients/StatsClientDetail.svelte";
|
import StatsClientDetail from "./components/statsclients/StatsClientDetail.svelte";
|
||||||
import CardReplacement from "./components/general/CardReplacement.svelte";
|
import CardReplacement from "./components/tools/CardReplacement.svelte";
|
||||||
store.init();
|
store.init();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -126,20 +126,18 @@
|
|||||||
<Route path="/:trackid" let:params />
|
<Route path="/:trackid" let:params />
|
||||||
</Route>
|
</Route>
|
||||||
<Route path="/runners/*">
|
<Route path="/runners/*">
|
||||||
<Route path="/">
|
<Route path="/" let:meta>
|
||||||
<Runners created_via="all" />
|
<Runners created_via={meta.query.created_via} />
|
||||||
</Route>
|
</Route>
|
||||||
<Route path="/:runnerid" let:params>
|
<Route path="/:runnerid" let:params>
|
||||||
<RunnerDetail {params} />
|
<RunnerDetail {params} />
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
<Route path="/cardassignment/*">
|
<Route path="/tools/*">
|
||||||
<Route path="/">
|
<Route path="/cardassignment/">
|
||||||
<CardAssignment />
|
<CardAssignment />
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
<Route path="/cardreplacement/">
|
||||||
<Route path="/cardreplacement/*">
|
|
||||||
<Route path="/">
|
|
||||||
<CardReplacement />
|
<CardReplacement />
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
|
@ -41,11 +41,14 @@
|
|||||||
</svg>
|
</svg>
|
||||||
<span>{$_("dashboard-title")}</span>
|
<span>{$_("dashboard-title")}</span>
|
||||||
</a>
|
</a>
|
||||||
|
<h2 class="px-4 py-2 text-xs font-semibold text-gray-600 uppercase">
|
||||||
|
{$_("quick-tools")}
|
||||||
|
</h2>
|
||||||
{#if store.state.jwtinfo.userdetails.permissions.includes("RUNNER:GET") && store.state.jwtinfo.userdetails.permissions.includes("CARD:GET")}
|
{#if store.state.jwtinfo.userdetails.permissions.includes("RUNNER:GET") && store.state.jwtinfo.userdetails.permissions.includes("CARD:GET")}
|
||||||
<a
|
<a
|
||||||
class:activenav={$router.path.includes("/cardassignment/")}
|
class:activenav={$router.path.includes("/tools/cardassignment/")}
|
||||||
class="flex items-center px-4 py-3 transition cursor-pointer group hover:bg-gray-200 hover:text-gray-900 w-full font-semibold"
|
class="flex items-center px-4 py-3 transition cursor-pointer group hover:bg-gray-200 hover:text-gray-900 w-full font-semibold"
|
||||||
href="/cardassignment/"
|
href="/tools/cardassignment/"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
@ -60,12 +63,12 @@
|
|||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
<span>{$_('card_assignment_menu')}</span>
|
<span>{$_("card_assignment_menu")}</span>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
class:activenav={$router.path.includes("/cardreplacement/")}
|
class:activenav={$router.path.includes("/tools/cardreplacement/")}
|
||||||
class="flex items-center px-4 py-3 transition cursor-pointer group hover:bg-gray-200 hover:text-gray-900 w-full font-semibold"
|
class="flex items-center px-4 py-3 transition cursor-pointer group hover:bg-gray-200 hover:text-gray-900 w-full font-semibold"
|
||||||
href="/cardreplacement/"
|
href="/tools/cardreplacement/"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
@ -80,8 +83,11 @@
|
|||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
<span>{$_('card-replacement-menu')}</span>
|
<span>{$_("card-replacement-menu")}</span>
|
||||||
</a>
|
</a>
|
||||||
|
<h2 class="px-4 py-2 text-xs font-semibold text-gray-600 uppercase">
|
||||||
|
{$_("management")}
|
||||||
|
</h2>
|
||||||
<a
|
<a
|
||||||
class:activenav={$router.path.includes("/runners/")}
|
class:activenav={$router.path.includes("/runners/")}
|
||||||
class="flex items-center px-4 py-3 transition cursor-pointer group hover:bg-gray-200 hover:text-gray-900 w-full font-semibold"
|
class="flex items-center px-4 py-3 transition cursor-pointer group hover:bg-gray-200 hover:text-gray-900 w-full font-semibold"
|
||||||
@ -359,6 +365,9 @@
|
|||||||
<span>{$_("user-groups")}</span>
|
<span>{$_("user-groups")}</span>
|
||||||
</a>
|
</a>
|
||||||
{/if}
|
{/if}
|
||||||
|
<h2 class="px-4 py-2 text-xs font-semibold text-gray-600 uppercase">
|
||||||
|
{$_("system")}
|
||||||
|
</h2>
|
||||||
<a
|
<a
|
||||||
class:activenav={$router.path === "/settings/"}
|
class:activenav={$router.path === "/settings/"}
|
||||||
class="flex items-center px-4 py-3 transition cursor-pointer group hover:bg-gray-200 hover:text-gray-900 w-full font-semibold"
|
class="flex items-center px-4 py-3 transition cursor-pointer group hover:bg-gray-200 hover:text-gray-900 w-full font-semibold"
|
||||||
|
@ -220,7 +220,7 @@
|
|||||||
<StatCard
|
<StatCard
|
||||||
title={$_("runner_via_selfservice")}
|
title={$_("runner_via_selfservice")}
|
||||||
value={stats.runnersViaSelfservice}
|
value={stats.runnersViaSelfservice}
|
||||||
href="/runners/"
|
href="/runners/?created_via=selfservice"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
height="24"
|
height="24"
|
||||||
@ -237,7 +237,7 @@
|
|||||||
<StatCard
|
<StatCard
|
||||||
title={$_('runners_via_kiosk')}
|
title={$_('runners_via_kiosk')}
|
||||||
value={stats.runnersViaKiosk}
|
value={stats.runnersViaKiosk}
|
||||||
href="/runners/"
|
href="/runners/?created_via=kiosk"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
height="24"
|
height="24"
|
||||||
|
@ -176,7 +176,6 @@
|
|||||||
const runners = await RunnerService.runnerControllerGetAll(
|
const runners = await RunnerService.runnerControllerGetAll(
|
||||||
page,
|
page,
|
||||||
500,
|
500,
|
||||||
created_via
|
|
||||||
);
|
);
|
||||||
if (runners.length == 0) {
|
if (runners.length == 0) {
|
||||||
page = -2;
|
page = -2;
|
||||||
@ -200,15 +199,21 @@
|
|||||||
$: current_runners = [];
|
$: current_runners = [];
|
||||||
export let modal_open = false;
|
export let modal_open = false;
|
||||||
export let import_modal_open = false;
|
export let import_modal_open = false;
|
||||||
|
|
||||||
|
if (created_via != "all") {
|
||||||
|
$table.setColumnFilters([
|
||||||
|
{
|
||||||
|
id: "created_via",
|
||||||
|
value: created_via,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<section class="container p-5">
|
<section class="container p-5">
|
||||||
<h4 class="mb-1 text-3xl font-extrabold leading-tight">
|
<h4 class="mb-1 text-3xl font-extrabold leading-tight">
|
||||||
{$_("runners")}
|
{$_("runners")}
|
||||||
</h4>
|
</h4>
|
||||||
{#if created_via !== "all"}
|
|
||||||
<p>created_via={created_via}</p>
|
|
||||||
{/if}
|
|
||||||
{#if store.state.jwtinfo.userdetails.permissions.includes("RUNNER:CREATE")}
|
{#if store.state.jwtinfo.userdetails.permissions.includes("RUNNER:CREATE")}
|
||||||
<button
|
<button
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
|
@ -296,6 +296,7 @@
|
|||||||
"logout": "Abmelden",
|
"logout": "Abmelden",
|
||||||
"mail-validation-in-progress": "E-Mail Verifizierung läuft... ",
|
"mail-validation-in-progress": "E-Mail Verifizierung läuft... ",
|
||||||
"manage-admin-users": "Nutzer verwalten",
|
"manage-admin-users": "Nutzer verwalten",
|
||||||
|
"management": "Verwaltung",
|
||||||
"middle-name": "Mittelname",
|
"middle-name": "Mittelname",
|
||||||
"minimum-lap-time-in-s": "Minimale Rundenzeit (in Sekunden)",
|
"minimum-lap-time-in-s": "Minimale Rundenzeit (in Sekunden)",
|
||||||
"minimum-lap-time-must-be-a-positive-number-or-0": "Die minimale Rundenzeit muss eine positive Zahl oder 0 sein",
|
"minimum-lap-time-must-be-a-positive-number-or-0": "Die minimale Rundenzeit muss eine positive Zahl oder 0 sein",
|
||||||
@ -375,6 +376,7 @@
|
|||||||
"profile-deleted": "Profil gelöscht!",
|
"profile-deleted": "Profil gelöscht!",
|
||||||
"profile-picture": "Profilbild",
|
"profile-picture": "Profilbild",
|
||||||
"profile-updated": "Profil wurde aktualisiert!",
|
"profile-updated": "Profil wurde aktualisiert!",
|
||||||
|
"quick-tools": "Werkzeuge",
|
||||||
"read-license": "Lizenz-Text lesen",
|
"read-license": "Lizenz-Text lesen",
|
||||||
"receipt-needed": "Spendenquittung benötigt",
|
"receipt-needed": "Spendenquittung benötigt",
|
||||||
"repo_link": "Link",
|
"repo_link": "Link",
|
||||||
@ -439,6 +441,7 @@
|
|||||||
"status": "Status",
|
"status": "Status",
|
||||||
"stuff-that-could-harm-your-profile": "Einstellungen, die deinem Profil nachhaltig schaden können",
|
"stuff-that-could-harm-your-profile": "Einstellungen, die deinem Profil nachhaltig schaden können",
|
||||||
"successful-password-reset": "Passwort erfolgreich zurückgesetzt!",
|
"successful-password-reset": "Passwort erfolgreich zurückgesetzt!",
|
||||||
|
"system": "System",
|
||||||
"team": "Team",
|
"team": "Team",
|
||||||
"team-added": "Team wurde erstellt",
|
"team-added": "Team wurde erstellt",
|
||||||
"team-deleted": "Team gelöscht",
|
"team-deleted": "Team gelöscht",
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
"author": "Author",
|
"author": "Author",
|
||||||
"available-permissions": "available",
|
"available-permissions": "available",
|
||||||
"average-distance": "∅ distance",
|
"average-distance": "∅ distance",
|
||||||
"average-donation": "∅ donation",
|
"average-donation": "∅ Donation",
|
||||||
"barcode_scanner": "Scan via barcode scanner",
|
"barcode_scanner": "Scan via barcode scanner",
|
||||||
"by": "by",
|
"by": "by",
|
||||||
"cancel": "Cancel",
|
"cancel": "Cancel",
|
||||||
@ -375,6 +375,7 @@
|
|||||||
"profile-deleted": "Profile deleted!",
|
"profile-deleted": "Profile deleted!",
|
||||||
"profile-picture": "Profile Picture",
|
"profile-picture": "Profile Picture",
|
||||||
"profile-updated": "Profile updated!",
|
"profile-updated": "Profile updated!",
|
||||||
|
"quick-tools": "Tools",
|
||||||
"read-license": "Read License",
|
"read-license": "Read License",
|
||||||
"receipt-needed": "Receipt needed",
|
"receipt-needed": "Receipt needed",
|
||||||
"repo_link": "Link",
|
"repo_link": "Link",
|
||||||
@ -388,7 +389,7 @@
|
|||||||
"runner-is-being-added": "Runner is being added...",
|
"runner-is-being-added": "Runner is being added...",
|
||||||
"runner-updated": "Runner updated!",
|
"runner-updated": "Runner updated!",
|
||||||
"runner_not_found": "Runner not found...",
|
"runner_not_found": "Runner not found...",
|
||||||
"runner_via_selfservice": "Runner via Selfservice",
|
"runner_via_selfservice": "Runners via Selfservice",
|
||||||
"runnercards": "Runnercards",
|
"runnercards": "Runnercards",
|
||||||
"runnerimport_verify_runners_org": "Please confirm these runners for import into the organization \"{org_name}\"",
|
"runnerimport_verify_runners_org": "Please confirm these runners for import into the organization \"{org_name}\"",
|
||||||
"runners": "Runners",
|
"runners": "Runners",
|
||||||
@ -439,6 +440,7 @@
|
|||||||
"status": "Status",
|
"status": "Status",
|
||||||
"stuff-that-could-harm-your-profile": "Stuff that could harm your profile",
|
"stuff-that-could-harm-your-profile": "Stuff that could harm your profile",
|
||||||
"successful-password-reset": "Successful password reset!",
|
"successful-password-reset": "Successful password reset!",
|
||||||
|
"system": "System",
|
||||||
"team": "Team",
|
"team": "Team",
|
||||||
"team-added": "Team added",
|
"team-added": "Team added",
|
||||||
"team-deleted": "Team deleted",
|
"team-deleted": "Team deleted",
|
||||||
@ -469,11 +471,11 @@
|
|||||||
"token": "Token",
|
"token": "Token",
|
||||||
"total-distance": "total distance",
|
"total-distance": "total distance",
|
||||||
"total-donation-amount": "Total donations",
|
"total-donation-amount": "Total donations",
|
||||||
"total-donation-count": "total donations (count)",
|
"total-donation-count": "Donations (count)",
|
||||||
"total-donations": "total donations",
|
"total-donations": "Donations (amount)",
|
||||||
"total-donors": "total donors",
|
"total-donors": "Donors",
|
||||||
"total-paid-amount": "Paid",
|
"total-paid-amount": "Paid",
|
||||||
"total-scans": "total scans",
|
"total-scans": "Scans",
|
||||||
"total_donation_amount_in_eur": "Total donation amount in €",
|
"total_donation_amount_in_eur": "Total donation amount in €",
|
||||||
"track": "Track",
|
"track": "Track",
|
||||||
"track-added": "Track added",
|
"track-added": "Track added",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user