-
+
-
+
+
+
+
+
@@ -40,8 +50,8 @@ const logout = () => {
.menu-toggle {
position: absolute;
- top: 30px;
- left: 30px;
+ top: 20px;
+ left: 20px;
}
.menu-toggle:hover {
cursor: pointer;
diff --git a/src/components/EpisodeThumb.vue b/src/components/EpisodeThumb.vue
new file mode 100644
index 0000000..28ce588
--- /dev/null
+++ b/src/components/EpisodeThumb.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
![]()
+
+
+ {{ `S${item.ParentIndexNumber}:E${item.IndexNumber} - ${item.Name}` }}
+
+
+
+
+
diff --git a/src/components/HomeMedia.vue b/src/components/HomeMedia.vue
index 87cfc14..8338345 100644
--- a/src/components/HomeMedia.vue
+++ b/src/components/HomeMedia.vue
@@ -3,25 +3,21 @@ import type { View } from '@/jfapi'
import NextUp from './NextUp.vue'
import LatestMedia from './LatestMedia.vue'
import { onBeforeMount, ref } from 'vue'
-
-// const props = defineProps<{
-// views: View[]
-// }>()
+import jfapi from '@/jfapi'
const views = ref
()
const viewstring = ref('')
views.value = undefined
onBeforeMount(() => {
viewstring.value = localStorage.getItem('jf_views')
- views.value = JSON.parse(viewstring.value ? viewstring.value : '')
+ views.value = JSON.parse(viewstring.value)
})
-console.log('HomeMedia =>', views.value)
-
-
+
+
+
diff --git a/src/components/LatestMedia.vue b/src/components/LatestMedia.vue
index 6e88be5..4ee3f6c 100644
--- a/src/components/LatestMedia.vue
+++ b/src/components/LatestMedia.vue
@@ -3,7 +3,7 @@ import jfapi from '@/jfapi'
import MediaScroller from './MediaScroller.vue'
import type { FeedItem } from '@/feed'
import type { View } from '@/jfapi'
-import { getDisplayDuration, getImageLink } from './utils'
+import { getDisplayDuration, getImageLink } from '../utils'
const props = defineProps<{
view: View
@@ -17,29 +17,22 @@ const Items = async (): Promise => {
if (data !== null) {
console.log(data)
for (const item of data) {
- const summary = ''
if (userid === null) {
window.location.href = '/login'
}
- // const fullitem = await jfapi.GetItem(userid, item.Id)
- // if (fullitem === null) {
- // continue
- // } else {
- // summary = fullitem.Overview
- // }
feed.push({
title: item.SeriesName || item.Name,
subtext: item.SeriesName
? `S${item.ParentIndexNumber}:E${item.IndexNumber} - ${item.Name}`
: String(item.ProductionYear),
image: getImageLink(item),
- summary: summary,
- // infoSubtext: item.SeriesName
- // ? `S${item.ParentIndexNumber}:E${item.IndexNumber} - ${item.Name}`
- // : fullitem.OriginalTitle != item.Name
- // ? fullitem.OriginalTitle
- // : '',
- infoSubtext: '',
+ summary: item.Overview,
+ infoSubtext:
+ item.Type === 'Episode'
+ ? `S${item.ParentIndexNumber}:E${item.IndexNumber} - ${item.Name}`
+ : item.OriginalTitle != item.Name
+ ? item.OriginalTitle
+ : '',
imdbRating: String(item.CommunityRating),
runtime: getDisplayDuration(item.RunTimeTicks),
date: String(item.ProductionYear),
@@ -49,6 +42,7 @@ const Items = async (): Promise => {
? String(item.UserData.UnplayedItemCount)
: '',
itemId: item.Id,
+ type: item.Type,
})
}
console.log('LatestMedia.vue =>', feed)
diff --git a/src/components/MediaGrid.vue b/src/components/MediaGrid.vue
index 7d8ef82..9716f3a 100644
--- a/src/components/MediaGrid.vue
+++ b/src/components/MediaGrid.vue
@@ -1,25 +1,32 @@
@@ -77,27 +108,18 @@ onBeforeMount(async () => {