Anki/ts/routes/card-info/[cardId]/[previousId]/+page.svelte
Damien Elmes 2d1c6c64e8 Add a separate route for card info in the sidebar
The move to Sveltekit broke the 'card info during review' add-on and
its descendants. This didn't get noticed in 24.11 due to the old
card-info.js file still being shipped.

I considered adding back the card-info.js generation, but it ended up
being simpler to move parts of the add-on into a separate page instead.
This is a stop-gap solution - in the future I'd like to get us to a
point where such component compositions can be done by add-ons,
and don't need to be done as part of Anki's build process.

Related: #3187
2025-01-24 18:08:11 +11:00

40 lines
1 KiB
Svelte

<!--
Copyright: Ankitects Pty Ltd and contributors
License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
-->
<script lang="ts">
import { page } from "$app/stores";
import CardInfo from "../../CardInfo.svelte";
import type { PageData } from "./$types";
import { goto } from "$app/navigation";
export let data: PageData;
const showRevlog = $page.url.searchParams.get("revlog") !== "0";
globalThis.anki ||= {};
globalThis.anki.updateCardInfos = async (card_id: string): Promise<void> => {
const path = `/card-info/${card_id}`;
return goto(path).catch(() => {
window.location.href = path;
});
};
</script>
<center>
{#if data.currentInfo}
<h3>Current</h3>
<CardInfo stats={data.currentInfo} {showRevlog} />
{/if}
{#if data.previousInfo}
<h3>Previous</h3>
<CardInfo stats={data.previousInfo} {showRevlog} />
{/if}
</center>
<style>
:global(body) {
font-size: 80%;
}
</style>