+
+
+
+ setR2Credentials({
+ ...r2Credentials,
+ endpoint: e.target.value,
+ })
+ }
+ />
+
+
+
+
+ setR2Credentials({
+ ...r2Credentials,
+ access_key_id: e.target.value,
+ })
+ }
+ />
+
+
+
+
+ setR2Credentials({
+ ...r2Credentials,
+ secret_access_key: e.target.value,
+ })
+ }
+ />
+
+
+
+
+ setR2Credentials({
+ ...r2Credentials,
+ enabled: e,
+ })
+ }
+ />
+
+
+ {r2Credentials.buckets.map((bucket, index) => (
+
+
+ {t("Bucket")} {index + 1}
+
+
+ {index > 0 && (
+
+ )}
+ {index < r2Credentials.buckets.length - 1 && (
+
+ )}
+
+ {index !== 0 && (
+
+ )}
+
+
+
+
+ {
+ const newBuckets = [...r2Credentials.buckets];
+ newBuckets[index] = {
+ ...bucket,
+ bucket: e.target.value,
+ };
+ setR2Credentials({
+ ...r2Credentials,
+ buckets: newBuckets,
+ });
+ }}
+ />
+
+
+
+ {
+ const newBuckets = [...r2Credentials.buckets];
+ newBuckets[index] = {
+ ...bucket,
+ custom_domain: e.target.value,
+ };
+ setR2Credentials({
+ ...r2Credentials,
+ buckets: newBuckets,
+ });
+ }}
+ />
+
+
+
+ {
+ const newBuckets = [...r2Credentials.buckets];
+ newBuckets[index] = {
+ ...bucket,
+ region: e.target.value,
+ };
+ setR2Credentials({
+ ...r2Credentials,
+ buckets: newBuckets,
+ });
+ }}
+ />
+
+
+
+ {
+ const newBuckets = [...r2Credentials.buckets];
+ newBuckets[index] = {
+ ...bucket,
+ prefix: e.target.value,
+ };
+ setR2Credentials({
+ ...r2Credentials,
+ buckets: newBuckets,
+ });
+ }}
+ />
+
+
+
+
+
+
+
+
+
+
+ {t(
+ "Publicize this storage bucket, all registered users can upload files to this storage bucket; If not public, only administrators can upload files to this storage bucket",
+ )}
+
+
+
+
+
+ setR2Credentials({
+ ...r2Credentials,
+ buckets: r2Credentials.buckets.map((b, i) => {
+ if (i === index) {
+ return {
+ ...b,
+ public: e,
+ };
+ }
+ return b;
+ }),
+ })
+ }
+ />
+
+ {/*
+
+ {
+ const newBuckets = [...r2Credentials.buckets];
+ newBuckets[index] = {
+ ...bucket,
+ file_types: e.target.value,
+ };
+ setR2Credentials({
+ ...r2Credentials,
+ buckets: newBuckets,
+ });
+ }}
+ />
+
*/}
+
+ ))}
+