diff --git a/ui/build.mjs b/ui/build.mjs
deleted file mode 100644
index 261d6094..00000000
--- a/ui/build.mjs
+++ /dev/null
@@ -1,97 +0,0 @@
-import fs from 'fs-extra'
-import esbuild from 'esbuild'
-import babel from 'esbuild-plugin-babel'
-import browserSync from 'browser-sync'
-import historyApiFallback from 'connect-history-api-fallback'
-import dotenv from 'dotenv'
-import workboxBuild from 'workbox-build'
-
-dotenv.config()
-const bs = browserSync.create()
-
-const production = process.env.NODE_ENV == 'production'
-const watchMode = process.argv[2] == 'watch'
-
-const ENVIRONMENT_VARIABLES = [
- 'NODE_ENV',
- 'PHOTOVIEW_API_ENDPOINT',
- 'VERSION',
- 'BUILD_DATE',
- 'COMMIT_SHA',
-]
-
-const defineEnv = ENVIRONMENT_VARIABLES.reduce((acc, key) => {
- acc[`process.env.${key}`] = process.env[key] ? `"${process.env[key]}"` : null
- return acc
-}, {})
-
-const esbuildOptions = {
- entryPoints: ['src/index.tsx', 'mapbox-gl/dist/mapbox-gl.css'],
- entryNames: '[name]',
- plugins: [
- babel({
- filter: /photoview\/ui\/src\/.*\.(js|tsx?)$/,
- }),
- ],
- publicPath: process.env.UI_PUBLIC_URL || '/',
- outdir: 'dist',
- format: 'esm',
- bundle: true,
- platform: 'browser',
- splitting: true,
- minify: production,
- sourcemap: !production,
- loader: {
- '.js': 'jsx',
- '.svg': 'file',
- '.woff': 'file',
- '.woff2': 'file',
- '.ttf': 'file',
- '.eot': 'file',
- '.png': 'file',
- },
- define: defineEnv,
- incremental: watchMode,
- watch: {
- onRebuild(err) {
- if (err == null) {
- bs.reload()
- }
- },
- },
-}
-
-fs.emptyDirSync('dist/')
-fs.copyFileSync('src/index.html', 'dist/index.html')
-fs.copyFileSync('src/manifest.webmanifest', 'dist/manifest.json')
-fs.copyFileSync('src/favicon.ico', 'dist/favicon.ico')
-fs.copySync('src/assets/', 'dist/assets/')
-
-if (watchMode) {
- esbuild.build(esbuildOptions)
-
- bs.init({
- server: {
- baseDir: './dist',
- middleware: [historyApiFallback()],
- },
- port: 1234,
- open: false,
- })
-} else {
- const build = async () => {
- await esbuild.build(esbuildOptions)
-
- console.log('esbuild done')
-
- await workboxBuild.generateSW({
- globDirectory: 'dist/',
- globPatterns: ['**/*.{png,svg,woff2,ttf,eot,woff,js,ico,html,json,css}'],
- swDest: 'dist/service-worker.js',
- })
-
- console.log('workbox done')
- console.log('build complete')
- }
- build()
-}
diff --git a/ui/package.json b/ui/package.json
index ac3e2d62..69972f65 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -43,7 +43,7 @@
"url-join": "^4.0.1"
},
"scripts": {
- "start": "craco start",
+ "start": "BROWSER=none craco start",
"build": "craco build",
"test": "npm run lint && npm run jest -- --watchAll=false",
"test:ci": "npm run lint && npm run jest:ci",
diff --git a/ui/src/Pages/PeoplePage/PeoplePage.tsx b/ui/src/Pages/PeoplePage/PeoplePage.tsx
index 7fdb3eac..3b5285e4 100644
--- a/ui/src/Pages/PeoplePage/PeoplePage.tsx
+++ b/ui/src/Pages/PeoplePage/PeoplePage.tsx
@@ -65,7 +65,7 @@ const RECOGNIZE_UNLABELED_FACES_MUTATION = gql`
}
`
-const FaceDetailsButton = styled.button<{ labeled: boolean }>`
+const FaceDetailsWrapper = styled.div<{ labeled: boolean }>`
color: ${({ labeled }) => (labeled ? 'black' : '#aaa')};
width: 150px;
margin: 12px auto 24px;
@@ -81,8 +81,6 @@ const FaceDetailsButton = styled.button<{ labeled: boolean }>`
}
`
-const FaceLabel = styled.span``
-
type FaceDetailsProps = {
group: myFaces_myFaceGroups
}
@@ -127,20 +125,20 @@ export const FaceDetails = ({ group }: FaceDetailsProps) => {
let label
if (!editLabel) {
label = (
-