From: Christopher Coté Date: Sat, 8 Jan 2022 01:43:27 +0000 (-0500) Subject: add frontend X-Git-Url: http://git.entropealabs.com/?a=commitdiff_plain;h=9dc58821cc22a5ea1bd5d0fa5eaf4b593471864e;p=photography.git add frontend --- diff --git a/.gitignore b/.gitignore index 61d5e2e0..04ee0896 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -local.env +media/local.env +node_modules diff --git a/.tool-versions b/.tool-versions index 3e7be091..35f872ca 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,3 @@ erlang 24.2 elixir 1.13.1-otp-24 +nodejs 17.0.1 diff --git a/default.env b/media/default.env similarity index 100% rename from default.env rename to media/default.env diff --git a/image_metadata.exs b/media/image_metadata.exs similarity index 98% rename from image_metadata.exs rename to media/image_metadata.exs index d8e392d8..f0f8dcaf 100644 --- a/image_metadata.exs +++ b/media/image_metadata.exs @@ -143,7 +143,7 @@ root_path = System.fetch_env!("IMAGE_ROOT_PATH") output_directory = System.fetch_env!("IMAGE_OUTPUT_DIRECTORY") bucket = System.fetch_env!("AWS_BUCKET_NAME") region = System.fetch_env!("AWS_REGION") -metadata_filename = "metadata.json" +metadata_filename = "../www/metadata.json" old_metadata = case File.read(metadata_filename) do diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..60e8f388 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,392 @@ +{ + "name": "photography", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "esbuild": "^0.14.10" + } + }, + "node_modules/esbuild": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.10.tgz", + "integrity": "sha512-ibZb+NwFqBwHHJlpnFMtg4aNmVK+LUtYMFC9CuKs6lDCBEvCHpqCFZFEirpqt1jOugwKGx8gALNGvX56lQyfew==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "optionalDependencies": { + "esbuild-android-arm64": "0.14.10", + "esbuild-darwin-64": "0.14.10", + "esbuild-darwin-arm64": "0.14.10", + "esbuild-freebsd-64": "0.14.10", + "esbuild-freebsd-arm64": "0.14.10", + "esbuild-linux-32": "0.14.10", + "esbuild-linux-64": "0.14.10", + "esbuild-linux-arm": "0.14.10", + "esbuild-linux-arm64": "0.14.10", + "esbuild-linux-mips64le": "0.14.10", + "esbuild-linux-ppc64le": "0.14.10", + "esbuild-linux-s390x": "0.14.10", + "esbuild-netbsd-64": "0.14.10", + "esbuild-openbsd-64": "0.14.10", + "esbuild-sunos-64": "0.14.10", + "esbuild-windows-32": "0.14.10", + "esbuild-windows-64": "0.14.10", + "esbuild-windows-arm64": "0.14.10" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.10.tgz", + "integrity": "sha512-vzkTafHKoiMX4uIN1kBnE/HXYLpNT95EgGanVk6DHGeYgDolU0NBxjO7yZpq4ZGFPOx8384eAdDrBYhO11TAlQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.10.tgz", + "integrity": "sha512-DJwzFVB95ZV7C3PQbf052WqaUuuMFXJeZJ0LKdnP1w+QOU0rlbKfX0tzuhoS//rOXUj1TFIwRuRsd0FX6skR7A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.10.tgz", + "integrity": "sha512-RNaaoZDg3nsqs5z56vYCjk/VJ76npf752W0rOaCl5lO5TsgV9zecfdYgt7dtUrIx8b7APhVaNYud+tGsDOVC9g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.10.tgz", + "integrity": "sha512-10B3AzW894u6bGZZhWiJOHw1uEHb4AFbUuBdyml1Ht0vIqd+KqWW+iY/yMwQAzILr2WJZqEhbOXRkJtY8aRqOw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.10.tgz", + "integrity": "sha512-mSQrKB7UaWvuryBTCo9leOfY2uEUSimAvcKIaUWbk5Hth9Sg+Try+qNA/NibPgs/vHkX0KFo/Rce6RPea+P15g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.10.tgz", + "integrity": "sha512-lktF09JgJLZ63ANYHIPdYe339PDuVn19Q/FcGKkXWf+jSPkn5xkYzAabboNGZNUgNqSJ/vY7VrOn6UrBbJjgYA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.10.tgz", + "integrity": "sha512-K+gCQz2oLIIBI8ZM77e9sYD5/DwEpeYCrOQ2SYXx+R4OU2CT9QjJDi4/OpE7ko4AcYMlMW7qrOCuLSgAlEj4Wg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.10.tgz", + "integrity": "sha512-BYa60dZ/KPmNKYxtHa3LSEdfKWHcm/RzP0MjB4AeBPhjS0D6/okhaBesZIY9kVIGDyeenKsJNOmnVt4+dhNnvQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.10.tgz", + "integrity": "sha512-+qocQuQvcp5wo/V+OLXxqHPc+gxHttJEvbU/xrCGE03vIMqraL4wMua8JQx0SWEnJCWP+Nhf//v8OSwz1Xr5kA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.10.tgz", + "integrity": "sha512-nmUd2xoBXpGo4NJCEWoaBj+n4EtDoLEvEYc8Z3aSJrY0Oa6s04czD1flmhd0I/d6QEU8b7GQ9U0g/rtBfhtxBg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.10.tgz", + "integrity": "sha512-vsOWZjm0rZix7HSmqwPph9arRVCyPtUpcURdayQDuIhMG2/UxJxpbdRaa//w4zYqcJzAWwuyH2PAlyy0ZNuxqQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.10.tgz", + "integrity": "sha512-knArKKZm0ypIYWOWyOT7+accVwbVV1LZnl2FWWy05u9Tyv5oqJ2F5+X2Vqe/gqd61enJXQWqoufXopvG3zULOg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.10.tgz", + "integrity": "sha512-6Gg8neVcLeyq0yt9bZpReb8ntZ8LBEjthxrcYWVrBElcltnDjIy1hrzsujt0+sC2rL+TlSsE9dzgyuvlDdPp2w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ] + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.10.tgz", + "integrity": "sha512-9rkHZzp10zI90CfKbFrwmQjqZaeDmyQ6s9/hvCwRkbOCHuto6RvMYH9ghQpcr5cUxD5OQIA+sHXi0zokRNXjcg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/esbuild-sunos-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.10.tgz", + "integrity": "sha512-mEU+pqkhkhbwpJj5DiN3vL0GUFR/yrL3qj8ER1amIVyRibKbj02VM1QaIuk1sy5DRVIKiFXXgCaHvH3RNWCHIw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ] + }, + "node_modules/esbuild-windows-32": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.10.tgz", + "integrity": "sha512-Z5DieUL1N6s78dOSdL95KWf8Y89RtPGxIoMF+LEy8ChDsX+pZpz6uAVCn+YaWpqQXO+2TnrcbgBIoprq2Mco1g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/esbuild-windows-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.10.tgz", + "integrity": "sha512-LE5Mm62y0Bilu7RDryBhHIX8rK3at5VwJ6IGM3BsASidCfOBTzqcs7Yy0/Vkq39VKeTmy9/66BAfVoZRNznoDw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.10.tgz", + "integrity": "sha512-OJOyxDtabvcUYTc+O4dR0JMzLBz6G9+gXIHA7Oc5d5Fv1xiYa0nUeo8+W5s2e6ZkPRdIwOseYoL70rZz80S5BA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + } + }, + "dependencies": { + "esbuild": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.10.tgz", + "integrity": "sha512-ibZb+NwFqBwHHJlpnFMtg4aNmVK+LUtYMFC9CuKs6lDCBEvCHpqCFZFEirpqt1jOugwKGx8gALNGvX56lQyfew==", + "requires": { + "esbuild-android-arm64": "0.14.10", + "esbuild-darwin-64": "0.14.10", + "esbuild-darwin-arm64": "0.14.10", + "esbuild-freebsd-64": "0.14.10", + "esbuild-freebsd-arm64": "0.14.10", + "esbuild-linux-32": "0.14.10", + "esbuild-linux-64": "0.14.10", + "esbuild-linux-arm": "0.14.10", + "esbuild-linux-arm64": "0.14.10", + "esbuild-linux-mips64le": "0.14.10", + "esbuild-linux-ppc64le": "0.14.10", + "esbuild-linux-s390x": "0.14.10", + "esbuild-netbsd-64": "0.14.10", + "esbuild-openbsd-64": "0.14.10", + "esbuild-sunos-64": "0.14.10", + "esbuild-windows-32": "0.14.10", + "esbuild-windows-64": "0.14.10", + "esbuild-windows-arm64": "0.14.10" + } + }, + "esbuild-android-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.10.tgz", + "integrity": "sha512-vzkTafHKoiMX4uIN1kBnE/HXYLpNT95EgGanVk6DHGeYgDolU0NBxjO7yZpq4ZGFPOx8384eAdDrBYhO11TAlQ==", + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.10.tgz", + "integrity": "sha512-DJwzFVB95ZV7C3PQbf052WqaUuuMFXJeZJ0LKdnP1w+QOU0rlbKfX0tzuhoS//rOXUj1TFIwRuRsd0FX6skR7A==", + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.10.tgz", + "integrity": "sha512-RNaaoZDg3nsqs5z56vYCjk/VJ76npf752W0rOaCl5lO5TsgV9zecfdYgt7dtUrIx8b7APhVaNYud+tGsDOVC9g==", + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.10.tgz", + "integrity": "sha512-10B3AzW894u6bGZZhWiJOHw1uEHb4AFbUuBdyml1Ht0vIqd+KqWW+iY/yMwQAzILr2WJZqEhbOXRkJtY8aRqOw==", + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.10.tgz", + "integrity": "sha512-mSQrKB7UaWvuryBTCo9leOfY2uEUSimAvcKIaUWbk5Hth9Sg+Try+qNA/NibPgs/vHkX0KFo/Rce6RPea+P15g==", + "optional": true + }, + "esbuild-linux-32": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.10.tgz", + "integrity": "sha512-lktF09JgJLZ63ANYHIPdYe339PDuVn19Q/FcGKkXWf+jSPkn5xkYzAabboNGZNUgNqSJ/vY7VrOn6UrBbJjgYA==", + "optional": true + }, + "esbuild-linux-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.10.tgz", + "integrity": "sha512-K+gCQz2oLIIBI8ZM77e9sYD5/DwEpeYCrOQ2SYXx+R4OU2CT9QjJDi4/OpE7ko4AcYMlMW7qrOCuLSgAlEj4Wg==", + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.10.tgz", + "integrity": "sha512-BYa60dZ/KPmNKYxtHa3LSEdfKWHcm/RzP0MjB4AeBPhjS0D6/okhaBesZIY9kVIGDyeenKsJNOmnVt4+dhNnvQ==", + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.10.tgz", + "integrity": "sha512-+qocQuQvcp5wo/V+OLXxqHPc+gxHttJEvbU/xrCGE03vIMqraL4wMua8JQx0SWEnJCWP+Nhf//v8OSwz1Xr5kA==", + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.10.tgz", + "integrity": "sha512-nmUd2xoBXpGo4NJCEWoaBj+n4EtDoLEvEYc8Z3aSJrY0Oa6s04czD1flmhd0I/d6QEU8b7GQ9U0g/rtBfhtxBg==", + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.10.tgz", + "integrity": "sha512-vsOWZjm0rZix7HSmqwPph9arRVCyPtUpcURdayQDuIhMG2/UxJxpbdRaa//w4zYqcJzAWwuyH2PAlyy0ZNuxqQ==", + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.10.tgz", + "integrity": "sha512-knArKKZm0ypIYWOWyOT7+accVwbVV1LZnl2FWWy05u9Tyv5oqJ2F5+X2Vqe/gqd61enJXQWqoufXopvG3zULOg==", + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.10.tgz", + "integrity": "sha512-6Gg8neVcLeyq0yt9bZpReb8ntZ8LBEjthxrcYWVrBElcltnDjIy1hrzsujt0+sC2rL+TlSsE9dzgyuvlDdPp2w==", + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.10.tgz", + "integrity": "sha512-9rkHZzp10zI90CfKbFrwmQjqZaeDmyQ6s9/hvCwRkbOCHuto6RvMYH9ghQpcr5cUxD5OQIA+sHXi0zokRNXjcg==", + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.10.tgz", + "integrity": "sha512-mEU+pqkhkhbwpJj5DiN3vL0GUFR/yrL3qj8ER1amIVyRibKbj02VM1QaIuk1sy5DRVIKiFXXgCaHvH3RNWCHIw==", + "optional": true + }, + "esbuild-windows-32": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.10.tgz", + "integrity": "sha512-Z5DieUL1N6s78dOSdL95KWf8Y89RtPGxIoMF+LEy8ChDsX+pZpz6uAVCn+YaWpqQXO+2TnrcbgBIoprq2Mco1g==", + "optional": true + }, + "esbuild-windows-64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.10.tgz", + "integrity": "sha512-LE5Mm62y0Bilu7RDryBhHIX8rK3at5VwJ6IGM3BsASidCfOBTzqcs7Yy0/Vkq39VKeTmy9/66BAfVoZRNznoDw==", + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.10.tgz", + "integrity": "sha512-OJOyxDtabvcUYTc+O4dR0JMzLBz6G9+gXIHA7Oc5d5Fv1xiYa0nUeo8+W5s2e6ZkPRdIwOseYoL70rZz80S5BA==", + "optional": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..8aa3a3e4 --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "entropealabs-media", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "build": "esbuild src/index.js --bundle --outfile=www/js/index.js --minify --sourcemap --target=chrome58,firefox57,safari11,edge16", + "serve": "esbuild src/index.js --servedir=www --outdir=www/js --bundle" + }, + "devDependencies": { + "esbuild": "^0.14.10" + }, + "dependencies": {} +} diff --git a/src/index.js b/src/index.js new file mode 100644 index 00000000..54a42aa7 --- /dev/null +++ b/src/index.js @@ -0,0 +1,38 @@ +let server = null; + +function init(){ + get_config(); +} + +function get_config(){ + fetch("config.json") + .then(result => result.json()) + .then(data => handle_config(data)) +} + +function handle_config(data){ + server = data.media_server; + get_metadata(); +} + +function get_metadata(){ + fetch("metadata.json") + .then(result => result.json()) + .then(data => process_media(data)) +} + +function process_media(items){ + let p = document.getElementById("content") + items.forEach(i => { + let img = image(i); + p.appendChild(img); + }) +} + +function image(image){ + let i = document.createElement("img"); + i.src = server + image.path; + return i +} + +init(); diff --git a/www/config.json b/www/config.json new file mode 100644 index 00000000..d039f951 --- /dev/null +++ b/www/config.json @@ -0,0 +1,3 @@ +{ + "media_server": "https://entropealabs-media.s3.us-east-2.amazonaws.com" +} diff --git a/www/img/connected.png b/www/img/connected.png new file mode 100644 index 00000000..d095a47b Binary files /dev/null and b/www/img/connected.png differ diff --git a/www/index.html b/www/index.html new file mode 100644 index 00000000..3a959e3c --- /dev/null +++ b/www/index.html @@ -0,0 +1,25 @@ + + + + + + + + + + +
+ +
+ + diff --git a/metadata.json b/www/metadata.json similarity index 100% rename from metadata.json rename to www/metadata.json