mirror of
https://github.com/mediacms-io/mediacms.git
synced 2025-12-25 12:52:30 -05:00
add icon on media profile page
This commit is contained in:
@@ -1 +1 @@
|
|||||||
VERSION = "7.4"
|
VERSION = "7.5"
|
||||||
|
|||||||
@@ -9,10 +9,29 @@
|
|||||||
|
|
||||||
.bulk-actions-container {
|
.bulk-actions-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: flex-start;
|
||||||
|
justify-content: space-between;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 20px;
|
gap: 20px;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
|
||||||
|
.add-media-button {
|
||||||
|
margin-left: auto;
|
||||||
|
|
||||||
|
a {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.circle-icon-button {
|
||||||
|
width: 48px;
|
||||||
|
height: 48px;
|
||||||
|
|
||||||
|
.material-icons {
|
||||||
|
font-size: 32px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ import React from 'react';
|
|||||||
import { MediaListRow } from './MediaListRow';
|
import { MediaListRow } from './MediaListRow';
|
||||||
import { BulkActionsDropdown } from './BulkActionsDropdown';
|
import { BulkActionsDropdown } from './BulkActionsDropdown';
|
||||||
import { SelectAllCheckbox } from './SelectAllCheckbox';
|
import { SelectAllCheckbox } from './SelectAllCheckbox';
|
||||||
|
import { CircleIconButton, MaterialIcon } from './_shared';
|
||||||
|
import { LinksConsumer } from '../utils/contexts';
|
||||||
|
import { translateString } from '../utils/helpers/';
|
||||||
import './MediaListWrapper.scss';
|
import './MediaListWrapper.scss';
|
||||||
|
|
||||||
interface MediaListWrapperProps {
|
interface MediaListWrapperProps {
|
||||||
@@ -17,6 +20,7 @@ interface MediaListWrapperProps {
|
|||||||
onBulkAction?: (action: string) => void;
|
onBulkAction?: (action: string) => void;
|
||||||
onSelectAll?: () => void;
|
onSelectAll?: () => void;
|
||||||
onDeselectAll?: () => void;
|
onDeselectAll?: () => void;
|
||||||
|
showAddMediaButton?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const MediaListWrapper: React.FC<MediaListWrapperProps> = ({
|
export const MediaListWrapper: React.FC<MediaListWrapperProps> = ({
|
||||||
@@ -32,11 +36,15 @@ export const MediaListWrapper: React.FC<MediaListWrapperProps> = ({
|
|||||||
onBulkAction = () => {},
|
onBulkAction = () => {},
|
||||||
onSelectAll = () => {},
|
onSelectAll = () => {},
|
||||||
onDeselectAll = () => {},
|
onDeselectAll = () => {},
|
||||||
|
showAddMediaButton = false,
|
||||||
}) => (
|
}) => (
|
||||||
<div className={(className ? className + ' ' : '') + 'media-list-wrapper'} style={style}>
|
<div className={(className ? className + ' ' : '') + 'media-list-wrapper'} style={style}>
|
||||||
<MediaListRow title={title} viewAllLink={viewAllLink} viewAllText={viewAllText}>
|
<MediaListRow title={title} viewAllLink={viewAllLink} viewAllText={viewAllText}>
|
||||||
{showBulkActions && (
|
{showBulkActions && (
|
||||||
|
<LinksConsumer>
|
||||||
|
{(links) => (
|
||||||
<div className="bulk-actions-container">
|
<div className="bulk-actions-container">
|
||||||
|
<div style={{ display: 'flex', alignItems: 'center', gap: '10px' }}>
|
||||||
<BulkActionsDropdown selectedCount={selectedCount} onActionSelect={onBulkAction} />
|
<BulkActionsDropdown selectedCount={selectedCount} onActionSelect={onBulkAction} />
|
||||||
<SelectAllCheckbox
|
<SelectAllCheckbox
|
||||||
totalCount={totalCount}
|
totalCount={totalCount}
|
||||||
@@ -45,6 +53,18 @@ export const MediaListWrapper: React.FC<MediaListWrapperProps> = ({
|
|||||||
onDeselectAll={onDeselectAll}
|
onDeselectAll={onDeselectAll}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
{showAddMediaButton && (
|
||||||
|
<div className="add-media-button">
|
||||||
|
<a href={links.user.addMedia} title={translateString('Add media')}>
|
||||||
|
<CircleIconButton>
|
||||||
|
<MaterialIcon type="video_call" />
|
||||||
|
</CircleIconButton>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</LinksConsumer>
|
||||||
)}
|
)}
|
||||||
{children || null}
|
{children || null}
|
||||||
</MediaListRow>
|
</MediaListRow>
|
||||||
|
|||||||
@@ -898,6 +898,7 @@ export class ProfileMediaPage extends Page {
|
|||||||
onBulkAction={this.handleBulkAction}
|
onBulkAction={this.handleBulkAction}
|
||||||
onSelectAll={this.handleSelectAll}
|
onSelectAll={this.handleSelectAll}
|
||||||
onDeselectAll={this.handleDeselectAll}
|
onDeselectAll={this.handleDeselectAll}
|
||||||
|
showAddMediaButton={isMediaAuthor}
|
||||||
>
|
>
|
||||||
<ProfileMediaFilters hidden={this.state.hiddenFilters} tags={this.state.availableTags} onFiltersUpdate={this.onFiltersUpdate} selectedTag={this.state.selectedTag} selectedSort={this.state.selectedSort} />
|
<ProfileMediaFilters hidden={this.state.hiddenFilters} tags={this.state.availableTags} onFiltersUpdate={this.onFiltersUpdate} selectedTag={this.state.selectedTag} selectedSort={this.state.selectedSort} />
|
||||||
<ProfileMediaTags hidden={this.state.hiddenTags} tags={this.state.availableTags} onTagSelect={this.onTagSelect} />
|
<ProfileMediaTags hidden={this.state.hiddenTags} tags={this.state.availableTags} onTagSelect={this.onTagSelect} />
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user