Merge pull request #136 from NicolaiVdS/email-validation-and-requirement
feat(userprofile): email requirement and validation + import user button overhaul
This commit is contained in:
@@ -9,6 +9,7 @@ import globalMessages from '../../i18n/globalMessages';
|
||||
import Alert from '../Common/Alert';
|
||||
import Modal from '../Common/Modal';
|
||||
import getConfig from 'next/config';
|
||||
import { UserResultsResponse } from '../../../server/interfaces/api/userInterfaces';
|
||||
|
||||
interface JellyfinImportProps {
|
||||
onCancel?: () => void;
|
||||
@@ -30,6 +31,7 @@ const messages = defineMessages({
|
||||
const JellyfinImportModal: React.FC<JellyfinImportProps> = ({
|
||||
onCancel,
|
||||
onComplete,
|
||||
children,
|
||||
}) => {
|
||||
const intl = useIntl();
|
||||
const settings = useSettings();
|
||||
@@ -49,6 +51,18 @@ const JellyfinImportModal: React.FC<JellyfinImportProps> = ({
|
||||
revalidateOnMount: true,
|
||||
});
|
||||
|
||||
const { data: existingUsers } = useSWR<UserResultsResponse>(
|
||||
`/api/v1/user?take=${children}`
|
||||
);
|
||||
|
||||
data?.forEach((user, pos) => {
|
||||
if (
|
||||
existingUsers?.results.some((data) => data.jellyfinUserId === user.id)
|
||||
) {
|
||||
data?.splice(pos, 1);
|
||||
}
|
||||
});
|
||||
|
||||
const importUsers = async () => {
|
||||
setImporting(true);
|
||||
|
||||
|
||||
@@ -482,7 +482,9 @@ const UserList: React.FC = () => {
|
||||
setShowImportModal(false);
|
||||
revalidate();
|
||||
}}
|
||||
/>
|
||||
>
|
||||
{data.pageInfo.results}
|
||||
</JellyfinImportModal>
|
||||
)}
|
||||
</Transition>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user