mirror of
https://github.com/ThaUnknown/miru.git
synced 2026-04-19 21:02:06 +00:00
chore: import sort
This commit is contained in:
parent
0f0cf183f9
commit
433b474ead
70 changed files with 200 additions and 199 deletions
|
|
@ -21,7 +21,8 @@ export default tseslint.config(
|
|||
'no-undef-init': 'off',
|
||||
'import/order': ['error', {
|
||||
'newlines-between': 'always',
|
||||
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type']
|
||||
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type'],
|
||||
alphabetize: { order: 'asc' }
|
||||
}],
|
||||
'@typescript-eslint/no-unnecessary-condition': 'warn'
|
||||
// '@typescript-eslint/no-unused-vars': 'off'
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
// @ts-expect-error no types for this, that's fine
|
||||
import { writeFileSync } from 'node:fs'
|
||||
|
||||
import { getIntrospectionQuery, type IntrospectionQuery } from 'graphql'
|
||||
import { getIntrospectedSchema, minifyIntrospectionQuery } from '@urql/introspection'
|
||||
import { getIntrospectionQuery, type IntrospectionQuery } from 'graphql'
|
||||
|
||||
const res = await fetch('https://graphql.anilist.co', {
|
||||
method: 'POST',
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<script lang='ts'>
|
||||
import { PencilLine } from 'lucide-svelte'
|
||||
|
||||
import * as Dialog from '$lib/components/ui/dialog'
|
||||
import * as Select from '$lib/components/ui/select'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import * as Dialog from '$lib/components/ui/dialog'
|
||||
import { Input } from '$lib/components/ui/input'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
import * as Select from '$lib/components/ui/select'
|
||||
import { cover, title, type Media } from '$lib/modules/anilist'
|
||||
import { list, progress as _progress, score as _score, repeat as _repeat, authAggregator, lists } from '$lib/modules/auth'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
|
||||
export let media: Media
|
||||
|
||||
|
|
|
|||
|
|
@ -10,18 +10,18 @@
|
|||
import { ChevronLeft, Play, ChevronRight } from 'lucide-svelte'
|
||||
|
||||
import Pagination from './Pagination.svelte'
|
||||
import { Button } from './ui/button'
|
||||
import { searchStore } from './SearchModal.svelte'
|
||||
import { Button } from './ui/button'
|
||||
import { Load } from './ui/img'
|
||||
|
||||
import type { EpisodesResponse } from '$lib/modules/anizip/types'
|
||||
|
||||
import * as Avatar from '$lib/components/ui/avatar'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import { episodes as _episodes, dedupeAiring, episodeByAirDate, notes, type Media } from '$lib/modules/anilist'
|
||||
import { cn, isMobile, since } from '$lib/utils'
|
||||
import { authAggregator, list, progress } from '$lib/modules/auth'
|
||||
import { click, dragScroll } from '$lib/modules/navigate'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import * as Avatar from '$lib/components/ui/avatar'
|
||||
import { cn, isMobile, since } from '$lib/utils'
|
||||
|
||||
export let eps: EpisodesResponse | null
|
||||
export let media: Media
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
<script lang='ts' context='module'>
|
||||
import { BadgeCheck, Database } from 'lucide-svelte'
|
||||
import { writable } from 'simple-store-svelte'
|
||||
import { MagnifyingGlass } from 'svelte-radix'
|
||||
import { BadgeCheck, Database } from 'lucide-svelte'
|
||||
|
||||
import { Input } from './ui/input'
|
||||
import { SingleCombo } from './ui/combobox'
|
||||
import { Input } from './ui/input'
|
||||
|
||||
import type { AnitomyResult } from 'anitomyscript'
|
||||
import type { TorrentResult } from 'hayase-extensions'
|
||||
|
||||
import { extensions } from '$lib/modules/extensions/extensions'
|
||||
import * as Dialog from '$lib/components/ui/dialog'
|
||||
import { settings, videoResolutions } from '$lib/modules/settings'
|
||||
import { title, type Media } from '$lib/modules/anilist'
|
||||
import { extensions } from '$lib/modules/extensions/extensions'
|
||||
import { click, dragScroll } from '$lib/modules/navigate'
|
||||
import { settings, videoResolutions } from '$lib/modules/settings'
|
||||
import { fastPrettyBytes, since } from '$lib/utils'
|
||||
|
||||
const termMapping: Record<string, {text: string, color: string}> = {}
|
||||
|
|
@ -66,9 +66,9 @@
|
|||
import ProgressButton from './ui/button/progress-button.svelte'
|
||||
import { Banner } from './ui/img'
|
||||
|
||||
import { goto } from '$app/navigation'
|
||||
import { saved } from '$lib/modules/extensions'
|
||||
import { server } from '$lib/modules/torrent'
|
||||
import { goto } from '$app/navigation'
|
||||
|
||||
$: open = !!$searchStore.media
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
import { Button } from './ui/button'
|
||||
|
||||
import { cn } from '$lib/utils.js'
|
||||
import { page } from '$app/stores'
|
||||
import { cn } from '$lib/utils.js'
|
||||
|
||||
let className: string | undefined | null = ''
|
||||
export let items: Array<{ href: string, title: string }>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import Root from './avatar.svelte'
|
||||
import Image from './avatar-image.svelte'
|
||||
import Fallback from './avatar-fallback.svelte'
|
||||
import Image from './avatar-image.svelte'
|
||||
import Root from './avatar.svelte'
|
||||
|
||||
export {
|
||||
Root,
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@
|
|||
|
||||
import { bannerSrc } from './banner-image.svelte'
|
||||
|
||||
import { click } from '$lib/modules/navigate'
|
||||
import { desc, duration, format, season, title, type Media } from '$lib/modules/anilist'
|
||||
import { of } from '$lib/modules/auth'
|
||||
import { click } from '$lib/modules/navigate'
|
||||
export let mediaList: Array<Media | null>
|
||||
|
||||
function shuffle <T extends unknown[]> (array: T): T {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { type VariantProps, tv } from 'tailwind-variants'
|
||||
|
||||
import Root from './button.svelte'
|
||||
import Play from './play.svelte'
|
||||
import Favorite from './favorite.svelte'
|
||||
import Bookmark from './bookmark.svelte'
|
||||
import Root from './button.svelte'
|
||||
import Favorite from './favorite.svelte'
|
||||
import Play from './play.svelte'
|
||||
|
||||
import type { Button as ButtonPrimitive } from 'bits-ui'
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
import type { Media } from '$lib/modules/anilist'
|
||||
|
||||
import { searchStore } from '$lib/components/SearchModal.svelte'
|
||||
import { Button, iconSizes, type Props } from '$lib/components/ui/button'
|
||||
import { cn } from '$lib/utils'
|
||||
import { list, progress } from '$lib/modules/auth'
|
||||
import { clickwrap, keywrap } from '$lib/modules/navigate'
|
||||
import { searchStore } from '$lib/components/SearchModal.svelte'
|
||||
import { cn } from '$lib/utils'
|
||||
|
||||
type $$Props = Props & { media: Media }
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
import YoutubeIframe from './YoutubeIframe.svelte'
|
||||
|
||||
import { desc, duration, format, season, title, type Media } from '$lib/modules/anilist'
|
||||
import { cn } from '$lib/utils'
|
||||
import { of } from '$lib/modules/auth'
|
||||
import { cn } from '$lib/utils'
|
||||
|
||||
export let media: Media
|
||||
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@
|
|||
|
||||
import type { Media } from '$lib/modules/anilist/types'
|
||||
|
||||
import { goto } from '$app/navigation'
|
||||
import { coverMedium, format, title } from '$lib/modules/anilist/util'
|
||||
import { hover } from '$lib/modules/navigate'
|
||||
import { goto } from '$app/navigation'
|
||||
|
||||
export let media: Media
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
import type { Writable } from 'svelte/store'
|
||||
|
||||
import { click } from '$lib/modules/navigate'
|
||||
import native from '$lib/modules/native'
|
||||
import { click } from '$lib/modules/navigate'
|
||||
|
||||
export let users: Writable<Record<string, ChatUser>>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,15 +8,15 @@
|
|||
</script>
|
||||
|
||||
<script lang='ts'>
|
||||
import { CaretSort, Check } from 'svelte-radix'
|
||||
import { tick } from 'svelte'
|
||||
import { X } from 'lucide-svelte'
|
||||
import { tick } from 'svelte'
|
||||
import { CaretSort, Check } from 'svelte-radix'
|
||||
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import * as Command from '$lib/components/ui/command'
|
||||
import * as Popover from '$lib/components/ui/popover'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import { cn } from '$lib/utils.js'
|
||||
import { intputType } from '$lib/modules/navigate'
|
||||
import { cn } from '$lib/utils.js'
|
||||
|
||||
interface value {
|
||||
value: string
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import { Command as CommandPrimitive } from 'cmdk-sv'
|
||||
|
||||
import Root from './command.svelte'
|
||||
import Dialog from './command-dialog.svelte'
|
||||
import Empty from './command-empty.svelte'
|
||||
import Group from './command-group.svelte'
|
||||
import Item from './command-item.svelte'
|
||||
import Input from './command-input.svelte'
|
||||
import Item from './command-item.svelte'
|
||||
import List from './command-list.svelte'
|
||||
import Separator from './command-separator.svelte'
|
||||
import Shortcut from './command-shortcut.svelte'
|
||||
import Root from './command.svelte'
|
||||
|
||||
const Loading = CommandPrimitive.Loading
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui'
|
||||
|
||||
import CheckboxItem from './context-menu-checkbox-item.svelte'
|
||||
import Content from './context-menu-content.svelte'
|
||||
import Item from './context-menu-item.svelte'
|
||||
import Label from './context-menu-label.svelte'
|
||||
import Content from './context-menu-content.svelte'
|
||||
import Shortcut from './context-menu-shortcut.svelte'
|
||||
import RadioGroup from './context-menu-radio-group.svelte'
|
||||
import RadioItem from './context-menu-radio-item.svelte'
|
||||
import Separator from './context-menu-separator.svelte'
|
||||
import RadioGroup from './context-menu-radio-group.svelte'
|
||||
import Shortcut from './context-menu-shortcut.svelte'
|
||||
import SubContent from './context-menu-sub-content.svelte'
|
||||
import SubTrigger from './context-menu-sub-trigger.svelte'
|
||||
import CheckboxItem from './context-menu-checkbox-item.svelte'
|
||||
|
||||
const Sub = ContextMenuPrimitive.Sub
|
||||
const Root = ContextMenuPrimitive.Root
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Dialog as DialogPrimitive } from 'bits-ui'
|
||||
|
||||
import Title from './dialog-title.svelte'
|
||||
import Portal from './dialog-portal.svelte'
|
||||
import Content from './dialog-content.svelte'
|
||||
import Description from './dialog-description.svelte'
|
||||
import Footer from './dialog-footer.svelte'
|
||||
import Header from './dialog-header.svelte'
|
||||
import Overlay from './dialog-overlay.svelte'
|
||||
import Content from './dialog-content.svelte'
|
||||
import Description from './dialog-description.svelte'
|
||||
import Portal from './dialog-portal.svelte'
|
||||
import Title from './dialog-title.svelte'
|
||||
|
||||
const Root = DialogPrimitive.Root
|
||||
const Trigger = DialogPrimitive.Trigger
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import { Drawer as DrawerPrimitive } from 'vaul-svelte'
|
||||
|
||||
import Root from './drawer.svelte'
|
||||
import Content from './drawer-content.svelte'
|
||||
import Description from './drawer-description.svelte'
|
||||
import Overlay from './drawer-overlay.svelte'
|
||||
import Footer from './drawer-footer.svelte'
|
||||
import Header from './drawer-header.svelte'
|
||||
import Title from './drawer-title.svelte'
|
||||
import NestedRoot from './drawer-nested.svelte'
|
||||
import Overlay from './drawer-overlay.svelte'
|
||||
import Title from './drawer-title.svelte'
|
||||
import Root from './drawer.svelte'
|
||||
|
||||
const Trigger = DrawerPrimitive.Trigger
|
||||
const Portal = DrawerPrimitive.Portal
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@
|
|||
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import * as Dialog from '$lib/components/ui/dialog'
|
||||
import { storage, options as exopts } from '$lib/modules/extensions'
|
||||
import { Input } from '$lib/components/ui/input'
|
||||
import { Label } from '$lib/components/ui/label'
|
||||
import { Switch } from '$lib/components/ui/switch'
|
||||
import { storage, options as exopts } from '$lib/modules/extensions'
|
||||
|
||||
export let config: ExtensionConfig
|
||||
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@
|
|||
|
||||
import ExtensionSettings from './ExtensionSettings.svelte'
|
||||
|
||||
import * as Tabs from '$lib/components/ui/tabs'
|
||||
import { Input } from '$lib/components/ui/input'
|
||||
import { saved, storage } from '$lib/modules/extensions'
|
||||
import * as Tabs from '$lib/components/ui/tabs'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import { saved, storage } from '$lib/modules/extensions'
|
||||
import { codeToEmoji } from '$lib/utils'
|
||||
|
||||
const typeMap = {
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@
|
|||
|
||||
import { Write } from '.'
|
||||
|
||||
import type { ResultOf } from 'gql.tada'
|
||||
import type { CommentFrag } from '$lib/modules/anilist/queries'
|
||||
import type { ResultOf } from 'gql.tada'
|
||||
|
||||
import * as Avatar from '$lib/components/ui/avatar'
|
||||
import { since } from '$lib/utils'
|
||||
import { client } from '$lib/modules/anilist'
|
||||
import { since } from '$lib/utils'
|
||||
|
||||
export let comment: ResultOf<typeof CommentFrag>
|
||||
export let depth = 0
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@
|
|||
import Pagination from '../../Pagination.svelte'
|
||||
import { Button } from '../button'
|
||||
|
||||
import * as Avatar from '$lib/components/ui/avatar'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import { client, type Media } from '$lib/modules/anilist'
|
||||
import { isMobile, since } from '$lib/utils'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import * as Avatar from '$lib/components/ui/avatar'
|
||||
|
||||
export let media: Media
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
import { Button } from '../button'
|
||||
import { Textarea } from '../textarea'
|
||||
|
||||
import { client } from '$lib/modules/anilist'
|
||||
import * as Drawer from '$lib/components/ui/drawer'
|
||||
import { client } from '$lib/modules/anilist'
|
||||
|
||||
export let isLocked = false
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<script lang='ts'>
|
||||
import type { HTMLInputAttributes } from 'svelte/elements'
|
||||
import type { InputEvents } from './index.js'
|
||||
import type { HTMLInputAttributes } from 'svelte/elements'
|
||||
|
||||
import { cn } from '$lib/utils.js'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
<script lang='ts' context='module'>
|
||||
import { writable, type Writable } from 'simple-store-svelte'
|
||||
import { SendHorizontal } from 'lucide-svelte'
|
||||
import { writable, type Writable } from 'simple-store-svelte'
|
||||
|
||||
import { Messages, UserList } from '../chat'
|
||||
|
||||
import MessageClient from '$lib/modules/irc'
|
||||
import { client } from '$lib/modules/anilist'
|
||||
import { Textarea } from '$lib/components/ui/textarea'
|
||||
import { client } from '$lib/modules/anilist'
|
||||
import MessageClient from '$lib/modules/irc'
|
||||
|
||||
const irc: Writable<Promise<MessageClient> | null> = writable(null)
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
<script lang='ts'>
|
||||
import { writable } from 'svelte/store'
|
||||
import { SkipBack, SkipForward } from 'lucide-svelte'
|
||||
import { writable } from 'svelte/store'
|
||||
|
||||
import * as Sheet from '../sheet'
|
||||
import { Button } from '../button'
|
||||
import * as Sheet from '../sheet'
|
||||
|
||||
import type { TorrentFile } from '../../../../app'
|
||||
import type { ResolvedFile } from './resolver'
|
||||
import type { MediaInfo } from './util'
|
||||
import type { TorrentFile } from '../../../../app'
|
||||
|
||||
import { goto } from '$app/navigation'
|
||||
import { page } from '$app/stores'
|
||||
import { click } from '$lib/modules/navigate'
|
||||
import { episodes } from '$lib/modules/anizip'
|
||||
import EpisodesList from '$lib/components/EpisodesList.svelte'
|
||||
import native from '$lib/modules/native'
|
||||
import { toTS } from '$lib/utils'
|
||||
import * as Dialog from '$lib/components/ui/dialog'
|
||||
import { episodes } from '$lib/modules/anizip'
|
||||
import { authAggregator } from '$lib/modules/auth'
|
||||
import native from '$lib/modules/native'
|
||||
import { click } from '$lib/modules/navigate'
|
||||
import { settings } from '$lib/modules/settings'
|
||||
import { toTS } from '$lib/utils'
|
||||
|
||||
export let mediaInfo: MediaInfo
|
||||
export let otherFiles: TorrentFile[]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script context='module' lang='ts'>
|
||||
import { persisted } from 'svelte-persisted-store'
|
||||
import { writable } from 'simple-store-svelte'
|
||||
import { get } from 'svelte/store'
|
||||
import { persisted } from 'svelte-persisted-store'
|
||||
|
||||
import { keys, layout, type KeyCode } from './maps.ts'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
<script lang='ts'>
|
||||
import Player from './player.svelte'
|
||||
import Externalplayer from './externalplayer.svelte'
|
||||
import Player from './player.svelte'
|
||||
|
||||
import type { resolveFilesPoorly, ResolvedFile } from './resolver'
|
||||
import type { MediaInfo } from '$lib/components/ui/player/util'
|
||||
import type { resolveFilesPoorly, ResolvedFile } from './resolver'
|
||||
|
||||
import { cover, episodes, title } from '$lib/modules/anilist'
|
||||
import { searchStore } from '$lib/components/SearchModal.svelte'
|
||||
import { settings } from '$lib/modules/settings'
|
||||
import { fillerEpisodes } from '$lib/components/EpisodesList.svelte'
|
||||
import { searchStore } from '$lib/components/SearchModal.svelte'
|
||||
import { cover, episodes, title } from '$lib/modules/anilist'
|
||||
import { settings } from '$lib/modules/settings'
|
||||
|
||||
export let mediaInfo: NonNullable<Awaited<ReturnType<typeof resolveFilesPoorly>>>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,17 +5,17 @@
|
|||
import Keybinds from './keybinds.svelte'
|
||||
import { normalizeSubs, normalizeTracks, type Chapter } from './util'
|
||||
|
||||
import type { ResolvedFile } from './resolver'
|
||||
import type Subtitles from './subtitles'
|
||||
import type { Writable } from 'simple-store-svelte'
|
||||
import type { HTMLAttributes } from 'svelte/elements'
|
||||
import type Subtitles from './subtitles'
|
||||
import type { ResolvedFile } from './resolver'
|
||||
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import * as Dialog from '$lib/components/ui/dialog'
|
||||
import * as Tree from '$lib/components/ui/tree'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import { cn, toTS } from '$lib/utils'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
import { settings } from '$lib/modules/settings'
|
||||
import { cn, toTS } from '$lib/utils'
|
||||
|
||||
export let wrapper: HTMLDivElement
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<script lang='ts'>
|
||||
|
||||
import { resolveFilesPoorly } from './resolver'
|
||||
import Mediahandler from './mediahandler.svelte'
|
||||
import { resolveFilesPoorly } from './resolver'
|
||||
|
||||
import { server } from '$lib/modules/torrent'
|
||||
import { page } from '$app/stores'
|
||||
import { goto } from '$app/navigation'
|
||||
import { page } from '$app/stores'
|
||||
import { server } from '$lib/modules/torrent'
|
||||
|
||||
const act = server.active
|
||||
|
||||
|
|
|
|||
|
|
@ -1,40 +1,40 @@
|
|||
<script lang='ts'>
|
||||
import { Cast, FastForward, Maximize, Minimize, Pause, Rewind, SkipBack, SkipForward, Captions, Contrast, List, PictureInPicture2, Proportions, RefreshCcw, RotateCcw, RotateCw, ScreenShare, Volume1, Volume2, VolumeX, ChevronDown, ChevronUp, Users } from 'lucide-svelte'
|
||||
import { onMount } from 'svelte'
|
||||
import { fade } from 'svelte/transition'
|
||||
import { persisted } from 'svelte-persisted-store'
|
||||
import { toast } from 'svelte-sonner'
|
||||
import { fade } from 'svelte/transition'
|
||||
import { onMount } from 'svelte'
|
||||
import VideoDeband from 'video-deband'
|
||||
|
||||
import { condition, loadWithDefaults } from './keybinds.svelte'
|
||||
import Seekbar from './seekbar.svelte'
|
||||
import { autoPiP, burnIn, getChaptersAniSkip, getChapterTitle, sanitizeChapters, type Chapter, type MediaInfo } from './util'
|
||||
import Thumbnailer from './thumbnailer'
|
||||
import Options from './options.svelte'
|
||||
import Volume from './volume.svelte'
|
||||
import Seekbar from './seekbar.svelte'
|
||||
import Subs from './subtitles'
|
||||
import Thumbnailer from './thumbnailer'
|
||||
import { autoPiP, burnIn, getChaptersAniSkip, getChapterTitle, sanitizeChapters, type Chapter, type MediaInfo } from './util'
|
||||
import Volume from './volume.svelte'
|
||||
|
||||
import type { SvelteMediaTimeRange } from 'svelte/elements'
|
||||
import type { TorrentFile } from '../../../../app'
|
||||
import type { ResolvedFile } from './resolver'
|
||||
import type { TorrentFile } from '../../../../app'
|
||||
import type { SvelteMediaTimeRange } from 'svelte/elements'
|
||||
|
||||
import { server } from '$lib/modules/torrent'
|
||||
import PictureInPictureExit from '$lib/components/icons/PictureInPictureExit.svelte'
|
||||
import * as Sheet from '$lib/components/ui/sheet'
|
||||
import { goto } from '$app/navigation'
|
||||
import { page } from '$app/stores'
|
||||
import EpisodesList from '$lib/components/EpisodesList.svelte'
|
||||
import PictureInPicture from '$lib/components/icons/PictureInPicture.svelte'
|
||||
import Subtitles from '$lib/components/icons/Subtitles.svelte'
|
||||
import PictureInPictureExit from '$lib/components/icons/PictureInPictureExit.svelte'
|
||||
import Play from '$lib/components/icons/Play.svelte'
|
||||
import Subtitles from '$lib/components/icons/Subtitles.svelte'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import { settings } from '$lib/modules/settings'
|
||||
import { toTS, fastPrettyBits } from '$lib/utils'
|
||||
import * as Sheet from '$lib/components/ui/sheet'
|
||||
import { episodes } from '$lib/modules/anizip'
|
||||
import { authAggregator } from '$lib/modules/auth'
|
||||
import { isPlaying } from '$lib/modules/idle'
|
||||
import native from '$lib/modules/native'
|
||||
import { click } from '$lib/modules/navigate'
|
||||
import { goto } from '$app/navigation'
|
||||
import EpisodesList from '$lib/components/EpisodesList.svelte'
|
||||
import { episodes } from '$lib/modules/anizip'
|
||||
import { page } from '$app/stores'
|
||||
import { isPlaying } from '$lib/modules/idle'
|
||||
import { authAggregator } from '$lib/modules/auth'
|
||||
import { settings } from '$lib/modules/settings'
|
||||
import { server } from '$lib/modules/torrent'
|
||||
import { toTS, fastPrettyBits } from '$lib/utils'
|
||||
|
||||
export let mediaInfo: MediaInfo
|
||||
export let otherFiles: TorrentFile[]
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import anitomyscript from 'anitomyscript'
|
||||
|
||||
import type { AnitomyResult } from 'anitomyscript'
|
||||
import type { ResultOf } from 'gql.tada'
|
||||
import type { MediaEdgeFrag } from '$lib/modules/anilist/queries'
|
||||
import type { TorrentFile } from '../../../../app'
|
||||
import type { AnitomyResult } from 'anitomyscript'
|
||||
import type { ResultOf } from 'gql.tada'
|
||||
|
||||
import { client, episodes, type Media } from '$lib/modules/anilist'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import JASSUB, { type ASS_Event as ASSEvent } from 'jassub'
|
||||
import { get } from 'svelte/store'
|
||||
import { writable } from 'simple-store-svelte'
|
||||
import { get } from 'svelte/store'
|
||||
|
||||
import { fontRx, type ResolvedFile } from './resolver'
|
||||
|
||||
import type { TorrentFile } from '../../../../app'
|
||||
|
||||
import { HashMap } from '$lib/utils'
|
||||
import { settings, SUPPORTS } from '$lib/modules/settings'
|
||||
// import { toTS } from '$lib/utils'
|
||||
import native from '$lib/modules/native'
|
||||
import { settings, SUPPORTS } from '$lib/modules/settings'
|
||||
import { HashMap } from '$lib/utils'
|
||||
// import { toTS } from '$lib/utils'
|
||||
|
||||
const defaultHeader = `[Script Info]
|
||||
Title: English (US)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { get } from 'svelte/store'
|
||||
|
||||
import type { Media } from '$lib/modules/anilist'
|
||||
import type { Track } from '../../../../app'
|
||||
import type Subtitles from './subtitles'
|
||||
import type { ResolvedFile } from './resolver'
|
||||
import type Subtitles from './subtitles'
|
||||
import type { Track } from '../../../../app'
|
||||
import type VideoDeband from 'video-deband'
|
||||
|
||||
import { settings } from '$lib/modules/settings'
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { Select as SelectPrimitive } from 'bits-ui'
|
||||
|
||||
import Label from './select-label.svelte'
|
||||
import Item from './select-item.svelte'
|
||||
import Content from './select-content.svelte'
|
||||
import Trigger from './select-trigger.svelte'
|
||||
import Item from './select-item.svelte'
|
||||
import Label from './select-label.svelte'
|
||||
import Separator from './select-separator.svelte'
|
||||
import Trigger from './select-trigger.svelte'
|
||||
|
||||
const Root = SelectPrimitive.Root
|
||||
const Group = SelectPrimitive.Group
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import { Dialog as SheetPrimitive } from 'bits-ui'
|
||||
import { type VariantProps, tv } from 'tailwind-variants'
|
||||
|
||||
import Portal from './sheet-portal.svelte'
|
||||
import Overlay from './sheet-overlay.svelte'
|
||||
import Content from './sheet-content.svelte'
|
||||
import Header from './sheet-header.svelte'
|
||||
import Footer from './sheet-footer.svelte'
|
||||
import Title from './sheet-title.svelte'
|
||||
import Description from './sheet-description.svelte'
|
||||
import Footer from './sheet-footer.svelte'
|
||||
import Header from './sheet-header.svelte'
|
||||
import Overlay from './sheet-overlay.svelte'
|
||||
import Portal from './sheet-portal.svelte'
|
||||
import Title from './sheet-title.svelte'
|
||||
|
||||
const Root = SheetPrimitive.Root
|
||||
const Close = SheetPrimitive.Close
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script lang='ts'>
|
||||
import { Dialog as SheetPrimitive } from 'bits-ui'
|
||||
import Cross2 from 'svelte-radix/Cross2.svelte'
|
||||
import { fly } from 'svelte/transition'
|
||||
import Cross2 from 'svelte-radix/Cross2.svelte'
|
||||
|
||||
import {
|
||||
SheetOverlay,
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@
|
|||
|
||||
import SidebarButton from './SidebarButton.svelte'
|
||||
|
||||
import native from '$lib/modules/native'
|
||||
import client from '$lib/modules/auth/client'
|
||||
import * as Avatar from '$lib/components/ui/avatar'
|
||||
import { lockedState, idleState, activityState } from '$lib/modules/idle'
|
||||
import { page } from '$app/stores'
|
||||
import Logo from '$lib/components/icons/Logo.svelte'
|
||||
import * as Avatar from '$lib/components/ui/avatar'
|
||||
import client from '$lib/modules/auth/client'
|
||||
import { lockedState, idleState, activityState } from '$lib/modules/idle'
|
||||
import native from '$lib/modules/native'
|
||||
|
||||
const auth = client.hasAuth
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
import Root from './table.svelte'
|
||||
import Body from './table-body.svelte'
|
||||
import Caption from './table-caption.svelte'
|
||||
import Cell from './table-cell.svelte'
|
||||
|
|
@ -6,6 +5,7 @@ import Footer from './table-footer.svelte'
|
|||
import Head from './table-head.svelte'
|
||||
import Header from './table-header.svelte'
|
||||
import Row from './table-row.svelte'
|
||||
import Root from './table.svelte'
|
||||
|
||||
export {
|
||||
Root,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<script lang='ts'>
|
||||
import type { HTMLTextareaAttributes } from 'svelte/elements'
|
||||
import type { TextareaEvents } from './index.js'
|
||||
import type { HTMLTextareaAttributes } from 'svelte/elements'
|
||||
|
||||
import { cn } from '$lib/utils.js'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
import { Client, fetchExchange, queryStore, type OperationResultState, gql as _gql } from '@urql/svelte'
|
||||
import { authExchange } from '@urql/exchange-auth'
|
||||
import { offlineExchange } from '@urql/exchange-graphcache'
|
||||
import { makeDefaultStorage } from '@urql/exchange-graphcache/default-storage'
|
||||
import { authExchange } from '@urql/exchange-auth'
|
||||
import { refocusExchange } from '@urql/exchange-refocus'
|
||||
import { Client, fetchExchange, queryStore, type OperationResultState, gql as _gql } from '@urql/svelte'
|
||||
import Bottleneck from 'bottleneck'
|
||||
import lavenshtein from 'js-levenshtein'
|
||||
import { readable, writable, type Writable } from 'simple-store-svelte'
|
||||
import { derived } from 'svelte/store'
|
||||
import lavenshtein from 'js-levenshtein'
|
||||
|
||||
import schema from './schema.json' with { type: 'json' }
|
||||
import { CommentFrag, Comments, CustomLists, DeleteEntry, DeleteThreadComment, Entry, Following, FullMedia, FullMediaList, IDMedia, SaveThreadComment, Schedule, Search, ThreadFrag, Threads, ToggleFavourite, ToggleLike, UserLists, Viewer } from './queries'
|
||||
import { currentSeason, currentYear, lastSeason, lastYear, nextSeason, nextYear } from './util'
|
||||
import gql from './gql'
|
||||
import { CommentFrag, Comments, CustomLists, DeleteEntry, DeleteThreadComment, Entry, Following, FullMedia, FullMediaList, IDMedia, SaveThreadComment, Schedule, Search, ThreadFrag, Threads, ToggleFavourite, ToggleLike, UserLists, Viewer } from './queries'
|
||||
import schema from './schema.json' with { type: 'json' }
|
||||
import { currentSeason, currentYear, lastSeason, lastYear, nextSeason, nextYear } from './util'
|
||||
|
||||
import type { Media } from './types'
|
||||
import type { ResultOf, VariablesOf } from 'gql.tada'
|
||||
import type { AnyVariables, OperationContext, RequestPolicy, TypedDocumentNode } from 'urql'
|
||||
import type { Media } from './types'
|
||||
|
||||
import { safeLocalStorage, sleep } from '$lib/utils'
|
||||
import native from '$lib/modules/native'
|
||||
import { dev } from '$app/environment'
|
||||
import native from '$lib/modules/native'
|
||||
import { safeLocalStorage, sleep } from '$lib/utils'
|
||||
|
||||
function arrayEqual <T> (a: T[], b: T[]) {
|
||||
return a.length === b.length && a.every((v, i) => v === b[i])
|
||||
|
|
|
|||
2
src/lib/modules/anilist/types.d.ts
vendored
2
src/lib/modules/anilist/types.d.ts
vendored
|
|
@ -1,5 +1,5 @@
|
|||
import type { ResultOf } from 'gql.tada'
|
||||
import type { FullMedia, MediaEdgeFrag } from './queries'
|
||||
import type { ResultOf } from 'gql.tada'
|
||||
|
||||
export type Media = ResultOf<typeof FullMedia>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { ResultOf } from 'gql.tada'
|
||||
import type { Episode, Episodes } from '../anizip/types'
|
||||
import type { Media } from './types'
|
||||
import type { ScheduleMedia } from './queries'
|
||||
import type { Media } from './types'
|
||||
import type { Episode, Episodes } from '../anizip/types'
|
||||
import type { ResultOf } from 'gql.tada'
|
||||
|
||||
export function banner (media: Pick<Media, 'trailer' | 'bannerImage' | 'coverImage'>): string | undefined {
|
||||
if (media.bannerImage) return media.bannerImage
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import { readable } from 'simple-store-svelte'
|
||||
import { persisted } from 'svelte-persisted-store'
|
||||
import { get } from 'svelte/store'
|
||||
import { persisted } from 'svelte-persisted-store'
|
||||
|
||||
import { client, episodes, type Media } from '../anilist'
|
||||
|
||||
import local from './local'
|
||||
|
||||
import type { VariablesOf } from 'gql.tada'
|
||||
import type { Entry } from '../anilist/queries'
|
||||
import type { VariablesOf } from 'gql.tada'
|
||||
|
||||
export default new class AuthAggregator {
|
||||
hasAuth = readable(this.checkAuth(), set => {
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { get } from 'svelte/store'
|
||||
import anitomyscript, { type AnitomyResult } from 'anitomyscript'
|
||||
import { get } from 'svelte/store'
|
||||
|
||||
import { dedupeAiring, episodeByAirDate, episodes, isMovie, type Media, type MediaEdge } from '../anilist'
|
||||
import { settings, type videoResolutions } from '../settings'
|
||||
import native from '../native'
|
||||
import { episodes as _episodes } from '../anizip'
|
||||
import native from '../native'
|
||||
import { settings, type videoResolutions } from '../settings'
|
||||
|
||||
import { storage } from './storage'
|
||||
|
||||
import type { TorrentResult } from 'hayase-extensions'
|
||||
import type { EpisodesResponse } from '../anizip/types'
|
||||
import type { TorrentResult } from 'hayase-extensions'
|
||||
|
||||
import { options as extensionOptions, saved } from '$lib/modules/extensions'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { set, getMany, delMany, del } from 'idb-keyval'
|
||||
import { releaseProxy, type Remote } from 'abslink'
|
||||
import { persisted } from 'svelte-persisted-store'
|
||||
import { wrap } from 'abslink/w3c'
|
||||
import { set, getMany, delMany, del } from 'idb-keyval'
|
||||
import { get } from 'svelte/store'
|
||||
import { persisted } from 'svelte-persisted-store'
|
||||
import { toast } from 'svelte-sonner'
|
||||
|
||||
import Worker from './worker?worker'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { readable } from 'svelte/store'
|
||||
import { writable } from 'simple-store-svelte'
|
||||
import { readable } from 'svelte/store'
|
||||
|
||||
export const activityState = readable<'active' | 'inactive'>(document.hasFocus() ? 'active' : 'inactive', set => {
|
||||
set(document.hasFocus() ? 'active' : 'inactive')
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import { writable } from 'simple-store-svelte'
|
|||
|
||||
import { decryptMessage, encryptMessage } from './crypt'
|
||||
|
||||
import type IrcChannel from '@thaunknown/web-irc/channel'
|
||||
import type { ChatMessage, ChatUser } from '$lib/components/ui/chat'
|
||||
import type IrcChannel from '@thaunknown/web-irc/channel'
|
||||
|
||||
export interface IRCUser { nick: string, ident: string, hostname: string, modes: string[], tags: object }
|
||||
export interface PrivMessage {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import { readable, writable } from 'simple-store-svelte'
|
||||
import { persisted } from 'svelte-persisted-store'
|
||||
import { get } from 'svelte/store'
|
||||
import { persisted } from 'svelte-persisted-store'
|
||||
|
||||
import native from '../native'
|
||||
|
||||
import type { Media } from '../anilist'
|
||||
import type { TorrentFile, TorrentInfo } from '../../../app'
|
||||
import type { Media } from '../anilist'
|
||||
|
||||
export const server = new class ServerClient {
|
||||
last = persisted<{media: Media, id: string, episode: number} | null>('last-torrent', null)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { EventEmitter } from 'events'
|
||||
|
||||
import Debug from 'debug'
|
||||
import P2PT, { type Peer } from 'p2pt'
|
||||
import { writable } from 'simple-store-svelte'
|
||||
import Debug from 'debug'
|
||||
|
||||
import client from '../anilist/client.js'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { type ClassValue, clsx } from 'clsx'
|
||||
import { twMerge } from 'tailwind-merge'
|
||||
import { cubicOut } from 'svelte/easing'
|
||||
import { readable } from 'simple-store-svelte'
|
||||
import { cubicOut } from 'svelte/easing'
|
||||
import { twMerge } from 'tailwind-merge'
|
||||
|
||||
import type { TransitionConfig } from 'svelte/transition'
|
||||
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@
|
|||
import { ProgressBar } from '@prgm/sveltekit-progress-bar'
|
||||
|
||||
import Backplate from '$lib/components/Backplate.svelte'
|
||||
import Online from '$lib/components/Online.svelte'
|
||||
import { Menubar } from '$lib/components/ui/menubar'
|
||||
import { Toaster } from '$lib/components/ui/sonner'
|
||||
import Online from '$lib/components/Online.svelte'
|
||||
import native from '$lib/modules/native'
|
||||
|
||||
let root: HTMLDivElement
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { redirect } from '@sveltejs/kit'
|
||||
|
||||
import { outdatedComponent } from '$lib/modules/update'
|
||||
import { SETUP_VERSION } from '$lib'
|
||||
import { outdatedComponent } from '$lib/modules/update'
|
||||
|
||||
export async function load () {
|
||||
if (await outdatedComponent) return redirect(307, '/update/')
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<script lang='ts'>
|
||||
import { BannerImage } from '$lib/components/ui/banner'
|
||||
import { Sidebar } from '$lib/components/ui/sidebar'
|
||||
import SearchModal from '$lib/components/SearchModal.svelte'
|
||||
import Sidebarlist from '$lib/components/ui/sidebar/sidebarlist.svelte'
|
||||
import { BannerImage } from '$lib/components/ui/banner'
|
||||
import { Player } from '$lib/components/ui/player'
|
||||
import { Sidebar } from '$lib/components/ui/sidebar'
|
||||
import Sidebarlist from '$lib/components/ui/sidebar/sidebarlist.svelte'
|
||||
</script>
|
||||
|
||||
<BannerImage class='absolute top-0 left-0' />
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { error, redirect } from '@sveltejs/kit'
|
||||
|
||||
import { dev } from '$app/environment'
|
||||
import { SETUP_VERSION } from '$lib'
|
||||
import native from '$lib/modules/native'
|
||||
import { outdatedComponent } from '$lib/modules/update'
|
||||
import { SETUP_VERSION } from '$lib'
|
||||
|
||||
export async function load () {
|
||||
if (!dev && !native.isApp) return error(401, 'How did you get here?')
|
||||
|
|
|
|||
|
|
@ -6,18 +6,18 @@
|
|||
|
||||
import type { LayoutData } from './$types'
|
||||
|
||||
import * as Dialog from '$lib/components/ui/dialog'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import Anilist from '$lib/components/icons/Anilist.svelte'
|
||||
import MyAnimeList from '$lib/components/icons/MyAnimeList.svelte'
|
||||
import * as Avatar from '$lib/components/ui/avatar'
|
||||
import { bannerSrc, hideBanner } from '$lib/components/ui/banner'
|
||||
import { PlayButton, Button, BookmarkButton, FavoriteButton } from '$lib/components/ui/button'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
import * as Dialog from '$lib/components/ui/dialog'
|
||||
import { Load } from '$lib/components/ui/img'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import { cover, desc, duration, format, season, status, title } from '$lib/modules/anilist'
|
||||
import { authAggregator, of } from '$lib/modules/auth'
|
||||
import native from '$lib/modules/native'
|
||||
import MyAnimeList from '$lib/components/icons/MyAnimeList.svelte'
|
||||
import Anilist from '$lib/components/icons/Anilist.svelte'
|
||||
import { Load } from '$lib/components/ui/img'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
|
||||
export let data: LayoutData
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<script lang='ts'>
|
||||
import type { PageData } from './$types'
|
||||
|
||||
import EpisodesList from '$lib/components/EpisodesList.svelte'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
import { Threads } from '$lib/components/ui/forums'
|
||||
import { Load } from '$lib/components/ui/img'
|
||||
import { format, relation } from '$lib/modules/anilist'
|
||||
import { authAggregator } from '$lib/modules/auth'
|
||||
import EpisodesList from '$lib/components/EpisodesList.svelte'
|
||||
import { Load } from '$lib/components/ui/img'
|
||||
import { Threads } from '$lib/components/ui/forums'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
|
||||
export let data: PageData
|
||||
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
import type { PageData } from './$types'
|
||||
|
||||
import Shadow from '$lib/components/Shadow.svelte'
|
||||
import * as Avatar from '$lib/components/ui/avatar'
|
||||
import { since } from '$lib/utils'
|
||||
import { Button, iconSizes } from '$lib/components/ui/button'
|
||||
import { Comments, Write } from '$lib/components/ui/forums'
|
||||
import { client } from '$lib/modules/anilist'
|
||||
import Shadow from '$lib/components/Shadow.svelte'
|
||||
import { since } from '$lib/utils'
|
||||
|
||||
export let data: PageData
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
<script lang='ts' context='module'>
|
||||
import { derived } from 'svelte/store'
|
||||
|
||||
import type { Readable } from 'simple-store-svelte'
|
||||
import type { VariablesOf } from 'gql.tada'
|
||||
import type { Search } from '$lib/modules/anilist/queries'
|
||||
import type { VariablesOf } from 'gql.tada'
|
||||
import type { Readable } from 'simple-store-svelte'
|
||||
|
||||
import { authAggregator } from '$lib/modules/auth'
|
||||
import { client, currentSeason, currentYear } from '$lib/modules/anilist'
|
||||
import { authAggregator } from '$lib/modules/auth'
|
||||
|
||||
interface Section {
|
||||
title: string
|
||||
|
|
@ -60,10 +60,10 @@
|
|||
</script>
|
||||
|
||||
<script lang='ts'>
|
||||
import { click, dragScroll } from '$lib/modules/navigate'
|
||||
import { Banner, hideBanner } from '$lib/components/ui/banner'
|
||||
import { goto } from '$app/navigation'
|
||||
import { Banner, hideBanner } from '$lib/components/ui/banner'
|
||||
import { QueryCard } from '$lib/components/ui/cards'
|
||||
import { click, dragScroll } from '$lib/modules/navigate'
|
||||
|
||||
function handleScroll (e: Event) {
|
||||
const target = e.target as HTMLDivElement
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
<script lang='ts'>
|
||||
import { addMonths, endOfMonth, endOfWeek, format, isSameMonth, isToday, startOfMonth, startOfWeek, subMonths } from 'date-fns'
|
||||
import { Button as ButtonPrimitive } from 'bits-ui'
|
||||
import { Cross2 } from 'svelte-radix'
|
||||
import { addMonths, endOfMonth, endOfWeek, format, isSameMonth, isToday, startOfMonth, startOfWeek, subMonths } from 'date-fns'
|
||||
import { ChevronLeftIcon, ChevronRightIcon } from 'lucide-svelte'
|
||||
import { Cross2 } from 'svelte-radix'
|
||||
|
||||
import type { ResultOf } from 'gql.tada'
|
||||
import type { Schedule, ScheduleMedia } from '$lib/modules/anilist/queries'
|
||||
import type { ResultOf } from 'gql.tada'
|
||||
|
||||
import { cn, isMobile } from '$lib/utils'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import StatusDot from '$lib/components/StatusDot.svelte'
|
||||
import * as Drawer from '$lib/components/ui/drawer'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
import { authAggregator } from '$lib/modules/auth'
|
||||
import * as Drawer from '$lib/components/ui/drawer'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import { dedupeAiring } from '$lib/modules/anilist'
|
||||
import { authAggregator } from '$lib/modules/auth'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
import { cn, isMobile } from '$lib/utils'
|
||||
|
||||
const query = authAggregator.schedule()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
<script lang='ts'>
|
||||
import { MagnifyingGlass } from 'svelte-radix'
|
||||
import { FileImage, Trash, X } from 'lucide-svelte'
|
||||
import { MagnifyingGlass } from 'svelte-radix'
|
||||
import { toast } from 'svelte-sonner'
|
||||
|
||||
import { genres, years, seasons, formats, status, sort } from './values'
|
||||
|
||||
import type { VariablesOf } from 'gql.tada'
|
||||
import type { Search } from '$lib/modules/anilist/queries'
|
||||
import type { VariablesOf } from 'gql.tada'
|
||||
|
||||
import { page } from '$app/stores'
|
||||
import { badgeVariants } from '$lib/components/ui/badge'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import { QueryCard } from '$lib/components/ui/cards'
|
||||
import { ComboBox } from '$lib/components/ui/combobox'
|
||||
import { Input, type FormInputEvent } from '$lib/components/ui/input'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import { cn, debounce, traceAnime } from '$lib/utils'
|
||||
import { badgeVariants } from '$lib/components/ui/badge'
|
||||
import { click, dragScroll } from '$lib/modules/navigate'
|
||||
import { client } from '$lib/modules/anilist'
|
||||
import { QueryCard } from '$lib/components/ui/cards'
|
||||
import { page } from '$app/stores'
|
||||
import { click, dragScroll } from '$lib/modules/navigate'
|
||||
import { cn, debounce, traceAnime } from '$lib/utils'
|
||||
|
||||
// util
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script lang='ts'>
|
||||
import { Extensions } from '$lib/components/ui/extensions'
|
||||
import { SingleCombo } from '$lib/components/ui/combobox'
|
||||
import SettingCard from '$lib/components/SettingCard.svelte'
|
||||
import { SingleCombo } from '$lib/components/ui/combobox'
|
||||
import { Extensions } from '$lib/components/ui/extensions'
|
||||
import { Switch } from '$lib/components/ui/switch'
|
||||
import { lookupPreferences, settings, videoResolutions } from '$lib/modules/settings'
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@
|
|||
import SettingCard from '$lib/components/SettingCard.svelte'
|
||||
import { SingleCombo } from '$lib/components/ui/combobox'
|
||||
import { Switch } from '$lib/components/ui/switch'
|
||||
import { Textarea } from '$lib/components/ui/textarea'
|
||||
import native from '$lib/modules/native'
|
||||
import { settings, SUPPORTS } from '$lib/modules/settings'
|
||||
import { Textarea } from '$lib/components/ui/textarea'
|
||||
|
||||
const angle = {
|
||||
default: 'Default',
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<script lang='ts'>
|
||||
import { WEB_URL } from '$lib'
|
||||
import Logo from '$lib/components/icons/Logo.svelte'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import { Checkbox } from '$lib/components/ui/checkbox'
|
||||
import { Label } from '$lib/components/ui/label'
|
||||
import { click } from '$lib/modules/navigate'
|
||||
import native from '$lib/modules/native'
|
||||
import Logo from '$lib/components/icons/Logo.svelte'
|
||||
import { click } from '$lib/modules/navigate'
|
||||
|
||||
let checked = false
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
<script lang='ts'>
|
||||
import { Check, X } from 'lucide-svelte'
|
||||
|
||||
import { goto } from '$app/navigation'
|
||||
import { Badge } from '$lib/components/ui/badge'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import * as Tooltip from '$lib/components/ui/tooltip'
|
||||
import { goto } from '$app/navigation'
|
||||
export let step = 0
|
||||
export let checks: Checks[] = []
|
||||
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@
|
|||
|
||||
import type { ExtensionConfig } from 'hayase-extensions'
|
||||
|
||||
import { Extensions } from '$lib/components/ui/extensions'
|
||||
import { saved, options, storage } from '$lib/modules/extensions'
|
||||
import { DEFAULT_EXTENSIONS } from '$lib'
|
||||
import SettingCard from '$lib/components/SettingCard.svelte'
|
||||
import { SingleCombo } from '$lib/components/ui/combobox'
|
||||
import { Extensions } from '$lib/components/ui/extensions'
|
||||
import { saved, options, storage } from '$lib/modules/extensions'
|
||||
import { lookupPreferences, settings, SUPPORTS } from '$lib/modules/settings'
|
||||
import { DEFAULT_EXTENSIONS } from '$lib'
|
||||
|
||||
function checkExtensions (svd: Record<string, ExtensionConfig>, opts: Record<string, {
|
||||
options: Record<string, string | number | boolean | undefined>
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@
|
|||
import SettingCard from '$lib/components/SettingCard.svelte'
|
||||
import { Input } from '$lib/components/ui/input'
|
||||
import { Switch } from '$lib/components/ui/switch'
|
||||
import { settings } from '$lib/modules/settings'
|
||||
import native from '$lib/modules/native'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
import { settings } from '$lib/modules/settings'
|
||||
|
||||
if (!speedTest.isRunning) speedTest.play()
|
||||
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@
|
|||
import { Button } from '$lib/components/ui/button'
|
||||
import { Input } from '$lib/components/ui/input'
|
||||
import { Switch } from '$lib/components/ui/switch'
|
||||
import { SUPPORTS, settings } from '$lib/modules/settings'
|
||||
import native from '$lib/modules/native'
|
||||
import { fastPrettyBytes } from '$lib/utils'
|
||||
import { dragScroll } from '$lib/modules/navigate'
|
||||
import { SUPPORTS, settings } from '$lib/modules/settings'
|
||||
import { fastPrettyBytes } from '$lib/utils'
|
||||
|
||||
async function selectDownloadFolder () {
|
||||
$settings.torrentPath = await native.selectDownload()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script lang='ts'>
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import { Menubar } from '$lib/components/ui/menubar'
|
||||
import { Separator } from '$lib/components/ui/separator'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
import native from '$lib/modules/native'
|
||||
import { outdatedComponent } from '$lib/modules/update'
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { cleanupOutdatedCaches, precacheAndRoute } from 'workbox-precaching'
|
||||
import { clientsClaim, skipWaiting } from 'workbox-core'
|
||||
import { cleanupOutdatedCaches, precacheAndRoute } from 'workbox-precaching'
|
||||
|
||||
import { build, files, prerendered, version } from '$service-worker'
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue