This commit is contained in:
Markos Gogoulos
2026-03-13 20:16:17 +02:00
parent 6279f8bd60
commit e33144b8d0
10 changed files with 20 additions and 55 deletions

View File

@@ -1 +1 @@
VERSION = "8.26" VERSION = "8.35"

View File

@@ -513,12 +513,6 @@
} }
} }
.embedded-app {
.viewer-container,
.viewer-info {
width: 100%;
}
}
.viewer-image-container { .viewer-image-container {
position: relative; position: relative;

View File

@@ -183,8 +183,7 @@ export default class ViewerInfoTitleBanner extends React.PureComponent {
{MemberContext._currentValue.can.shareMedia ? <MediaShareButton isVideo={false} /> : null} {MemberContext._currentValue.can.shareMedia ? <MediaShareButton isVideo={false} /> : null}
{!MemberContext._currentValue.is.anonymous && {!MemberContext._currentValue.is.anonymous &&
MemberContext._currentValue.can.saveMedia && MemberContext._currentValue.can.saveMedia ? (
-1 < PlaylistsContext._currentValue.mediaTypes.indexOf(MediaPageStore.get('media-type')) ? (
<MediaSaveButton /> <MediaSaveButton />
) : null} ) : null}

View File

@@ -95,10 +95,8 @@ export default class ViewerInfoVideoTitleBanner extends ViewerInfoTitleBanner {
<MediaShareButton isVideo={true} /> <MediaShareButton isVideo={true} />
) : null} ) : null}
{!inEmbeddedApp() && {!MemberContext._currentValue.is.anonymous &&
!MemberContext._currentValue.is.anonymous && MemberContext._currentValue.can.saveMedia ? (
MemberContext._currentValue.can.saveMedia &&
-1 < PlaylistsContext._currentValue.mediaTypes.indexOf(MediaPageStore.get('media-type')) ? (
<MediaSaveButton /> <MediaSaveButton />
) : null} ) : null}

View File

@@ -1,7 +1,4 @@
import React from 'react'; import React from 'react';
import { MediaPageStore } from '../../utils/stores/';
import { AutoPlay } from './AutoPlay';
import { RelatedMedia } from './RelatedMedia';
import PlaylistView from './PlaylistView'; import PlaylistView from './PlaylistView';
export default class ViewerSidebar extends React.PureComponent { export default class ViewerSidebar extends React.PureComponent {
@@ -12,8 +9,6 @@ export default class ViewerSidebar extends React.PureComponent {
playlistData: props.playlistData, playlistData: props.playlistData,
isPlaylistPage: !!props.playlistData, isPlaylistPage: !!props.playlistData,
activeItem: 0, activeItem: 0,
mediaType: MediaPageStore.get('media-type'),
chapters: MediaPageStore.get('media-data')?.chapters
}; };
if (props.playlistData) { if (props.playlistData) {
@@ -28,18 +23,6 @@ export default class ViewerSidebar extends React.PureComponent {
} }
} }
this.onMediaLoad = this.onMediaLoad.bind(this);
}
componentDidMount() {
MediaPageStore.on('loaded_media_data', this.onMediaLoad);
}
onMediaLoad() {
this.setState({
mediaType: MediaPageStore.get('media-type'),
chapters: MediaPageStore.get('media-data')?.chapter_data || []
});
} }
render() { render() {
@@ -47,10 +30,7 @@ export default class ViewerSidebar extends React.PureComponent {
<div className="viewer-sidebar"> <div className="viewer-sidebar">
{this.state.isPlaylistPage ? ( {this.state.isPlaylistPage ? (
<PlaylistView activeItem={this.state.activeItem} playlistData={this.props.playlistData} /> <PlaylistView activeItem={this.state.activeItem} playlistData={this.props.playlistData} />
) : 'video' === this.state.mediaType || 'audio' === this.state.mediaType ? (
<AutoPlay />
) : null} ) : null}
<RelatedMedia hideFirst={!this.state.isPlaylistPage} />
</div> </div>
); );
} }

View File

@@ -1,7 +1,6 @@
import React from 'react'; import React from 'react';
import { PageStore, MediaPageStore } from '../utils/stores/'; import { PageStore, MediaPageStore } from '../utils/stores/';
import { MediaPageActions } from '../utils/actions/'; import { MediaPageActions } from '../utils/actions/';
import { inEmbeddedApp } from '../utils/helpers/';
import ViewerError from '../components/media-page/ViewerError'; import ViewerError from '../components/media-page/ViewerError';
import ViewerInfo from '../components/media-page/ViewerInfo'; import ViewerInfo from '../components/media-page/ViewerInfo';
import ViewerSidebar from '../components/media-page/ViewerSidebar'; import ViewerSidebar from '../components/media-page/ViewerSidebar';
@@ -87,22 +86,18 @@ export class _MediaPage extends Page {
{!this.state.infoAndSidebarViewType {!this.state.infoAndSidebarViewType
? [ ? [
<ViewerInfo key="viewer-info" />, <ViewerInfo key="viewer-info" />,
!inEmbeddedApp() && this.state.pagePlaylistLoaded ? ( <ViewerSidebar
<ViewerSidebar key="viewer-sidebar"
key="viewer-sidebar" mediaId={MediaPageStore.get('media-id')}
mediaId={MediaPageStore.get('media-id')} playlistData={MediaPageStore.get('playlist-data')}
playlistData={MediaPageStore.get('playlist-data')} />,
/>
) : null,
] ]
: [ : [
!inEmbeddedApp() && this.state.pagePlaylistLoaded ? ( <ViewerSidebar
<ViewerSidebar key="viewer-sidebar"
key="viewer-sidebar" mediaId={MediaPageStore.get('media-id')}
mediaId={MediaPageStore.get('media-id')} playlistData={MediaPageStore.get('playlist-data')}
playlistData={MediaPageStore.get('playlist-data')} />,
/>
) : null,
<ViewerInfo key="viewer-info" />, <ViewerInfo key="viewer-info" />,
]} ]}
</div> </div>

View File

@@ -2,7 +2,6 @@ import React from 'react';
// FIXME: 'VideoViewerStore' is used only in case of video media, but is included in every media page code. // FIXME: 'VideoViewerStore' is used only in case of video media, but is included in every media page code.
import { PageStore, MediaPageStore, VideoViewerStore } from '../utils/stores/'; import { PageStore, MediaPageStore, VideoViewerStore } from '../utils/stores/';
import { MediaPageActions } from '../utils/actions/'; import { MediaPageActions } from '../utils/actions/';
import { inEmbeddedApp } from '../utils/helpers/';
import ViewerInfoVideo from '../components/media-page/ViewerInfoVideo'; import ViewerInfoVideo from '../components/media-page/ViewerInfoVideo';
import ViewerError from '../components/media-page/ViewerError'; import ViewerError from '../components/media-page/ViewerError';
import ViewerSidebar from '../components/media-page/ViewerSidebar'; import ViewerSidebar from '../components/media-page/ViewerSidebar';
@@ -104,7 +103,7 @@ export class _VideoMediaPage extends Page {
{!this.state.wideLayout || (this.state.isVideoMedia && this.state.theaterMode) {!this.state.wideLayout || (this.state.isVideoMedia && this.state.theaterMode)
? [ ? [
<ViewerInfoVideo key="viewer-info" />, <ViewerInfoVideo key="viewer-info" />,
!inEmbeddedApp() && this.state.pagePlaylistLoaded ? ( this.state.pagePlaylistLoaded ? (
<ViewerSidebar <ViewerSidebar
key="viewer-sidebar" key="viewer-sidebar"
mediaId={MediaPageStore.get('media-id')} mediaId={MediaPageStore.get('media-id')}
@@ -113,7 +112,7 @@ export class _VideoMediaPage extends Page {
) : null, ) : null,
] ]
: [ : [
!inEmbeddedApp() && this.state.pagePlaylistLoaded ? ( this.state.pagePlaylistLoaded ? (
<ViewerSidebar <ViewerSidebar
key="viewer-sidebar" key="viewer-sidebar"
mediaId={MediaPageStore.get('media-id')} mediaId={MediaPageStore.get('media-id')}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -8,12 +8,12 @@ urlpatterns = [
re_path(r"^user/(?P<username>[\w@._-]*)/shared_with_me", views.shared_with_me, name="shared_with_me"), re_path(r"^user/(?P<username>[\w@._-]*)/shared_with_me", views.shared_with_me, name="shared_with_me"),
re_path(r"^user/(?P<username>[\w@._-]*)/shared_by_me", views.shared_by_me, name="shared_by_me"), re_path(r"^user/(?P<username>[\w@._-]*)/shared_by_me", views.shared_by_me, name="shared_by_me"),
re_path( re_path(
r"^user/(?P<username>[\w@.]*)/playlists$", r"^user/(?P<username>[\w@._-]*)/playlists$",
views.view_user_playlists, views.view_user_playlists,
name="get_user_playlists", name="get_user_playlists",
), ),
re_path( re_path(
r"^user/(?P<username>[\w@.]*)/about$", r"^user/(?P<username>[\w@._-]*)/about$",
views.view_user_about, views.view_user_about,
name="get_user_about", name="get_user_about",
), ),