Compare commits
	
		
			11 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						51d9b35dc4
	
				 | 
					
					
						|||
| 
						
						
							
						
						16dc789db5
	
				 | 
					
					
						|||
| 
						
						
							
						
						e4f9b1a605
	
				 | 
					
					
						|||
| 
						
						
							
						
						3a8533a7ba
	
				 | 
					
					
						|||
| 
						
						
							
						
						5ac6fe30b5
	
				 | 
					
					
						|||
| 
						
						
							
						
						14501d3828
	
				 | 
					
					
						|||
| 
						
						
							
						
						c78bdfa5e2
	
				 | 
					
					
						|||
| 
						
						
							
						
						b2ed2afd8a
	
				 | 
					
					
						|||
| 
						
						
							
						
						00d198895e
	
				 | 
					
					
						|||
| 
						
						
							
						
						b5c079da9a
	
				 | 
					
					
						|||
| 
						
						
							
						
						93422b9779
	
				 | 
					
					
						
							
								
								
									
										26
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -2,8 +2,34 @@
 | 
			
		||||
 | 
			
		||||
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 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)
 | 
			
		||||
- refactor(store): update refresh interval from 2min to 60min [`00d1988`](https://git.odit.services/lfk/frontend/commit/00d198895e15174b70a8d229974b4baa7d0ed8fc)
 | 
			
		||||
 | 
			
		||||
#### [1.12.6](https://git.odit.services/lfk/frontend/compare/1.12.5...1.12.6)
 | 
			
		||||
 | 
			
		||||
> 1 May 2025
 | 
			
		||||
 | 
			
		||||
- feat(pdfs): Experimental generation of large runner card files [`93422b9`](https://git.odit.services/lfk/frontend/commit/93422b97799c5e45c89acadd34f33b1a11b04617)
 | 
			
		||||
- chore(release): 1.12.6 [`b5c079d`](https://git.odit.services/lfk/frontend/commit/b5c079da9a0545d146e9f3029a543e04c907add3)
 | 
			
		||||
 | 
			
		||||
#### [1.12.5](https://git.odit.services/lfk/frontend/compare/1.12.4...1.12.5)
 | 
			
		||||
 | 
			
		||||
> 1 May 2025
 | 
			
		||||
 | 
			
		||||
- chore(release): 1.12.5 [`6dcfd9a`](https://git.odit.services/lfk/frontend/commit/6dcfd9a4fedd1e44894c9803482576bc650fb4db)
 | 
			
		||||
- fix(locales): Fixed translation [`2139524`](https://git.odit.services/lfk/frontend/commit/21395241de4de8f3a6b8404758d09c01d8a6f95f)
 | 
			
		||||
- feat(runners): Show total donations in runner detail [`f27c716`](https://git.odit.services/lfk/frontend/commit/f27c716296e228ecccbf500a21130f1bc47ea52d)
 | 
			
		||||
- chore(deps): Bump @odit/lfk-client-js to 1.2.7 [`6d19199`](https://git.odit.services/lfk/frontend/commit/6d1919974aacd74a265cf9ce0c9ed501028f0aa3)
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
 | 
			
		||||
  <body>
 | 
			
		||||
    <span style="display: none; visibility: hidden" id="buildinfo"
 | 
			
		||||
      >RELEASE_INFO-1.12.5-RELEASE_INFO</span
 | 
			
		||||
      >RELEASE_INFO-1.12.8-RELEASE_INFO</span
 | 
			
		||||
    >
 | 
			
		||||
    <noscript>You need to enable JavaScript to run this app.</noscript>
 | 
			
		||||
    <script src="/env.js"></script>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "@odit/lfk-frontend",
 | 
			
		||||
  "version": "1.12.5",
 | 
			
		||||
  "version": "1.12.8",
 | 
			
		||||
  "type": "module",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "i18n-order": "node order.js",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										10
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							@@ -15,8 +15,8 @@ importers:
 | 
			
		||||
        specifier: ^5.2.5
 | 
			
		||||
        version: 5.2.5
 | 
			
		||||
      '@odit/lfk-client-js':
 | 
			
		||||
        specifier: 1.2.5
 | 
			
		||||
        version: 1.2.5
 | 
			
		||||
        specifier: 1.2.7
 | 
			
		||||
        version: 1.2.7
 | 
			
		||||
      '@paralleldrive/cuid2':
 | 
			
		||||
        specifier: 2.2.2
 | 
			
		||||
        version: 2.2.2
 | 
			
		||||
@@ -491,8 +491,8 @@ packages:
 | 
			
		||||
  '@octokit/types@13.10.0':
 | 
			
		||||
    resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==}
 | 
			
		||||
 | 
			
		||||
  '@odit/lfk-client-js@1.2.5':
 | 
			
		||||
    resolution: {integrity: sha512-a5vwqpjFXB5cVOCmjC/tZVi9OXJS8aMesNidSqwK2cwA/oC5yTJAqxKXGDhq9k/JLLipVGDJdaKMYmYVzRWkgA==}
 | 
			
		||||
  '@odit/lfk-client-js@1.2.7':
 | 
			
		||||
    resolution: {integrity: sha512-sqbbTjGlalN32VPshXClR3qM0+TFgWCX9+2UCo7u/tABEIs7hsYTVXKSZ+fJNfAUCK6ZJiZV0ND6+Dcnk7s29A==}
 | 
			
		||||
 | 
			
		||||
  '@odit/license-exporter@0.2.0':
 | 
			
		||||
    resolution: {integrity: sha512-RRyfQzDLoyLQlGSd8ThJQ3h0fiCe4tkmm935AUvSVQWP+p88FcnI4iaktKBJJVBnIpDhkv/7sDSA5dFc/QMM5w==}
 | 
			
		||||
@@ -2412,7 +2412,7 @@ snapshots:
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@octokit/openapi-types': 24.2.0
 | 
			
		||||
 | 
			
		||||
  '@odit/lfk-client-js@1.2.5': {}
 | 
			
		||||
  '@odit/lfk-client-js@1.2.7': {}
 | 
			
		||||
 | 
			
		||||
  '@odit/license-exporter@0.2.0':
 | 
			
		||||
    dependencies:
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
  import Settings from "./components/settings/Settings.svelte";
 | 
			
		||||
  import Transition from "./components/base/Transition.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 Footer from "./components/general/Footer.svelte";
 | 
			
		||||
  import TracksOverview from "./components/tracks/TracksOverview.svelte";
 | 
			
		||||
@@ -70,7 +70,7 @@
 | 
			
		||||
  import Cards from "./components/cards/Cards.svelte";
 | 
			
		||||
  import StatsClients from "./components/statsclients/StatsClients.svelte";
 | 
			
		||||
  import StatsClientDetail from "./components/statsclients/StatsClientDetail.svelte";
 | 
			
		||||
  import CardReplacement from "./components/general/CardReplacement.svelte";
 | 
			
		||||
  import CardReplacement from "./components/tools/CardReplacement.svelte";
 | 
			
		||||
  store.init();
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
@@ -126,20 +126,18 @@
 | 
			
		||||
          <Route path="/:trackid" let:params />
 | 
			
		||||
        </Route>
 | 
			
		||||
        <Route path="/runners/*">
 | 
			
		||||
          <Route path="/">
 | 
			
		||||
            <Runners created_via="all" />
 | 
			
		||||
          <Route path="/" let:meta>
 | 
			
		||||
            <Runners created_via={meta.query.created_via} />
 | 
			
		||||
          </Route>
 | 
			
		||||
          <Route path="/:runnerid" let:params>
 | 
			
		||||
            <RunnerDetail {params} />
 | 
			
		||||
          </Route>
 | 
			
		||||
        </Route>
 | 
			
		||||
        <Route path="/cardassignment/*">
 | 
			
		||||
          <Route path="/">
 | 
			
		||||
        <Route path="/tools/*">
 | 
			
		||||
          <Route path="/cardassignment/">
 | 
			
		||||
              <CardAssignment />
 | 
			
		||||
          </Route>
 | 
			
		||||
        </Route>
 | 
			
		||||
        <Route path="/cardreplacement/*">
 | 
			
		||||
          <Route path="/">
 | 
			
		||||
          <Route path="/cardreplacement/">
 | 
			
		||||
              <CardReplacement />
 | 
			
		||||
          </Route>
 | 
			
		||||
        </Route>
 | 
			
		||||
 
 | 
			
		||||
@@ -41,11 +41,14 @@
 | 
			
		||||
        </svg>
 | 
			
		||||
        <span>{$_("dashboard-title")}</span>
 | 
			
		||||
      </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")}
 | 
			
		||||
        <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"
 | 
			
		||||
					href="/cardassignment/"
 | 
			
		||||
          href="/tools/cardassignment/"
 | 
			
		||||
        >
 | 
			
		||||
          <svg
 | 
			
		||||
            xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
@@ -60,12 +63,12 @@
 | 
			
		||||
            />
 | 
			
		||||
          </svg>
 | 
			
		||||
 | 
			
		||||
					<span>{$_('card_assignment_menu')}</span>
 | 
			
		||||
          <span>{$_("card_assignment_menu")}</span>
 | 
			
		||||
        </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"
 | 
			
		||||
					href="/cardreplacement/"
 | 
			
		||||
          href="/tools/cardreplacement/"
 | 
			
		||||
        >
 | 
			
		||||
          <svg
 | 
			
		||||
            xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
@@ -80,8 +83,11 @@
 | 
			
		||||
            />
 | 
			
		||||
          </svg>
 | 
			
		||||
 | 
			
		||||
					<span>{$_('card-replacement-menu')}</span>
 | 
			
		||||
          <span>{$_("card-replacement-menu")}</span>
 | 
			
		||||
        </a>
 | 
			
		||||
        <h2 class="px-4 py-2 text-xs font-semibold text-gray-600 uppercase">
 | 
			
		||||
          {$_("management")}
 | 
			
		||||
        </h2>
 | 
			
		||||
        <a
 | 
			
		||||
          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"
 | 
			
		||||
@@ -359,6 +365,9 @@
 | 
			
		||||
          <span>{$_("user-groups")}</span>
 | 
			
		||||
        </a>
 | 
			
		||||
      {/if}
 | 
			
		||||
	  <h2 class="px-4 py-2 text-xs font-semibold text-gray-600 uppercase">
 | 
			
		||||
		  {$_("system")}
 | 
			
		||||
        </h2>
 | 
			
		||||
      <a
 | 
			
		||||
        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"
 | 
			
		||||
 
 | 
			
		||||
@@ -220,7 +220,7 @@
 | 
			
		||||
			<StatCard
 | 
			
		||||
				title={$_("runner_via_selfservice")}
 | 
			
		||||
				value={stats.runnersViaSelfservice}
 | 
			
		||||
				href="/runners/"
 | 
			
		||||
				href="/runners/?created_via=selfservice"
 | 
			
		||||
			>
 | 
			
		||||
				<svg
 | 
			
		||||
					height="24"
 | 
			
		||||
@@ -237,7 +237,7 @@
 | 
			
		||||
			<StatCard
 | 
			
		||||
				title={$_('runners_via_kiosk')}
 | 
			
		||||
				value={stats.runnersViaKiosk}
 | 
			
		||||
				href="/runners/"
 | 
			
		||||
				href="/runners/?created_via=kiosk"
 | 
			
		||||
			>
 | 
			
		||||
				<svg
 | 
			
		||||
					height="24"
 | 
			
		||||
 
 | 
			
		||||
@@ -33,9 +33,13 @@
 | 
			
		||||
    toast.success($_("pdf-successfully-generated"));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
	function generateRunnerCards(locale) {
 | 
			
		||||
  function generateRunnerCards(locale, useCombined = false) {
 | 
			
		||||
    if (generate_orgs.length > 0) {
 | 
			
		||||
			generateOrgCards(locale);
 | 
			
		||||
		if(useCombined){
 | 
			
		||||
			generateOrgCardsCombined(locale);
 | 
			
		||||
		} else {
 | 
			
		||||
			generateOrgCards(locale)
 | 
			
		||||
		}
 | 
			
		||||
    } else if (generate_teams.length > 0) {
 | 
			
		||||
      generateTeamCards(locale);
 | 
			
		||||
    } else if (generate_runners.length > 0) {
 | 
			
		||||
@@ -175,6 +179,55 @@
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  async function generateOrgCardsCombined(locale) {
 | 
			
		||||
    toast.loading($_("generating-pdfs"));
 | 
			
		||||
    const current_cards = await RunnerCardService.runnerCardControllerGetAll();
 | 
			
		||||
    let count = 0;
 | 
			
		||||
    let count_orgs = 0;
 | 
			
		||||
    for (const o of generate_orgs) {
 | 
			
		||||
      count_orgs++;
 | 
			
		||||
      let cards = [];
 | 
			
		||||
      let count = 0;
 | 
			
		||||
      let runners =
 | 
			
		||||
        await RunnerOrganizationService.runnerOrganizationControllerGetRunners(
 | 
			
		||||
          o.id,
 | 
			
		||||
          true
 | 
			
		||||
        );
 | 
			
		||||
      for (let runner of runners) {
 | 
			
		||||
        let card = current_cards.find((c) => c.runner?.id == runner.id);
 | 
			
		||||
        if (!card) {
 | 
			
		||||
          card = await RunnerCardService.runnerCardControllerPost({
 | 
			
		||||
            runner: runner.id,
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
        cards.push(card);
 | 
			
		||||
      }
 | 
			
		||||
      for (const t of o.teams) {
 | 
			
		||||
        count++;
 | 
			
		||||
        let runners = await RunnerTeamService.runnerTeamControllerGetRunners(
 | 
			
		||||
          t.id
 | 
			
		||||
        );
 | 
			
		||||
        for (let runner of runners) {
 | 
			
		||||
          let card = current_cards.find((c) => c.runner?.id == runner.id);
 | 
			
		||||
          if (!card) {
 | 
			
		||||
            card = await RunnerCardService.runnerCardControllerPost({
 | 
			
		||||
              runner: runner.id,
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
          cards.push(card);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      await documentServer
 | 
			
		||||
        .generateCards(cards, locale)
 | 
			
		||||
        .then((blob) => {
 | 
			
		||||
          download(
 | 
			
		||||
            blob,
 | 
			
		||||
            `${$_("runnercards")}_${o.name}-${locale}-${createId()}.pdf`
 | 
			
		||||
          );
 | 
			
		||||
        })
 | 
			
		||||
        .catch((err) => {});
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
{#if cards_show}
 | 
			
		||||
@@ -182,6 +235,9 @@
 | 
			
		||||
    on:click={() => {
 | 
			
		||||
      generateRunnerCards("de");
 | 
			
		||||
    }}
 | 
			
		||||
    on:contextmenu|preventDefault={() => {
 | 
			
		||||
      generateRunnerCards("de", true);
 | 
			
		||||
    }}
 | 
			
		||||
    class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:w-auto sm:text-sm mb-1 lg:mb-0"
 | 
			
		||||
  >
 | 
			
		||||
    {$_("generate-runnercards")}: DE
 | 
			
		||||
@@ -189,6 +245,9 @@
 | 
			
		||||
  <button
 | 
			
		||||
    on:click={() => {
 | 
			
		||||
      generateRunnerCards("en");
 | 
			
		||||
    }}
 | 
			
		||||
	on:contextmenu|preventDefault={() => {
 | 
			
		||||
      generateRunnerCards("en", true);
 | 
			
		||||
    }}
 | 
			
		||||
    class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:w-auto sm:text-sm mb-1 lg:mb-0"
 | 
			
		||||
  >
 | 
			
		||||
 
 | 
			
		||||
@@ -176,7 +176,6 @@
 | 
			
		||||
      const runners = await RunnerService.runnerControllerGetAll(
 | 
			
		||||
        page,
 | 
			
		||||
        500,
 | 
			
		||||
				created_via
 | 
			
		||||
      );
 | 
			
		||||
      if (runners.length == 0) {
 | 
			
		||||
        page = -2;
 | 
			
		||||
@@ -200,15 +199,21 @@
 | 
			
		||||
  $: current_runners = [];
 | 
			
		||||
  export let modal_open = false;
 | 
			
		||||
  export let import_modal_open = false;
 | 
			
		||||
 | 
			
		||||
  if (created_via != "all") {
 | 
			
		||||
    $table.setColumnFilters([
 | 
			
		||||
      {
 | 
			
		||||
        id: "created_via",
 | 
			
		||||
        value: created_via,
 | 
			
		||||
      },
 | 
			
		||||
    ]);
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<section class="container p-5">
 | 
			
		||||
  <h4 class="mb-1 text-3xl font-extrabold leading-tight">
 | 
			
		||||
    {$_("runners")}
 | 
			
		||||
  </h4>
 | 
			
		||||
	{#if created_via !== "all"}
 | 
			
		||||
		<p>created_via={created_via}</p>
 | 
			
		||||
	{/if}
 | 
			
		||||
  {#if store.state.jwtinfo.userdetails.permissions.includes("RUNNER:CREATE")}
 | 
			
		||||
    <button
 | 
			
		||||
      on:click={() => {
 | 
			
		||||
 
 | 
			
		||||
@@ -296,6 +296,7 @@
 | 
			
		||||
    "logout": "Abmelden",
 | 
			
		||||
    "mail-validation-in-progress": "E-Mail Verifizierung läuft... ",
 | 
			
		||||
    "manage-admin-users": "Nutzer verwalten",
 | 
			
		||||
    "management": "Verwaltung",
 | 
			
		||||
    "middle-name": "Mittelname",
 | 
			
		||||
    "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",
 | 
			
		||||
@@ -375,6 +376,7 @@
 | 
			
		||||
    "profile-deleted": "Profil gelöscht!",
 | 
			
		||||
    "profile-picture": "Profilbild",
 | 
			
		||||
    "profile-updated": "Profil wurde aktualisiert!",
 | 
			
		||||
    "quick-tools": "Werkzeuge",
 | 
			
		||||
    "read-license": "Lizenz-Text lesen",
 | 
			
		||||
    "receipt-needed": "Spendenquittung benötigt",
 | 
			
		||||
    "repo_link": "Link",
 | 
			
		||||
@@ -439,6 +441,7 @@
 | 
			
		||||
    "status": "Status",
 | 
			
		||||
    "stuff-that-could-harm-your-profile": "Einstellungen, die deinem Profil nachhaltig schaden können",
 | 
			
		||||
    "successful-password-reset": "Passwort erfolgreich zurückgesetzt!",
 | 
			
		||||
    "system": "System",
 | 
			
		||||
    "team": "Team",
 | 
			
		||||
    "team-added": "Team wurde erstellt",
 | 
			
		||||
    "team-deleted": "Team gelöscht",
 | 
			
		||||
 
 | 
			
		||||
@@ -51,7 +51,7 @@
 | 
			
		||||
    "author": "Author",
 | 
			
		||||
    "available-permissions": "available",
 | 
			
		||||
    "average-distance": "∅ distance",
 | 
			
		||||
    "average-donation": "∅ donation",
 | 
			
		||||
    "average-donation": "∅ Donation",
 | 
			
		||||
    "barcode_scanner": "Scan via barcode scanner",
 | 
			
		||||
    "by": "by",
 | 
			
		||||
    "cancel": "Cancel",
 | 
			
		||||
@@ -375,6 +375,7 @@
 | 
			
		||||
    "profile-deleted": "Profile deleted!",
 | 
			
		||||
    "profile-picture": "Profile Picture",
 | 
			
		||||
    "profile-updated": "Profile updated!",
 | 
			
		||||
    "quick-tools": "Tools",
 | 
			
		||||
    "read-license": "Read License",
 | 
			
		||||
    "receipt-needed": "Receipt needed",
 | 
			
		||||
    "repo_link": "Link",
 | 
			
		||||
@@ -388,7 +389,7 @@
 | 
			
		||||
    "runner-is-being-added": "Runner is being added...",
 | 
			
		||||
    "runner-updated": "Runner updated!",
 | 
			
		||||
    "runner_not_found": "Runner not found...",
 | 
			
		||||
    "runner_via_selfservice": "Runner via Selfservice",
 | 
			
		||||
    "runner_via_selfservice": "Runners via Selfservice",
 | 
			
		||||
    "runnercards": "Runnercards",
 | 
			
		||||
    "runnerimport_verify_runners_org": "Please confirm these runners for import into the organization \"{org_name}\"",
 | 
			
		||||
    "runners": "Runners",
 | 
			
		||||
@@ -439,6 +440,7 @@
 | 
			
		||||
    "status": "Status",
 | 
			
		||||
    "stuff-that-could-harm-your-profile": "Stuff that could harm your profile",
 | 
			
		||||
    "successful-password-reset": "Successful password reset!",
 | 
			
		||||
    "system": "System",
 | 
			
		||||
    "team": "Team",
 | 
			
		||||
    "team-added": "Team added",
 | 
			
		||||
    "team-deleted": "Team deleted",
 | 
			
		||||
@@ -469,11 +471,11 @@
 | 
			
		||||
    "token": "Token",
 | 
			
		||||
    "total-distance": "total distance",
 | 
			
		||||
    "total-donation-amount": "Total donations",
 | 
			
		||||
    "total-donation-count": "total donations (count)",
 | 
			
		||||
    "total-donations": "total donations",
 | 
			
		||||
    "total-donors": "total donors",
 | 
			
		||||
    "total-donation-count": "Donations (count)",
 | 
			
		||||
    "total-donations": "Donations (amount)",
 | 
			
		||||
    "total-donors": "Donors",
 | 
			
		||||
    "total-paid-amount": "Paid",
 | 
			
		||||
    "total-scans": "total scans",
 | 
			
		||||
    "total-scans": "Scans",
 | 
			
		||||
    "total_donation_amount_in_eur": "Total donation amount in €",
 | 
			
		||||
    "track": "Track",
 | 
			
		||||
    "track-added": "Track added",
 | 
			
		||||
 
 | 
			
		||||
@@ -43,8 +43,8 @@ const store = () => {
 | 
			
		||||
        //
 | 
			
		||||
        state.refreshInterval = setInterval(() => {
 | 
			
		||||
          this.refreshAuth();
 | 
			
		||||
          // 2min
 | 
			
		||||
        }, 2 * 60000);
 | 
			
		||||
          // 60min
 | 
			
		||||
        }, 60 * 60000);
 | 
			
		||||
        //
 | 
			
		||||
        return state;
 | 
			
		||||
      });
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user