Files
supabase/apps/studio/components/interfaces/UnifiedLogs/ServiceFlow/config/blockConfigs.ts
kemal.earth b2e5476146 feat(studio): tidy up bottom tray in logs interface (#45371)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Tidying up the bottom panel in unified logs. Taking care of some visual
quirks etc. Also preparing this area to house some other future concepts
via tabs.

| Before | After |
|--------|--------|
| <img width="828" height="384" alt="Screenshot 2026-04-30 at 11 24 09"
src="https://github.com/user-attachments/assets/804bdf1c-7cdb-4dd8-bf1e-31c434ef1436"
/> | <img width="830" height="407" alt="Screenshot 2026-04-30 at 11 22
53"
src="https://github.com/user-attachments/assets/28555efe-f893-4bae-bcb0-284e6db733e6"
/> |




<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Redesigned service flow panel with Overview and Raw JSON tabs
* Added Previous/Next navigation controls with Arrow Up/Down keyboard
support
* New detail components and section headers with icons for clearer
organization
  * Improved Postgres detail view and message/session display

* **Bug Fixes / Changes**
  * Removed legacy header UI and related controls

* **UI / Style**
  * Enhanced copy-to-clipboard feedback animation
  * Updated "Load more" button styling
  * Adjusted panel sizing for improved resizing behavior
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2026-05-06 16:32:31 +01:00

127 lines
2.6 KiB
TypeScript

import {
Cable,
Code,
Globe,
HardDrive,
Lock,
MonitorDot,
PackageOpen,
ReceiptText,
Server,
ShieldCheck,
Zap,
} from 'lucide-react'
import { BlockConfig } from '../components/shared/Block'
import {
apiKeyAdditionalFields,
apiKeyPrimaryField,
authorizationFields,
authPrimaryFields,
edgeFunctionDetailsFields,
edgeFunctionPrimaryFields,
locationAdditionalFields,
locationPrimaryField,
networkPrimaryFields,
postgresDetailsFields,
postgresPrimaryFields,
postgrestPrimaryFields,
postgrestResponseFields,
storageDetailsFields,
storagePrimaryFields,
techDetailsFields,
userAdditionalFields,
userPrimaryField,
} from './serviceFlowFields'
export const authBlockConfig: BlockConfig = {
title: 'Authentication',
icon: Lock,
primaryFields: authPrimaryFields,
}
export const postgrestBlockConfig: BlockConfig = {
title: 'Data API',
icon: Server,
primaryFields: postgrestPrimaryFields,
sections: [
{
title: 'Response Details',
icon: ReceiptText,
fields: postgrestResponseFields,
},
],
}
export const networkBlockConfig: BlockConfig = {
title: 'Network',
icon: Globe,
primaryFields: networkPrimaryFields,
sections: [
{
type: 'fieldWithSeeMore',
primaryField: apiKeyPrimaryField,
additionalFields: apiKeyAdditionalFields,
showValueAsBadge: true,
},
{
type: 'fieldWithSeeMore',
primaryField: userPrimaryField,
additionalFields: userAdditionalFields,
},
{
type: 'fieldWithSeeMore',
primaryField: locationPrimaryField,
additionalFields: locationAdditionalFields,
},
{
title: 'Authorization',
icon: ShieldCheck,
fields: authorizationFields,
},
{
title: 'Tech Details',
icon: MonitorDot,
fields: techDetailsFields,
},
],
}
export const edgeFunctionBlockConfig: BlockConfig = {
title: 'Edge Function',
icon: Zap,
primaryFields: edgeFunctionPrimaryFields,
sections: [
{
title: 'Function Details',
icon: Code,
fields: edgeFunctionDetailsFields,
},
],
}
export const storageBlockConfig: BlockConfig = {
title: 'Storage',
icon: HardDrive,
primaryFields: storagePrimaryFields,
sections: [
{
title: 'Storage Details',
icon: PackageOpen,
fields: storageDetailsFields,
},
],
}
export const postgresBlockConfig: BlockConfig = {
title: 'Postgres',
primaryFields: postgresPrimaryFields,
sections: [
{
title: 'Connection & Session Details',
icon: Cable,
fields: postgresDetailsFields,
},
],
}