feat: server discovery during login

This commit is contained in:
Fredrik Burmester
2025-01-11 11:21:36 +01:00
parent a2145fd7e8
commit a3307a90a3
6 changed files with 185 additions and 9 deletions

View File

@@ -50,6 +50,15 @@ export const JellyfinProvider: React.FC<{ children: ReactNode }> = ({
const [jellyfin, setJellyfin] = useState<Jellyfin | undefined>(undefined);
const [deviceId, setDeviceId] = useState<string | undefined>(undefined);
useEffect(() => {
async () => {
const servers = jellyfin?.discovery.getRecommendedServerCandidates(
"demo.jellyfin.org/stable"
);
console.log(servers);
};
}, [jellyfin]);
useEffect(() => {
(async () => {
const id = getOrSetDeviceId();
@@ -72,7 +81,13 @@ export const JellyfinProvider: React.FC<{ children: ReactNode }> = ({
const [user, setUser] = useAtom(userAtom);
const [isPolling, setIsPolling] = useState<boolean>(false);
const [secret, setSecret] = useState<string | null>(null);
const [settings, updateSettings, pluginSettings, setPluginSettings, refreshStreamyfinPluginSettings] = useSettings();
const [
settings,
updateSettings,
pluginSettings,
setPluginSettings,
refreshStreamyfinPluginSettings,
] = useSettings();
const { clearAllJellyseerData, setJellyseerrUser } = useJellyseerr();
useQuery({
@@ -233,12 +248,14 @@ export const JellyfinProvider: React.FC<{ children: ReactNode }> = ({
const recentPluginSettings = await refreshStreamyfinPluginSettings();
if (recentPluginSettings?.jellyseerrServerUrl?.value) {
const jellyseerrApi = new JellyseerrApi(recentPluginSettings.jellyseerrServerUrl.value);
const jellyseerrApi = new JellyseerrApi(
recentPluginSettings.jellyseerrServerUrl.value
);
await jellyseerrApi.test().then((result) => {
if (result.isValid && result.requiresPass) {
jellyseerrApi.login(username, password).then(setJellyseerrUser);
}
})
});
}
}
} catch (error) {