chore: rename cameleer3 to cameleer
Some checks failed
CI / build (push) Failing after 18s
CI / docker (push) Has been skipped

Rename Java packages from net.siegeln.cameleer3 to net.siegeln.cameleer,
update all references in workflows, Docker configs, docs, and bootstrap.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-15 15:28:44 +02:00
parent 44a0e413e9
commit 63c194dab7
113 changed files with 6190 additions and 582 deletions

View File

@@ -7,7 +7,7 @@
"dev": "vite",
"build": "tsc -b && vite build",
"preview": "vite preview",
"postinstall": "node -e \"const fs=require('fs'),p='node_modules/@cameleer/design-system/assets/';if(fs.existsSync('public')){fs.copyFileSync(p+'cameleer3-logo.svg','public/favicon.svg')}\""
"postinstall": "node -e \"const fs=require('fs'),p='node_modules/@cameleer/design-system/assets/';if(fs.existsSync('public')){fs.copyFileSync(p+'cameleer-logo.svg','public/favicon.svg')}\""
},
"dependencies": {
"@cameleer/design-system": "^0.1.45",

BIN
ui/public/favicon-192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
ui/public/favicon-32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -1,7 +1,7 @@
import { type FormEvent, useMemo, useState } from 'react';
import { Eye, EyeOff } from 'lucide-react';
import { Card, Input, Button, Alert, FormField } from '@cameleer/design-system';
import cameleerLogo from '@cameleer/design-system/assets/cameleer3-logo.svg';
import cameleerLogo from '@cameleer/design-system/assets/cameleer-logo.svg';
import { signIn } from './experience-api';
import styles from './SignInPage.module.css';

View File

@@ -0,0 +1 @@
{"root":["./src/app.tsx","./src/signinpage.tsx","./src/experience-api.ts","./src/main.tsx","./src/vite-env.d.ts"],"version":"5.9.3"}

View File

@@ -5,10 +5,13 @@ import {
TopBar,
} from '@cameleer/design-system';
import { LayoutDashboard, ShieldCheck, Users, Settings, Shield, Building, ScrollText } from 'lucide-react';
import { useQuery } from '@tanstack/react-query';
import { useAuth } from '../auth/useAuth';
import { useScopes } from '../auth/useScopes';
import { useOrgStore } from '../auth/useOrganization';
import cameleerLogo from '@cameleer/design-system/assets/cameleer3-logo.svg';
import { api } from '../api/client';
import type { VendorTenantSummary } from '../types/api';
import cameleerLogo from '@cameleer/design-system/assets/cameleer-logo.svg';
function CameleerLogo() {
return (
@@ -34,6 +37,12 @@ export function Layout() {
const { username } = useOrgStore();
const isVendor = scopes.has('platform:admin');
const { data: vendorTenants } = useQuery<VendorTenantSummary[]>({
queryKey: ['vendor', 'tenants'],
queryFn: () => api.get('/vendor/tenants'),
enabled: isVendor,
refetchInterval: 30_000,
});
const isTenantAdmin = scopes.has('tenant:manage');
const onVendorRoute = location.pathname.startsWith('/vendor');
// Vendor on vendor routes: show only TENANTS. On tenant routes: show tenant portal too (for debugging).
@@ -65,12 +74,25 @@ export function Layout() {
>
<div
style={{ padding: '6px 12px 6px 36px', fontSize: 13, cursor: 'pointer',
fontWeight: isActive(location, '/vendor/tenants') ? 600 : 400,
color: isActive(location, '/vendor/tenants') ? 'var(--amber)' : 'var(--text-muted)' }}
fontWeight: isActive(location, '/vendor/tenants') && !location.pathname.startsWith('/vendor/tenants/') ? 600 : 400,
color: isActive(location, '/vendor/tenants') && !location.pathname.startsWith('/vendor/tenants/') ? 'var(--amber)' : 'var(--text-muted)' }}
onClick={() => navigate('/vendor/tenants')}
>
Tenants
</div>
{vendorTenants?.filter(t => t.status !== 'DELETED').map(t => (
<div
key={t.id}
style={{ padding: '4px 12px 4px 48px', fontSize: 12, cursor: 'pointer',
fontWeight: isActive(location, `/vendor/tenants/${t.id}`) ? 600 : 400,
color: isActive(location, `/vendor/tenants/${t.id}`) ? 'var(--amber)' : 'var(--text-muted)',
whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }}
onClick={() => navigate(`/vendor/tenants/${t.id}`)}
title={t.name}
>
{t.name}
</div>
))}
<div
style={{ padding: '6px 12px 6px 36px', fontSize: 13, cursor: 'pointer',
fontWeight: isActive(location, '/vendor/audit') ? 600 : 400,
@@ -129,7 +151,7 @@ export function Layout() {
<Sidebar.Section
icon={<Shield size={16} />}
label="SSO"
label="Security"
open={false}
active={isActive(location, '/tenant/sso')}
onToggle={() => navigate('/tenant/sso')}

1
ui/tsconfig.tsbuildinfo Normal file
View File

@@ -0,0 +1 @@
{"root":["./src/config.ts","./src/main.tsx","./src/router.tsx","./src/vite-env.d.ts","./src/api/ca-hooks.ts","./src/api/certificate-hooks.ts","./src/api/client.ts","./src/api/hooks.ts","./src/api/tenant-hooks.ts","./src/api/vendor-hooks.ts","./src/auth/callbackpage.tsx","./src/auth/loginpage.tsx","./src/auth/orgresolver.tsx","./src/auth/protectedroute.tsx","./src/auth/useauth.ts","./src/auth/useorganization.ts","./src/auth/usescopes.ts","./src/components/auditlogtable.tsx","./src/components/layout.tsx","./src/components/requirescope.tsx","./src/components/serverstatusbadge.tsx","./src/components/usageindicator.tsx","./src/pages/tenant/settingspage.tsx","./src/pages/tenant/ssopage.tsx","./src/pages/tenant/teampage.tsx","./src/pages/tenant/tenantauditpage.tsx","./src/pages/tenant/tenantdashboardpage.tsx","./src/pages/tenant/tenantlicensepage.tsx","./src/pages/vendor/certificatespage.tsx","./src/pages/vendor/createtenantpage.tsx","./src/pages/vendor/infrastructurepage.tsx","./src/pages/vendor/tenantdetailpage.tsx","./src/pages/vendor/vendorauditpage.tsx","./src/pages/vendor/vendortenantspage.tsx","./src/types/api.ts","./src/utils/slug.ts","./src/utils/tier.ts"],"version":"5.9.3"}