diff --git a/apps/business/src/components/ChangeUserAccessModal.module.css b/apps/business/src/components/ChangeUserAccessModal.module.css index c4a92e5..279037f 100644 --- a/apps/business/src/components/ChangeUserAccessModal.module.css +++ b/apps/business/src/components/ChangeUserAccessModal.module.css @@ -6,7 +6,7 @@ .roleOption { display: flex; - align-items: center; + align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 10px; @@ -16,17 +16,37 @@ font-family: var(--font-ui); } +.roleOption input[type='radio'] { + accent-color: var(--primary); + margin-top: 2px; + flex-shrink: 0; +} + .roleOption:has(input:checked) { border-color: rgba(var(--primary-rgb) / 0.35); background: rgba(var(--primary-rgb) / 0.08); } +.roleOptionText { + display: flex; + flex-direction: column; + gap: 4px; + min-width: 0; +} + .roleOptionLabel { font-size: 13px; font-weight: 600; color: var(--text-primary); } +.roleOptionDesc { + font-size: 12px; + font-weight: 500; + color: var(--text-secondary); + line-height: 1.45; +} + .roleHint { margin: 12px 0 8px; font-size: 12px; @@ -36,12 +56,25 @@ } .roleListNested { + display: grid; + grid-template-columns: 1fr; + gap: 8px; margin-top: 4px; margin-inline-start: 12px; padding-inline-start: 10px; border-inline-start: 2px solid rgba(var(--primary-rgb) / 0.2); } +@media (min-width: 560px) { + .roleListNested { + grid-template-columns: 1fr 1fr; + } + + .roleListNested .roleOption:last-child:nth-child(odd) { + grid-column: 1 / -1; + } +} + .roleBadge { display: inline-block; margin-top: 4px; diff --git a/apps/business/src/components/ChangeUserAccessModal.tsx b/apps/business/src/components/ChangeUserAccessModal.tsx index 8d7208d..e97000a 100644 --- a/apps/business/src/components/ChangeUserAccessModal.tsx +++ b/apps/business/src/components/ChangeUserAccessModal.tsx @@ -23,6 +23,12 @@ const TEAM_ROLE_LABEL_KEYS: Record<(typeof ALL_TEAM_ROLES)[number], BusinessMess viewer: 'customers.access.role.viewer', } +const TEAM_ROLE_DESC_KEYS: Record<(typeof ALL_TEAM_ROLES)[number], BusinessMessageKey> = { + admin: 'customers.access.role.admin.desc', + editor: 'customers.access.role.editor.desc', + viewer: 'customers.access.role.viewer.desc', +} + export interface ChangeUserAccessModalProps { open: boolean user: BusinessCustomerListItem | null @@ -185,27 +191,33 @@ export function ChangeUserAccessModal({ {access === 'staff' ? ( <> -
- {canAssignAdmin - ? t('customers.access.hintSuperAdmin') - : t('customers.access.hintBusiness')} -
+ {!canAssignAdmin ? ( +{t('customers.access.hintBusiness')}
+ ) : null}{t('blog.categories.subtitle')}
{t('blog.list.subtitle', { count: totalBlogs })}
diff --git a/apps/business/src/pages/BlogPage.tsx b/apps/business/src/pages/BlogPage.tsx index be46c92..4a2bfa2 100644 --- a/apps/business/src/pages/BlogPage.tsx +++ b/apps/business/src/pages/BlogPage.tsx @@ -1,6 +1,7 @@ import { FileText, PlusCircle, FolderTree, Settings } from 'lucide-react' import { SectionCard } from '../components/SectionCard' import { Breadcrumbs } from '../components/Breadcrumbs' +import { PageTitle } from '../components/PageTitle' import { useT } from '../i18n/useT' import type { BusinessMessageKey } from '../i18n/messages' import styles from '../components/PageContent.module.css' @@ -55,7 +56,7 @@ export function BlogPage() { />{t('blog.page.subtitle')}
{t('blog.settings.subtitle')}
{t('brands.page.subtitle')}
{t('bizProfile.subtitle')}
{t('categories.page.subtitle')}
{t('customerProducts.detailsSubtitle')}
+{t('customerProducts.detailsSubtitle')}