diff --git a/src/components/HomeMedia.vue b/src/components/HomeMedia.vue
new file mode 100644
index 0000000..87cfc14
--- /dev/null
+++ b/src/components/HomeMedia.vue
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/src/jfapi.ts b/src/jfapi.ts
index 5b57604..417e333 100644
--- a/src/jfapi.ts
+++ b/src/jfapi.ts
@@ -60,6 +60,12 @@ type Item = {
UserData?: UserData
}
+type ItemList = {
+ Items: Item[]
+ StartIndex: number
+ TotalRecordCount: number
+}
+
type UserData = {
UnplayedItemCount: number
}
@@ -76,7 +82,7 @@ type User = {
Views?: View[]
}
-export type { User, View, Item, ViewList }
+export type { User, View, Item, ViewList, ItemList }
class JFApi {
request(endpoint: Endpoint): Promise {
@@ -122,6 +128,12 @@ class JFApi {
method: 'GET',
})
}
+ GetItemsInView(userid: string, viewId: string) {
+ return this.request({
+ resource: `http://192.168.0.63:30013/Users/${userid}/Items?SortBy=DateCreated%2CSortName%2CProductionYear&SortOrder=Descending&IncludeItemTypes=Movie&Recursive=true&Fields=PrimaryImageAspectRatio%2CMediaSourceCount&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CBanner%2CThumb&StartIndex=0&ParentId=${viewId}&Limit=100`,
+ method: 'GET',
+ })
+ }
ThumbImageUrl(itemId: string, imgTag: string) {
const host = localStorage.getItem('jf_host') === null ? '' : localStorage.getItem('jf_host')
return `${host}/Items/${itemId}/Images/Thumb?fillHeight=267&fillWidth=474&quality=96&tag=${imgTag}`
diff --git a/src/router/index.ts b/src/router/index.ts
index 0eac29c..b1418f3 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,13 +1,25 @@
import { createRouter, createWebHistory } from 'vue-router'
-import HomeView from '../views/HomeView.vue'
+import BrowseView from '@/views/BrowseView.vue'
+import HomeMedia from '@/components/HomeMedia.vue'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: '/',
- name: 'home',
- component: HomeView,
+ name: 'browse',
+ component: BrowseView,
+ redirect: '/home',
+ children: [
+ {
+ path: 'home',
+ component: HomeMedia,
+ },
+ {
+ path: 'view/:id',
+ component: HomeMedia,
+ },
+ ],
},
{
path: '/login',
diff --git a/src/views/BrowseView.vue b/src/views/BrowseView.vue
new file mode 100644
index 0000000..49971e8
--- /dev/null
+++ b/src/views/BrowseView.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
Home
+
{{ view.Name }}
+
+
+
+
+
+
+
+
diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue
index a2919ee..4442851 100644
--- a/src/views/HomeView.vue
+++ b/src/views/HomeView.vue
@@ -1,7 +1,5 @@
@@ -34,10 +32,7 @@ onBeforeMount(async () => {
{{ view.Name }}
-
-
-
+