mirror of
				https://github.com/owncast/owncast.git
				synced 2025-11-04 13:27:21 +08:00 
			
		
		
		
	Support different link validation methods for platforms. Closes #2449
This commit is contained in:
		@ -13,7 +13,12 @@ import {
 | 
				
			|||||||
  OTHER_SOCIAL_HANDLE_OPTION,
 | 
					  OTHER_SOCIAL_HANDLE_OPTION,
 | 
				
			||||||
} from '../../utils/config-constants';
 | 
					} from '../../utils/config-constants';
 | 
				
			||||||
import { SocialHandle, UpdateArgs } from '../../types/config-section';
 | 
					import { SocialHandle, UpdateArgs } from '../../types/config-section';
 | 
				
			||||||
import isValidUrl, { DEFAULT_TEXTFIELD_URL_PATTERN } from '../../utils/urls';
 | 
					import {
 | 
				
			||||||
 | 
					  isValidMatrixAccount,
 | 
				
			||||||
 | 
					  isValidAccount,
 | 
				
			||||||
 | 
					  isValidUrl,
 | 
				
			||||||
 | 
					  DEFAULT_TEXTFIELD_URL_PATTERN,
 | 
				
			||||||
 | 
					} from '../../utils/urls';
 | 
				
			||||||
import { TextField } from './TextField';
 | 
					import { TextField } from './TextField';
 | 
				
			||||||
import { createInputStatus, STATUS_ERROR, STATUS_SUCCESS } from '../../utils/input-statuses';
 | 
					import { createInputStatus, STATUS_ERROR, STATUS_SUCCESS } from '../../utils/input-statuses';
 | 
				
			||||||
import { FormStatusIndicator } from './FormStatusIndicator';
 | 
					import { FormStatusIndicator } from './FormStatusIndicator';
 | 
				
			||||||
@ -270,8 +275,19 @@ export const EditSocialLinks: FC = () => {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const isValid = (url: string, platform: string) => {
 | 
				
			||||||
 | 
					    if (platform === 'xmpp') {
 | 
				
			||||||
 | 
					      return isValidAccount(url, 'xmpp');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (platform === 'matrix') {
 | 
				
			||||||
 | 
					      return isValidMatrixAccount(url);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return isValidUrl(url);
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const okButtonProps = {
 | 
					  const okButtonProps = {
 | 
				
			||||||
    disabled: !isValidUrl(modalDataState.url),
 | 
					    disabled: !isValid(modalDataState.url, modalDataState.platform),
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const otherField = (
 | 
					  const otherField = (
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user