Woooo! Login & Gallery Loading Working!

This commit is contained in:
2021-02-21 22:36:25 -05:00
parent 901a69bb91
commit f46db58ed1
12 changed files with 155 additions and 100 deletions

View File

@@ -6,6 +6,7 @@ import 'package:imagini/api/cookie_client/cookie_client.dart'
if (dart.library.io) 'package:imagini/api/cookie_client/io_cookie_client.dart';
import 'package:imagini/core/storage_client/base_storage_client.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:graphql_flutter/graphql_flutter.dart';
import 'package:imagini/graphql/imagini_graphql.dart';
@@ -18,12 +19,15 @@ class APIProvider{
APIProvider(BaseStorageClient storage) {
_storage = storage;
init();
}
Future<void> init() async {
String _server = await _storage.get("server");
// Initialize
if (_server == null)
_server = "http://localhost";
httpLink = HttpLink(_server + _GRAPHQL_ENDPOINT,
httpClient: getCookieClient(_storage),
);
@@ -43,7 +47,7 @@ class APIProvider{
(username != null && password != null && server != null)
);
// Initialize Connection
// Initialize New Connection
await _storage.set("server", server);
await init();
@@ -59,12 +63,19 @@ class APIProvider{
return response;
}
Image getImage(String fileName) {
// TODO: Get headers & Server
String fullURL = fileName;
return new Image.network(
fullURL,
headers: {},
Future<CachedNetworkImage> getImage(String fileName, int derivedContentWidth) async {
String server = await _storage.get("server");
String accessToken = await _storage.get("accessToken");
String refreshToken = await _storage.get("refreshToken");
String fullURL = "$server/media/$fileName?width=$derivedContentWidth";
return CachedNetworkImage(
imageUrl: fullURL,
imageRenderMethodForWeb: ImageRenderMethodForWeb.HttpGet,
httpHeaders: {
"X-Imagini-AccessToken": accessToken,
"X-Imagini-RefreshToken": refreshToken,
},
fit: BoxFit.contain,
);
}

View File

@@ -2,7 +2,7 @@ import 'dart:async';
import 'package:imagini/api/api_provider.dart';
import 'package:imagini/graphql/imagini_graphql.dart';
import 'package:graphql_flutter/graphql_flutter.dart';
import 'package:flutter/material.dart';
import 'package:cached_network_image/cached_network_image.dart';
class ImaginiAPIRepository {
APIProvider _apiProvider;
@@ -41,7 +41,7 @@ class ImaginiAPIRepository {
}));
}
Image getImage(String fileName) {
return _apiProvider.getImage(fileName);
Future<CachedNetworkImage> getImage(String fileName, int derivedContentWidth) {
return _apiProvider.getImage(fileName, derivedContentWidth);
}
}