diff --git a/api/src/tablo_data.ts b/api/src/tablo_data.ts index a841f25..a119fb9 100644 --- a/api/src/tablo_data.ts +++ b/api/src/tablo_data.ts @@ -74,7 +74,7 @@ tabloDataRouter.get("/:tabloId/:fileName", checkTabloMember, async (c) => { tabloDataRouter.post( "/:tabloId/:fileName", regularUserCheckMiddleware, - checkTabloAdmin, + checkTabloMember, async (c) => { const tabloId = c.req.param("tabloId"); const fileName = c.req.param("fileName"); diff --git a/apps/main/src/App.tsx b/apps/main/src/App.tsx index a6213d6..707991c 100644 --- a/apps/main/src/App.tsx +++ b/apps/main/src/App.tsx @@ -2,16 +2,15 @@ import { SessionProvider } from "@xtablo/shared/contexts/SessionContext"; import { ThemeProvider } from "@xtablo/shared/contexts/ThemeContext"; import { Toaster } from "@xtablo/ui/components/sonner"; import { BrowserRouter as Router, useRoutes } from "react-router-dom"; -import { useCookieConsent } from "./hooks/useCookieConsent"; import { CookieBanner } from "./components/CookieBanner"; +import { useCookieConsent } from "./hooks/useCookieConsent"; +import { useDatadogRumViewName } from "./hooks/useDatadogRumViewName"; import { publicRoutes } from "./lib/publicRoutes"; import { routes } from "./lib/routes"; import { supabase } from "./lib/supabase"; import { NotFoundPage } from "./pages/NotFoundPage"; import { UserStoreProvider } from "./providers/UserStoreProvider"; -import { useDatadogRumViewName } from "./hooks/useDatadogRumViewName"; - const Routes = () => { useDatadogRumViewName(); const publicElement = useRoutes(publicRoutes); diff --git a/apps/main/src/components/CookieBanner.tsx b/apps/main/src/components/CookieBanner.tsx index 16d7807..46ce541 100644 --- a/apps/main/src/components/CookieBanner.tsx +++ b/apps/main/src/components/CookieBanner.tsx @@ -1,10 +1,10 @@ -import * as React from "react"; -import { useTranslation } from "react-i18next"; import { Button } from "@xtablo/ui/components/button"; import { Card } from "@xtablo/ui/components/card"; +import { Label } from "@xtablo/ui/components/label"; import { Switch } from "@xtablo/ui/components/switch"; import { X } from "lucide-react"; -import { Label } from "@xtablo/ui/components/label"; +import * as React from "react"; +import { useTranslation } from "react-i18next"; export interface CookiePreferences { essential: boolean; diff --git a/apps/main/src/components/TabloFilesSection.tsx b/apps/main/src/components/TabloFilesSection.tsx index 1ed83cf..476c8e1 100644 --- a/apps/main/src/components/TabloFilesSection.tsx +++ b/apps/main/src/components/TabloFilesSection.tsx @@ -191,133 +191,126 @@ export const TabloFilesSection = ({ tablo, isAdmin }: TabloFilesSectionProps) => )} - {/* File Upload Section - Only for Admins and non-read-only users */} - {isAdmin && !isReadOnly && ( -
-
- - - -

Ajouter un fichier

-
+ {/* File Upload Section - Available for all members */} +
+
+ + + +

Ajouter un fichier

+
- {!selectedFile ? ( -
- + {!selectedFile ? ( +
+ + +
+ ) : ( +
+
+
+ + + +
+
+

+ {selectedFile.name} +

+

+ {(selectedFile.size / 1024 / 1024).toFixed(2)} MB +

+
+
+ +
+
- ) : ( -
-
-
- - - -
-
-

- {selectedFile.name} -

-

- {(selectedFile.size / 1024 / 1024).toFixed(2)} MB -

-
-
+
+ )} -
- - -
-
- )} - -

- Taille maximale par fichier: 20MB -

-
- )} +

+ Taille maximale par fichier: 20MB +

+
{/* File List */}
@@ -501,11 +494,9 @@ export const TabloFilesSection = ({ tablo, isAdmin }: TabloFilesSectionProps) => />

Aucun fichier dans ce tablo

- {isAdmin && !isReadOnly && ( -

- Ajoutez votre premier fichier ci-dessus -

- )} +

+ Ajoutez votre premier fichier ci-dessus +

)}
diff --git a/apps/main/src/pages/settings.tsx b/apps/main/src/pages/settings.tsx index fa25b69..dfa692e 100644 --- a/apps/main/src/pages/settings.tsx +++ b/apps/main/src/pages/settings.tsx @@ -26,9 +26,9 @@ import { CameraIcon, CookieIcon, Loader2Icon, Trash2Icon, UploadIcon } from "luc import { useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import { LanguageSelector } from "../components/LanguageSelector"; -import { useCookieConsent } from "../hooks/useCookieConsent"; import { useIntroduction } from "../hooks/intros"; import { useRemoveAvatar, useUpdateProfile, useUploadAvatar } from "../hooks/profile"; +import { useCookieConsent } from "../hooks/useCookieConsent"; import { useUser } from "../providers/UserStoreProvider"; export default function SettingsPage() { diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts index 9f715e8..6fa3000 100644 --- a/packages/ui/src/components/index.ts +++ b/packages/ui/src/components/index.ts @@ -8,7 +8,6 @@ export * from "./card"; export * from "./checkbox"; export * from "./clipboard"; export * from "./collapsible"; -export * from "./cookie-banner"; export * from "./date-field"; export * from "./date-picker"; export * from "./dialog";