-
-
-
navigate('/')}>
-
- Series
-
-
-
navigate('movies')}>
-
- Movies
-
-
-
navigate('library')}>
-
- Library
-
-
-
navigate('search')}>
-
- Search
-
-
-
-
-
navigate('manage')}>
+
+
+
- Manage
+ Manage
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/lib/components/TextField.svelte b/src/lib/components/TextField.svelte
index 0d27269..598384b 100644
--- a/src/lib/components/TextField.svelte
+++ b/src/lib/components/TextField.svelte
@@ -33,7 +33,7 @@
Label
{
+ if (isTizen()) {
+ var myMediaKeyChangeListener = {
+ onpressed: function (key: string) {
+ console.log('Pressed key: ' + key);
+ tizenMediaKey = key;
+ }
+ };
+
+ // eslint-disable-next-line no-undef
+ tizen.tvinputdevice.registerKey('MediaPlayPause');
+ (tizen as any).mediakey.setMediaKeyEventListener(myMediaKeyChangeListener);
+ }
+ });
User agent: {window.navigator.userAgent}
Last key code: {lastKeyCode}
Last key: {lastKey}
+ {#if tizenMediaKey}
+ Tizen media key: {tizenMediaKey}
+ {/if}
diff --git a/src/lib/pages/MoviePage.svelte b/src/lib/pages/MoviePage.svelte
index 77d3941..43e8f01 100644
--- a/src/lib/pages/MoviePage.svelte
+++ b/src/lib/pages/MoviePage.svelte
@@ -43,6 +43,7 @@
.slice(0, 5) || []
)}
>
+
{#await $movieDataP then movie}
{#if movie}
diff --git a/src/lib/pages/MoviesHomePage.svelte b/src/lib/pages/MoviesHomePage.svelte
new file mode 100644
index 0000000..6d9536f
--- /dev/null
+++ b/src/lib/pages/MoviesHomePage.svelte
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+ {$isLoadingContinueWatching || ($isLoadingRecentlyAdded && !$continueWatching?.length)
+ ? 'Loading...'
+ : $continueWatching?.length
+ ? 'Continue Watching'
+ : 'Recently Added'}
+
+ {#if $isLoadingContinueWatching || ($isLoadingRecentlyAdded && !$continueWatching?.length)}
+
+ {:else if $continueWatching?.length}
+
+ {#each $continueWatching as item (item.Id)}
+
+
+
+ {/each}
+
+ {:else if $recentlyAdded?.length}
+
+ {#each $recentlyAdded as item (item.Id)}
+
+
+
+ {/each}
+
+ {/if}
+
+
+
diff --git a/src/lib/pages/MoviesPage.svelte b/src/lib/pages/MoviesPage.svelte
deleted file mode 100644
index 617ff2d..0000000
--- a/src/lib/pages/MoviesPage.svelte
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {$isLoadingContinueWatching || ($isLoadingRecentlyAdded && !$continueWatching?.length)
- ? 'Loading...'
- : $continueWatching?.length
- ? 'Continue Watching'
- : 'Recently Added'}
-
- {#if $isLoadingContinueWatching || ($isLoadingRecentlyAdded && !$continueWatching?.length)}
-
- {:else if $continueWatching?.length}
-
- {#each $continueWatching as item (item.Id)}
-
-
-
- {/each}
-
- {:else if $recentlyAdded?.length}
-
- {#each $recentlyAdded as item (item.Id)}
-
-
-
- {/each}
-
- {/if}
-
-
-
-
diff --git a/src/lib/pages/BrowseSeriesPage.svelte b/src/lib/pages/SeriesHomePage.svelte
similarity index 64%
rename from src/lib/pages/BrowseSeriesPage.svelte
rename to src/lib/pages/SeriesHomePage.svelte
index b7dd49c..81638cd 100644
--- a/src/lib/pages/BrowseSeriesPage.svelte
+++ b/src/lib/pages/SeriesHomePage.svelte
@@ -10,11 +10,9 @@
import { getShowcasePropsFromTmdbSeries } from '../components/HeroShowcase/HeroShowcase';
import { scrollIntoView } from '../selectable';
import JellyfinCard from '../components/Card/JellyfinCard.svelte';
- import JellyfinEpisodeCard from '../components/EpisodeCard/JellyfinEpisodeCard.svelte';
const { data: continueWatching, isLoading: isLoadingContinueWatching } = useRequest(
- jellyfinApi.getContinueWatching,
- 'series'
+ jellyfinApi.getContinueWatchingSeries
);
const { data: recentlyAdded, isLoading: isLoadingRecentlyAdded } = useRequest(
jellyfinApi.getRecentlyAdded,
@@ -72,40 +70,41 @@
// }
-
-
-
-
-
-
-
-
- {$isLoadingContinueWatching || ($isLoadingRecentlyAdded && !$continueWatching?.length)
- ? 'Loading...'
- : $continueWatching?.length
- ? 'Continue Watching'
- : 'Recently Added'}
+
+
+
+
+
+
+
+ {$isLoadingContinueWatching || ($isLoadingRecentlyAdded && !$continueWatching?.length)
+ ? 'Loading...'
+ : $continueWatching?.length
+ ? 'Continue Watching'
+ : 'Recently Added'}
+
+ {#if $isLoadingContinueWatching || ($isLoadingRecentlyAdded && !$continueWatching?.length)}
+
+ {:else if $continueWatching?.length}
+
+ {#each $continueWatching as item (item.Id)}
+
+
+
+ {/each}
- {#if $isLoadingContinueWatching || ($isLoadingRecentlyAdded && !$continueWatching?.length)}
-
- {:else if $continueWatching?.length}
-
- {#each $continueWatching as item (item.Id)}
-
-
-
- {/each}
-
- {:else if $recentlyAdded?.length}
-
- {#each $recentlyAdded as item (item.Id)}
-
-
-
- {/each}
-
- {/if}
-
-
+ {:else if $recentlyAdded?.length}
+
+ {#each $recentlyAdded as item (item.Id)}
+
+
+
+ {/each}
+
+ {/if}
+
diff --git a/src/lib/selectable.ts b/src/lib/selectable.ts
index d6717bb..39854c4 100644
--- a/src/lib/selectable.ts
+++ b/src/lib/selectable.ts
@@ -296,56 +296,9 @@ export class Selectable {
return true;
}
- return false;
+ if (navigationEventOptions.preventNavigation) return true;
- // const focusIndex = get(this.focusIndex);
- //
- // const indexAddition = {
- // up: this.direction === 'vertical' ? -1 : -this.gridColumns,
- // down: this.direction === 'vertical' ? 1 : this.gridColumns,
- // left:
- // this.direction === 'horizontal'
- // ? (focusIndex % this.gridColumns) - 1 < 0
- // ? 0
- // : -1
- // : -this.gridColumns,
- // right:
- // this.direction === 'horizontal'
- // ? (focusIndex % this.gridColumns) + 1 >= this.gridColumns
- // ? 0
- // : 1
- // : this.gridColumns
- // }[direction];
- //
- // // Cycle siblings
- // if (indexAddition !== 0) {
- // let index = focusIndex + indexAddition;
- // while (index >= 0 && index < this.children.length) {
- // const children = this.children[index];
- // if (children && children.isFocusable()) {
- // propagateNavigationEvent(this, navigationEventOptions);
- // if (navigationEventOptions.preventNavigation) return true;
- // children.focus();
- // return true;
- // }
- // index += indexAddition;
- // }
- // }
- //
- // // About to leave this container (=coulnd't cycle siblings)
- // navigationEventOptions.willLeaveContainer = true;
- // if (!bypassActions) {
- // propagateNavigationEvent(this, navigationEventOptions);
- // if (navigationEventOptions.preventNavigation) return true;
- // }
- // if (this.neighbors[direction]?.isFocusable()) {
- // this.neighbors[direction]?.focus();
- // return true;
- // } else if (!this.trapFocus) {
- // return this.parent?.giveFocus(direction, bypassActions) || false;
- // }
- //
- // return false;
+ return false;
}
static giveFocus(direction: Direction, fireActions?: boolean) {
diff --git a/tailwind.config.js b/tailwind.config.js
index 830ea56..b12278c 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,3 +1,9 @@
+/**
+ * https://huemint.com/website-monochrome/#palette=353633-fbfdff
+ * https://huemint.com/website-monochrome/#palette=161718-dfd1a3 Very Nice
+ * https://huemint.com/website-monochrome/#palette=151a1a-ebab2e
+ */
+
/** @type {import('tailwindcss').Config} */
export default {
content: ['./src/**/*.{html,js,svelte,ts}'],
@@ -11,8 +17,34 @@ export default {
darken: '#07050166',
lighten: '#fde68a20',
// 'highlight-foreground': '#E7E5E4'
- 'highlight-foreground': '#ffe6abcc',
- 'highlight-background': '#2925247F'
+ 'highlight-foreground': '#f6c304',
+ 'highlight-background': '#161517',
+ primary: {
+ 50: '#FDF8EC',
+ 100: '#FBEED5',
+ 200: '#F7DEAB',
+ 300: '#F3CD81',
+ 400: '#EFBC57',
+ 500: '#EBAB2E',
+ 600: '#CD8F14',
+ 700: '#9A6B0F',
+ 800: '#66480A',
+ 900: '#332405',
+ 950: '#1C1403'
+ },
+ secondary: {
+ 50: '#E6EAEA',
+ 100: '#CCD6D6',
+ 200: '#99ADAD',
+ 300: '#698282',
+ 400: '#3E4C4C',
+ 500: '#0a0807',
+ 600: '#101414',
+ 700: '#211a17',
+ 800: '#171310',
+ 900: '#0a0807',
+ 950: '#020303'
+ }
},
keyframes: {
timer: {