diff --git a/src/frontend/apps/impress/cunningham.ts b/src/frontend/apps/impress/cunningham.ts index a179392f..07c4ce9c 100644 --- a/src/frontend/apps/impress/cunningham.ts +++ b/src/frontend/apps/impress/cunningham.ts @@ -361,6 +361,7 @@ const config = { 'forms-switch': { 'handle-border-radius': '2px', 'rail-border-radius': '4px', + 'accent-color': 'var(--c--theme--colors--primary-text)', }, 'forms-textarea': { 'border-radius': '0', diff --git a/src/frontend/apps/impress/src/cunningham/cunningham-tokens.css b/src/frontend/apps/impress/src/cunningham/cunningham-tokens.css index 0653c764..25a99c84 100644 --- a/src/frontend/apps/impress/src/cunningham/cunningham-tokens.css +++ b/src/frontend/apps/impress/src/cunningham/cunningham-tokens.css @@ -486,6 +486,9 @@ ); --c--components--forms-switch--handle-border-radius: 2px; --c--components--forms-switch--rail-border-radius: 4px; + --c--components--forms-switch--accent-color: var( + --c--theme--colors--primary-text + ); --c--components--forms-textarea--border-radius: 0; } diff --git a/src/frontend/apps/impress/src/cunningham/cunningham-tokens.ts b/src/frontend/apps/impress/src/cunningham/cunningham-tokens.ts index 18a7942f..511516b6 100644 --- a/src/frontend/apps/impress/src/cunningham/cunningham-tokens.ts +++ b/src/frontend/apps/impress/src/cunningham/cunningham-tokens.ts @@ -487,6 +487,7 @@ export const tokens = { 'forms-switch': { 'handle-border-radius': '2px', 'rail-border-radius': '4px', + 'accent-color': 'var(--c--theme--colors--primary-text)', }, 'forms-textarea': { 'border-radius': '0' }, }, diff --git a/src/frontend/apps/impress/src/features/pads/pads-create/api/useCreatePad.tsx b/src/frontend/apps/impress/src/features/pads/pads-create/api/useCreatePad.tsx index f22550f7..906f5037 100644 --- a/src/frontend/apps/impress/src/features/pads/pads-create/api/useCreatePad.tsx +++ b/src/frontend/apps/impress/src/features/pads/pads-create/api/useCreatePad.tsx @@ -1,18 +1,22 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; -import { KEY_LIST_PAD } from '@/features/pads'; +import { KEY_LIST_PAD, Pad } from '@/features/pads'; -type CreatePadResponse = { - id: string; +type CreatePadParam = { title: string; + is_public: boolean; }; -export const createPad = async (title: string): Promise => { +export const createPad = async ({ + title, + is_public, +}: CreatePadParam): Promise => { const response = await fetchAPI(`documents/`, { method: 'POST', body: JSON.stringify({ title, + is_public, }), }); @@ -20,16 +24,16 @@ export const createPad = async (title: string): Promise => { throw new APIError('Failed to create the pad', await errorCauses(response)); } - return response.json() as Promise; + return response.json() as Promise; }; interface CreatePadProps { - onSuccess: (data: CreatePadResponse) => void; + onSuccess: (data: Pad) => void; } export function useCreatePad({ onSuccess }: CreatePadProps) { const queryClient = useQueryClient(); - return useMutation({ + return useMutation({ mutationFn: createPad, onSuccess: (data) => { void queryClient.invalidateQueries({ diff --git a/src/frontend/apps/impress/src/features/pads/pads-create/components/CardCreatePad.tsx b/src/frontend/apps/impress/src/features/pads/pads-create/components/CardCreatePad.tsx index 6b4f70b7..221da8ff 100644 --- a/src/frontend/apps/impress/src/features/pads/pads-create/components/CardCreatePad.tsx +++ b/src/frontend/apps/impress/src/features/pads/pads-create/components/CardCreatePad.tsx @@ -1,4 +1,4 @@ -import { Button } from '@openfun/cunningham-react'; +import { Button, Switch } from '@openfun/cunningham-react'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -52,12 +52,16 @@ export const CardCreatePad = () => { label={t('Pad name')} {...{ error, isError, isPending, setPadName }} /> + - diff --git a/src/frontend/apps/impress/src/features/templates/template-create/api/useCreateTemplate.tsx b/src/frontend/apps/impress/src/features/templates/template-create/api/useCreateTemplate.tsx index a4da2741..57fc56f8 100644 --- a/src/frontend/apps/impress/src/features/templates/template-create/api/useCreateTemplate.tsx +++ b/src/frontend/apps/impress/src/features/templates/template-create/api/useCreateTemplate.tsx @@ -1,20 +1,22 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; -import { KEY_LIST_TEMPLATE } from '@/features/templates'; +import { KEY_LIST_TEMPLATE, Template } from '@/features/templates'; -type CreateTemplateResponse = { - id: string; +type CreateTemplateParam = { title: string; + is_public: boolean; }; -export const createTemplate = async ( - title: string, -): Promise => { +export const createTemplate = async ({ + title, + is_public, +}: CreateTemplateParam): Promise