aboutsummaryrefslogtreecommitdiff
path: root/src/client/apis/google_docs/GooglePhotosClientUtils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/apis/google_docs/GooglePhotosClientUtils.ts')
-rw-r--r--src/client/apis/google_docs/GooglePhotosClientUtils.ts22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/client/apis/google_docs/GooglePhotosClientUtils.ts b/src/client/apis/google_docs/GooglePhotosClientUtils.ts
index 67a282f48..0864ebdb1 100644
--- a/src/client/apis/google_docs/GooglePhotosClientUtils.ts
+++ b/src/client/apis/google_docs/GooglePhotosClientUtils.ts
@@ -1,6 +1,7 @@
import { Album } from "../../../server/apis/google/typings/albums";
import { PostToServer } from "../../../Utils";
import { RouteStore } from "../../../server/RouteStore";
+import { ImageField } from "../../../new_fields/URLField";
export namespace GooglePhotosClientUtils {
@@ -9,7 +10,7 @@ export namespace GooglePhotosClientUtils {
action: Album.Action.Create,
body: { album: { title } }
} as Album.Create;
- return PostToServer(RouteStore.googlePhotos, parameters);
+ return PostToServer(RouteStore.googlePhotosQuery, parameters);
};
export const List = async (options?: Partial<Album.ListOptions>) => {
@@ -21,7 +22,7 @@ export namespace GooglePhotosClientUtils {
excludeNonAppCreatedData: (options ? options.excludeNonAppCreatedData : false) || false,
} as Album.ListOptions
} as Album.List;
- return PostToServer(RouteStore.googlePhotos, parameters);
+ return PostToServer(RouteStore.googlePhotosQuery, parameters);
};
export const Get = async (albumId: string) => {
@@ -29,7 +30,22 @@ export namespace GooglePhotosClientUtils {
action: Album.Action.Get,
albumId
} as Album.Get;
- return PostToServer(RouteStore.googlePhotos, parameters);
+ return PostToServer(RouteStore.googlePhotosQuery, parameters);
+ };
+
+ export const toDataURL = (field: ImageField | undefined) => {
+ if (!field) {
+ return undefined;
+ }
+ const image = document.createElement("img");
+ image.src = field.url.href;
+ const canvas = document.createElement("canvas");
+ canvas.width = image.width;
+ canvas.height = image.height;
+ const ctx = canvas.getContext("2d")!;
+ ctx.drawImage(image, 0, 0);
+ const dataUrl = canvas.toDataURL("image/png");
+ return dataUrl.replace(/^data:image\/(png|jpg);base64,/, "");
};
} \ No newline at end of file