diff options
| author | Fuwn <[email protected]> | 2024-04-24 18:32:45 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-04-24 18:32:45 -0700 |
| commit | 5c4a66d8f4d232ff077b52bb48198de07b3765e0 (patch) | |
| tree | 54294d426285479c4568248991d6de89df61dc5c /src | |
| parent | fix(badges): fix dropdown z-index (diff) | |
| download | due.moe-5c4a66d8f4d232ff077b52bb48198de07b3765e0.tar.xz due.moe-5c4a66d8f4d232ff077b52bb48198de07b3765e0.zip | |
feat(list): setting to copy title
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 22 | ||||
| -rw-r--r-- | src/lib/List/Manga/CleanMangaList.svelte | 22 | ||||
| -rw-r--r-- | src/lib/Settings/Categories/Display.svelte | 4 | ||||
| -rw-r--r-- | src/stores/settings.ts | 4 |
4 files changed, 47 insertions, 5 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index b85b715e..6988fde0 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -99,7 +99,16 @@ > <div class="cover-card-image"> <a - href={outboundLink(anime, 'anime', $settings.displayOutboundLinksTo)} + href={$settings.displayCopyMediaTitleNotLink + ? '#' + : outboundLink(anime, 'anime', $settings.displayOutboundLinksTo)} + on:click={(e) => { + if ($settings.displayCopyMediaTitleNotLink) { + e.preventDefault(); + + navigator.clipboard.writeText(anime.title.romaji); + } + }} target="_blank" > <span class="cover-container"> @@ -170,7 +179,16 @@ disable={!$settings.displayHoverCover} > <a - href={outboundLink(anime, 'anime', $settings.displayOutboundLinksTo)} + href={$settings.displayCopyMediaTitleNotLink + ? '#' + : outboundLink(anime, 'anime', $settings.displayOutboundLinksTo)} + on:click={(e) => { + if ($settings.displayCopyMediaTitleNotLink) { + e.preventDefault(); + + navigator.clipboard.writeText(anime.title.romaji); + } + }} target="_blank" > <span diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte index 3319ee47..7adea64c 100644 --- a/src/lib/List/Manga/CleanMangaList.svelte +++ b/src/lib/List/Manga/CleanMangaList.svelte @@ -114,7 +114,16 @@ <Tooltip pin={`manga-${manga.id}`} content={manga ? mediaTitle(manga) : ''}> <div class="cover-card-image"> <a - href={outboundLink(manga, 'manga', $settings.displayOutboundLinksTo)} + href={$settings.displayCopyMediaTitleNotLink + ? '#' + : outboundLink(manga, 'manga', $settings.displayOutboundLinksTo)} + on:click={(e) => { + if ($settings.displayCopyMediaTitleNotLink) { + e.preventDefault(); + + navigator.clipboard.writeText(manga.title.romaji); + } + }} target="_blank" > <span class="cover-container"> @@ -177,7 +186,16 @@ disable={!$settings.displayHoverCover} > <a - href={outboundLink(manga, 'manga', $settings.displayOutboundLinksTo)} + href={$settings.displayCopyMediaTitleNotLink + ? '#' + : outboundLink(manga, 'manga', $settings.displayOutboundLinksTo)} + on:click={(e) => { + if ($settings.displayCopyMediaTitleNotLink) { + e.preventDefault(); + + navigator.clipboard.writeText(manga.title.romaji); + } + }} target="_blank" > <span diff --git a/src/lib/Settings/Categories/Display.svelte b/src/lib/Settings/Categories/Display.svelte index 7751514d..fac9305d 100644 --- a/src/lib/Settings/Categories/Display.svelte +++ b/src/lib/Settings/Categories/Display.svelte @@ -261,6 +261,10 @@ /> <SettingCheckboxToggle setting="displaySocialButton" text="Show social tab shortcut for media" /> <SettingCheckboxToggle setting="displayBlurAdultContent" text="Blur NSFW media covers" /> +<SettingCheckboxToggle + setting="displayCopyMediaTitleNotLink" + text="Copy media title instead of linking" +/> <select bind:value={$settings.displayTitleFormat}> <option value="english"> {$locale().settings.display.categories.media.fields.mediaTitleFormat.options.english} diff --git a/src/stores/settings.ts b/src/stores/settings.ts index decf1c64..cff1dc2b 100644 --- a/src/stores/settings.ts +++ b/src/stores/settings.ts @@ -5,7 +5,7 @@ import settingsSyncPulled from './settingsSyncPulled'; import settingsSyncTimes from './settingsSyncTimes'; import identity from './identity'; -const VERSION = '1.0.0'; +const VERSION = '1.0.1'; export interface Settings { cacheMangaMinutes: number; @@ -58,6 +58,7 @@ export interface Settings { settingsSync: boolean; settingsVersion?: string; displayBlurAdultContent: boolean; + displayCopyMediaTitleNotLink: boolean; } const defaultSettings: Settings = { @@ -94,6 +95,7 @@ const defaultSettings: Settings = { displayLanguage: 'en', displayDisableLastActivityWarning: false, displayBlurAdultContent: true, + displayCopyMediaTitleNotLink: false, // Calculation calculateChaptersRoundedDown: true, |