chore(ui): retire the Building2 icon app-wide (#2235)
Founder request from the register walkthrough. Suppliers (nav, command palette, empty state) use Truck; company and company-scoped surfaces (active company badge, invite, home signpost, SIE preview, template scopes, TIC workspace and its manifest) use Briefcase; the two bank contexts use Landmark. The extension icon resolver no longer maps Building2; the generated sector definitions follow the manifest. Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Jakob Wennberg
Claude Fable 5.1
parent
b996da60ee
commit
34b677b02c
@@ -12,7 +12,7 @@ import {
|
||||
DialogTitle,
|
||||
DialogTrigger,
|
||||
} from '@/components/ui/dialog'
|
||||
import { BookOpen, Search, Building2, Users, Globe } from 'lucide-react'
|
||||
import { BookOpen, Search, Users, Globe, Briefcase } from 'lucide-react'
|
||||
import { TEMPLATE_CATEGORY_LABELS, SCOPE_LABELS, getTemplateScope, applyTemplate } from '@/lib/bookkeeping/template-library'
|
||||
import type { BookingTemplateCategory, EntityType } from '@/types'
|
||||
import type { FormLine } from '@/components/bookkeeping/JournalEntryForm'
|
||||
@@ -28,7 +28,7 @@ interface Props {
|
||||
const SCOPE_ICONS = {
|
||||
system: Globe,
|
||||
team: Users,
|
||||
company: Building2,
|
||||
company: Briefcase,
|
||||
} as const
|
||||
|
||||
export default function BookingTemplatePicker({ onApply, entityType, defaultAmount }: Props) {
|
||||
|
||||
@@ -8,7 +8,6 @@ import {
|
||||
ArrowLeftRight,
|
||||
Users,
|
||||
Wallet,
|
||||
Building2,
|
||||
BookOpen,
|
||||
ListTree,
|
||||
BarChart3,
|
||||
@@ -24,6 +23,7 @@ import {
|
||||
ArrowRight,
|
||||
Scale,
|
||||
type LucideIcon,
|
||||
Truck,
|
||||
} from 'lucide-react'
|
||||
import { cn } from '@/lib/utils'
|
||||
import { useCompany } from '@/contexts/CompanyContext'
|
||||
@@ -49,7 +49,7 @@ const ACTION_ENTRIES: Entry[] = [
|
||||
|
||||
const PAGE_ENTRIES: Entry[] = [
|
||||
{ id: 'kunder', label: 'Kunder', icon: Users, href: '/customers' },
|
||||
{ id: 'leverantörer', label: 'Leverantörer', icon: Building2, href: '/suppliers' },
|
||||
{ id: 'leverantörer', label: 'Leverantörer', icon: Truck, href: '/suppliers' },
|
||||
{ id: 'kundfakturor', label: 'Kundfakturor', icon: ReceiptText, href: '/invoices', keywords: 'fakturor fakturering invoices kundfaktura' },
|
||||
{ id: 'leverantörsfakturor', label: 'Leverantörsfakturor', icon: Wallet, href: '/supplier-invoices' },
|
||||
{ id: 'bokföring', label: 'Bokföring', icon: BookOpen, href: '/bookkeeping', keywords: 'verifikat journal ledger' },
|
||||
|
||||
@@ -22,7 +22,6 @@ import {
|
||||
Menu,
|
||||
X,
|
||||
HelpCircle,
|
||||
Building2,
|
||||
Wallet,
|
||||
TrendingUp,
|
||||
ClipboardCheck,
|
||||
@@ -51,6 +50,7 @@ import {
|
||||
ShoppingCart,
|
||||
Car,
|
||||
ClipboardList,
|
||||
Truck,
|
||||
} from 'lucide-react'
|
||||
import { getBranding } from '@/lib/branding/service'
|
||||
import { BrandHomeLink } from '@/components/branding/BrandHomeLink'
|
||||
@@ -256,7 +256,7 @@ const navItems: NavItem[] = [
|
||||
// row. Anställda is a register (you edit an employee rarely, you run
|
||||
// payroll monthly), so it lives here while Löner stays in Arbeta.
|
||||
{ href: '/customers', labelKey: 'customers', icon: Users, group: 'data', fold: 'register' },
|
||||
{ href: '/suppliers', labelKey: 'suppliers', icon: Building2, group: 'data', fold: 'register' },
|
||||
{ href: '/suppliers', labelKey: 'suppliers', icon: Truck, group: 'data', fold: 'register' },
|
||||
{ href: '/articles', labelKey: 'articles', icon: Tag, group: 'data', fold: 'register' },
|
||||
{ href: '/salary/employees', labelKey: 'employees', icon: Users, group: 'data', fold: 'register', employerOnly: true },
|
||||
{ href: '/assets', labelKey: 'assets', icon: Package, group: 'data', fold: 'register' },
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import { useState } from 'react'
|
||||
import { useTranslations } from 'next-intl'
|
||||
import { ArrowUpRight, Building2, Loader2 } from 'lucide-react'
|
||||
import { ArrowUpRight, Loader2, Briefcase } from 'lucide-react'
|
||||
import { performCompanySwitch } from '@/lib/company/switch-client'
|
||||
import { useToast } from '@/components/ui/use-toast'
|
||||
|
||||
@@ -39,7 +39,7 @@ export default function HomeDomainSignpost({
|
||||
<div className="stagger-enter mx-auto max-w-lg pt-12">
|
||||
<div className="flex flex-col items-center text-center">
|
||||
<div className="mb-5 flex h-12 w-12 items-center justify-center rounded-xl bg-muted/60">
|
||||
<Building2 className="h-5 w-5 text-muted-foreground" />
|
||||
<Briefcase className="h-5 w-5 text-muted-foreground" />
|
||||
</div>
|
||||
<h1 className="font-display text-2xl leading-8 tracking-tight">
|
||||
{t('title')}
|
||||
|
||||
@@ -17,7 +17,6 @@ import {
|
||||
import { useExtensionData } from '@/lib/extensions/use-extension-data'
|
||||
import { useToast } from '@/components/ui/use-toast'
|
||||
import {
|
||||
Building2,
|
||||
CheckCircle,
|
||||
XCircle,
|
||||
MapPin,
|
||||
@@ -29,6 +28,7 @@ import {
|
||||
ShieldCheck,
|
||||
Users,
|
||||
Receipt,
|
||||
Briefcase,
|
||||
} from 'lucide-react'
|
||||
import { Badge } from '@/components/ui/badge'
|
||||
import Link from 'next/link'
|
||||
@@ -330,7 +330,7 @@ export default function TicWorkspace({ userId }: WorkspaceComponentProps) {
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2 text-base">
|
||||
<Building2 className="h-4 w-4" />
|
||||
<Briefcase className="h-4 w-4" />
|
||||
{/* data-ph-mask: the looked-up company name is user data */}
|
||||
<span data-ph-mask="">{profile.companyName}</span>
|
||||
</CardTitle>
|
||||
|
||||
@@ -18,8 +18,8 @@ import {
|
||||
FileText,
|
||||
AlertCircle,
|
||||
CheckCircle,
|
||||
Building2,
|
||||
HelpCircle,
|
||||
Landmark,
|
||||
} from 'lucide-react'
|
||||
import type { BankFileFormatId } from '@/lib/import/bank-file/types'
|
||||
|
||||
@@ -187,7 +187,7 @@ export default function BankFileUploadStep({
|
||||
{(selectedFile.size / 1024).toFixed(1)} KB
|
||||
</p>
|
||||
<Badge variant="secondary" className="mt-2">
|
||||
<Building2 className="mr-1 h-3 w-3" />
|
||||
<Landmark className="mr-1 h-3 w-3" />
|
||||
{detectedFormat === 'wise_statement'
|
||||
? t('bank_format_wise_statement')
|
||||
: detectedFormatName || FORMAT_NAMES[detectedFormat] || detectedFormat}
|
||||
|
||||
@@ -7,7 +7,6 @@ import { Button } from '@/components/ui/button'
|
||||
import { Checkbox } from '@/components/ui/checkbox'
|
||||
import { formatCurrency } from '@/lib/utils'
|
||||
import {
|
||||
Building2,
|
||||
Calendar,
|
||||
FileText,
|
||||
CheckCircle,
|
||||
@@ -16,6 +15,7 @@ import {
|
||||
ArrowRight,
|
||||
BarChart3,
|
||||
Info,
|
||||
Briefcase,
|
||||
} from 'lucide-react'
|
||||
import type { ImportPreview, ParseIssue } from '@/lib/import/types'
|
||||
|
||||
@@ -69,7 +69,7 @@ export default function SIEPreviewStep({
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<Building2 className="h-5 w-5" />
|
||||
<Briefcase className="h-5 w-5" />
|
||||
Företagsinformation
|
||||
</CardTitle>
|
||||
<CardDescription>Information från SIE-filen</CardDescription>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use client'
|
||||
|
||||
import { Building2 } from 'lucide-react'
|
||||
import { Briefcase } from 'lucide-react'
|
||||
import { useTranslations } from 'next-intl'
|
||||
import { cn } from '@/lib/utils'
|
||||
import { useCompany } from '@/contexts/CompanyContext'
|
||||
@@ -33,7 +33,7 @@ export function ActiveCompanyBadge({ className }: { className?: string }) {
|
||||
)}
|
||||
title={`${t('active_company')}: ${company.name}`}
|
||||
>
|
||||
<Building2 className="h-3 w-3 shrink-0" aria-hidden="true" />
|
||||
<Briefcase className="h-3 w-3 shrink-0" aria-hidden="true" />
|
||||
<span className="sr-only">{t('active_company')}: </span>
|
||||
<span className="truncate">{company.name}</span>
|
||||
</Badge>
|
||||
|
||||
@@ -5,7 +5,7 @@ import { useTranslations } from 'next-intl'
|
||||
import { Input } from '@/components/ui/input'
|
||||
import { Badge } from '@/components/ui/badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Search, ChevronDown, ChevronUp, AlertTriangle, Info, Building2, PenLine } from 'lucide-react'
|
||||
import { Search, ChevronDown, ChevronUp, AlertTriangle, Info, PenLine, Briefcase } from 'lucide-react'
|
||||
import {
|
||||
getCommonTemplates,
|
||||
getAdvancedTemplates,
|
||||
@@ -519,7 +519,7 @@ export default function TemplatePicker({
|
||||
{sortedLibraryRaw.length > 0 && (
|
||||
<div>
|
||||
<p className="text-xs font-medium text-muted-foreground mb-2 flex items-center gap-1.5">
|
||||
<Building2 className="h-3 w-3" />
|
||||
<Briefcase className="h-3 w-3" />
|
||||
{t('my_templates')}
|
||||
</p>
|
||||
<div className="space-y-1.5">
|
||||
|
||||
Reference in New Issue
Block a user