support for actual urls

This commit is contained in:
krawieck 2020-09-24 15:38:54 +02:00
parent 6c8251b7aa
commit 121f4a424c
1 changed files with 20 additions and 5 deletions

View File

@ -24,14 +24,14 @@ class AddInstancePage extends HookWidget {
final prevInput = usePrevious(instanceController.text); final prevInput = usePrevious(instanceController.text);
final debounce = useDebounce(() async { final debounce = useDebounce(() async {
if (prevInput == instanceController.text) return; if (prevInput == instanceController.text) return;
if (instanceController.text.isEmpty) {
final inst = _fixInstanceUrl(instanceController.text);
if (inst.isEmpty) {
isSite.value = null; isSite.value = null;
return; return;
} }
try { try {
icon.value = icon.value = (await LemmyApi(inst).v1.getSite()).site.icon;
(await LemmyApi(instanceController.text).v1.getSite()).site.icon;
isSite.value = true; isSite.value = true;
// ignore: avoid_catches_without_on_clauses // ignore: avoid_catches_without_on_clauses
} catch (e) { } catch (e) {
@ -50,7 +50,8 @@ class AddInstancePage extends HookWidget {
handleOnAdd() async { handleOnAdd() async {
try { try {
await accountsStore.addInstance(instanceController.text, await accountsStore.addInstance(
_fixInstanceUrl(instanceController.text),
assumeValid: true); assumeValid: true);
Navigator.of(context).pop(instanceController.text); Navigator.of(context).pop(instanceController.text);
} on Exception catch (err) { } on Exception catch (err) {
@ -146,3 +147,17 @@ class AddInstancePage extends HookWidget {
); );
} }
} }
String _fixInstanceUrl(String inst) {
if (inst.startsWith('https://')) {
inst = inst.substring(8);
}
if (inst.startsWith('http://')) {
inst = inst.substring(7);
}
if (inst.endsWith('/')) inst = inst.substring(0, inst.length - 1);
return inst;
}