diff --git a/prisma/migrations/20250827234055_files_default_compression_format/migration.sql b/prisma/migrations/20250827234055_files_default_compression_format/migration.sql
new file mode 100644
index 00000000..baffa29d
--- /dev/null
+++ b/prisma/migrations/20250827234055_files_default_compression_format/migration.sql
@@ -0,0 +1,2 @@
+-- AlterTable
+ALTER TABLE "public"."Zipline" ADD COLUMN "filesDefaultCompressionFormat" TEXT DEFAULT 'jpg';
diff --git a/prisma/schema.prisma b/prisma/schema.prisma
index 1b447125..2e7c1db3 100755
--- a/prisma/schema.prisma
+++ b/prisma/schema.prisma
@@ -42,6 +42,7 @@ model Zipline {
filesRemoveGpsMetadata Boolean @default(false)
filesRandomWordsNumAdjectives Int @default(2)
filesRandomWordsSeparator String @default("-")
+ filesDefaultCompressionFormat String? @default("jpg")
urlsRoute String @default("/go")
urlsLength Int @default(6)
diff --git a/src/components/pages/serverSettings/parts/Files.tsx b/src/components/pages/serverSettings/parts/Files.tsx
index 547582ff..a709cf3d 100644
--- a/src/components/pages/serverSettings/parts/Files.tsx
+++ b/src/components/pages/serverSettings/parts/Files.tsx
@@ -35,6 +35,7 @@ export default function Files({
filesRemoveGpsMetadata: boolean;
filesRandomWordsNumAdjectives: number;
filesRandomWordsSeparator: string;
+ filesDefaultCompressionFormat: string;
}>({
initialValues: {
filesRoute: '/u',
@@ -48,6 +49,7 @@ export default function Files({
filesRemoveGpsMetadata: false,
filesRandomWordsNumAdjectives: 3,
filesRandomWordsSeparator: '-',
+ filesDefaultCompressionFormat: 'jpg',
},
enhanceGetInputProps: (payload) => ({
disabled: data?.tampered?.includes(payload.field) || false,
@@ -98,6 +100,7 @@ export default function Files({
filesRemoveGpsMetadata: data.settings.filesRemoveGpsMetadata ?? false,
filesRandomWordsNumAdjectives: data.settings.filesRandomWordsNumAdjectives ?? 3,
filesRandomWordsSeparator: data.settings.filesRandomWordsSeparator ?? '-',
+ filesDefaultCompressionFormat: data.settings.filesDefaultCompressionFormat ?? 'jpg',
});
}, [data]);
@@ -186,6 +189,19 @@ export default function Files({
placeholder='-'
{...form.getInputProps('filesRandomWordsSeparator')}
/>
+
+
}>
diff --git a/src/components/pages/upload/UploadOptionsButton.tsx b/src/components/pages/upload/UploadOptionsButton.tsx
index 367f3948..997fbb61 100755
--- a/src/components/pages/upload/UploadOptionsButton.tsx
+++ b/src/components/pages/upload/UploadOptionsButton.tsx
@@ -199,7 +199,44 @@ export default function UploadOptionsButton({ folder, numFiles }: { folder?: str
description='The file name format to use when upload this file, the "File name" field will override this value.'
leftSection={}
value={options.format}
- onChange={(value) => setOption('format', value || ('default' as any))}
+ onChange={(value) => setOption('format', (value as any) || 'default')}
+ comboboxProps={{
+ withinPortal: true,
+ portalProps: {
+ style: {
+ zIndex: 100000000,
+ },
+ },
+ }}
+ />
+
+