Merge pull request #495 from ThibG/glitch-soc/fixes/port-upstream-fixes
Port various WebUI fixes from upstream
This commit is contained in:
		@@ -56,13 +56,6 @@ export function register () {
 | 
			
		||||
    dispatch(setBrowserSupport(supportsPushNotifications));
 | 
			
		||||
    const me = getState().getIn(['meta', 'me']);
 | 
			
		||||
 | 
			
		||||
    if (me && !pushNotificationsSetting.get(me)) {
 | 
			
		||||
      const alerts = getState().getIn(['push_notifications', 'alerts']);
 | 
			
		||||
      if (alerts) {
 | 
			
		||||
        pushNotificationsSetting.set(me, { alerts: alerts });
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (supportsPushNotifications) {
 | 
			
		||||
      if (!getApplicationServerKey()) {
 | 
			
		||||
        console.error('The VAPID public key is not set. You will not be able to receive Web Push Notifications.');
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ class Item extends React.PureComponent {
 | 
			
		||||
    size: PropTypes.number.isRequired,
 | 
			
		||||
    letterbox: PropTypes.bool,
 | 
			
		||||
    onClick: PropTypes.func.isRequired,
 | 
			
		||||
    displayWidth: PropTypes.number,
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  static defaultProps = {
 | 
			
		||||
@@ -78,7 +79,7 @@ class Item extends React.PureComponent {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  render () {
 | 
			
		||||
    const { attachment, index, size, standalone, letterbox } = this.props;
 | 
			
		||||
    const { attachment, index, size, standalone, letterbox, displayWidth } = this.props;
 | 
			
		||||
 | 
			
		||||
    let width  = 50;
 | 
			
		||||
    let height = 100;
 | 
			
		||||
@@ -141,7 +142,7 @@ class Item extends React.PureComponent {
 | 
			
		||||
      const hasSize = typeof originalWidth === 'number' && typeof previewWidth === 'number';
 | 
			
		||||
 | 
			
		||||
      const srcSet = hasSize ? `${originalUrl} ${originalWidth}w, ${previewUrl} ${previewWidth}w` : null;
 | 
			
		||||
      const sizes  = hasSize ? `(min-width: 1025px) ${320 * (width / 100)}px, ${width}vw` : null;
 | 
			
		||||
      const sizes  = hasSize ? `${displayWidth * (width / 100)}px` : null;
 | 
			
		||||
 | 
			
		||||
      const focusX = attachment.getIn(['meta', 'focus', 'x']) || 0;
 | 
			
		||||
      const focusY = attachment.getIn(['meta', 'focus', 'y']) || 0;
 | 
			
		||||
@@ -235,7 +236,7 @@ export default class MediaGallery extends React.PureComponent {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleRef = (node) => {
 | 
			
		||||
    if (node && this.isStandaloneEligible()) {
 | 
			
		||||
    if (node /*&& this.isStandaloneEligible()*/) {
 | 
			
		||||
      // offsetWidth triggers a layout, so only calculate when we need to
 | 
			
		||||
      this.setState({
 | 
			
		||||
        width: node.offsetWidth,
 | 
			
		||||
@@ -272,9 +273,9 @@ export default class MediaGallery extends React.PureComponent {
 | 
			
		||||
      );
 | 
			
		||||
    } else {
 | 
			
		||||
      if (this.isStandaloneEligible()) {
 | 
			
		||||
        children = <Item standalone attachment={media.get(0)} onClick={this.handleClick} />;
 | 
			
		||||
        children = <Item standalone attachment={media.get(0)} onClick={this.handleClick} displayWidth={width} />;
 | 
			
		||||
      } else {
 | 
			
		||||
        children = media.take(4).map((attachment, i) => <Item key={attachment.get('id')} onClick={this.handleClick} attachment={attachment} index={i} size={size} letterbox={letterbox} />);
 | 
			
		||||
        children = media.take(4).map((attachment, i) => <Item key={attachment.get('id')} onClick={this.handleClick} attachment={attachment} index={i} size={size} letterbox={letterbox} displayWidth={width} />);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user