Merge origin/beta into feat/accounting-inbound-invoices
Resolves the 7 feature-flag / i18n conflicts (accounting flags vs upstream's Project Overview 'projects' flag, both registered in the same files) as additive unions — accounting + incomingInvoices + expenses AND projects all coexist. Migrations slot cleanly: projects 117-121, accounting 122-129, no collisions. Frontend build + backend node --check pass.
This commit is contained in:
@@ -20,6 +20,7 @@ import {
|
||||
Landmark,
|
||||
ScanLine,
|
||||
Wallet,
|
||||
FolderKanban,
|
||||
} from 'lucide-react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Button, Card } from '../../../components/common';
|
||||
@@ -291,6 +292,20 @@ export const FeaturesTab: React.FC = () => {
|
||||
enabled={staged.hoursLogging}
|
||||
onToggle={(next) => setFlag('hoursLogging', next)}
|
||||
/>
|
||||
|
||||
<FeatureCard
|
||||
icon={FolderKanban}
|
||||
title={t('settings.features.projects.title', 'Projects')}
|
||||
description={t(
|
||||
'settings.features.projects.description',
|
||||
'Admin-only grouping layer above events. Bundle several events under one project and open a 360° Project Overview cockpit — milestone timeline plus a dated feed of every email (with the actual sent preview + resend/cancel/retry actions), quote, contract, invoice, gallery and logged hour. Adds a "book to project" control when logging hours. Customers never see projects.',
|
||||
)}
|
||||
status="new"
|
||||
statusLabel={statusLabel('new')}
|
||||
sidebarLabel={t('settings.features.projects.sidebar', 'Overview')}
|
||||
enabled={staged.projects}
|
||||
onToggle={(next) => setFlag('projects', next)}
|
||||
/>
|
||||
</Section>
|
||||
|
||||
{/* Accounting — top-level master + sub-toggles. The Tax export
|
||||
|
||||
Reference in New Issue
Block a user