diff --git a/packages/supa-mock/index.tsx b/packages/supa-mock/index.tsx index e8e7fb9cc2c..656ce35850e 100644 --- a/packages/supa-mock/index.tsx +++ b/packages/supa-mock/index.tsx @@ -1,2 +1,2 @@ export { SupaMock } from './src/SupaMock' -export type { SupaMockProps } from './src/types' +export type { SupaMockProps, SupaMockOrganization } from './src/types' diff --git a/packages/supa-mock/src/SupaMock.tsx b/packages/supa-mock/src/SupaMock.tsx index a30825627b8..f72f9bb62d0 100644 --- a/packages/supa-mock/src/SupaMock.tsx +++ b/packages/supa-mock/src/SupaMock.tsx @@ -11,6 +11,7 @@ export function SupaMock({ organizationName, organizationPlan, branchName, + organizations, }: SupaMockProps) { return (
{metricLabel}
{total.toLocaleString()}
{children}
+}
+
+function RenderWithCode({ text }: { text: string }) {
+ return (
+ <>
+ {text
+ .split('`')
+ .map((part, i) =>
+ i % 2 === 1 ? Entity
+Issue
+
+
Description
+
+
Resolve
+{lint}
++ {lint.summary} +
{MOCK_STATS.tables}
-{MOCK_STATS.functions}
-{MOCK_STATS.replicas}
-{MOCK_STATS.tables}
+{MOCK_STATS.functions}
+{MOCK_STATS.replicas}
++ Connect to your bucket using any S3-compatible service via the S3 protocol +
++ Manage your access keys for this project +
+
diff --git a/packages/supa-mock/src/screens/TableEditorScreen.tsx b/packages/supa-mock/src/screens/TableEditorScreen.tsx
index 7efb4b3087b..4f6390c6098 100644
--- a/packages/supa-mock/src/screens/TableEditorScreen.tsx
+++ b/packages/supa-mock/src/screens/TableEditorScreen.tsx
@@ -33,114 +33,122 @@ interface MockColumn {
isPrimary?: boolean
}
-const HACKATHON_IDS = ['f47ac10b-58cc-4372-a567-0e02b2c3d500', '1a93ba5-f676-4d65-baa8-2fa3fdf...']
-
-const MOCK_NAMES = [
- 'SuperDuperAi',
- 'Matthew Habtezgi',
- 'Snap Banana',
- 'BonAppeTeam',
- 'Ittybit',
- 'Peyote',
- 'Table Review',
- 'ScamSniper',
- '5-Dee Studios',
- 'Moldable',
- 'Pitched App',
- 'MomentoAI',
- 'Svelte Supabase Auth',
- "Women's Wellness Tracker",
- 'Repatch',
- 'My Events Super Base',
- 'WhatTheStack?!',
- 'PaintPal',
- 'HotOrSlop',
- 'Linkus',
- 'Expressify',
- 'Supa Events',
- 'honk honk',
- 'Alicia',
- 'jsonMartin',
- 'Kimchi',
- 'Interfaze',
- 'MexicoGPT',
- 'call/cc',
- 'DevDash',
- 'SupaFlow',
- 'CodeBuddy',
- 'AIssistant',
- 'DataVault',
- 'CloudPilot',
- 'PixelForge',
- 'StreamLine',
- 'NeuralNest',
- 'ByteCraft',
- 'FormStack',
- 'QueryMaster',
- 'SyncWave',
- 'BlinkDB',
- 'HexaGrid',
- 'VectorVault',
- 'GraphQL Hero',
- 'AuthGuard',
- 'EdgeRunner',
- 'LambdaLab',
- 'ServerPulse',
+const CATEGORY_IDS = [
+ 'c1a2b3c4-d5e6-4f70-a890-1b2c3d4e5f60',
+ 'a9b8c7d6-e5f4-4321-b098-7654321fedcb',
]
-const MOCK_DESCRIPTIONS = [
- 'AI Filmmaking Storyboard in Figma',
- 'A mail platform for AI agents',
- 'An AI-Powered Tower Defense Game Ger...',
- '2 homo sapiens with hands full of fingers.',
- null,
- null,
- 'A Supabase-powered web app connectin...',
- null,
- 'WZRD.Studio : Creative Interface to gene...',
- 'make your app customizable',
- 'Pitched reimagines online dating by lettin...',
- 'Choose Your Mentor. Change Your Life. P...',
- "I'm working on extending the (now unsup...",
- 'This application tracks health and wellne...',
- 'Autogenerate AI patchnote newsletters a...',
- 'My Events Super Base',
- 'WhatTheStack?! is the simplest way to ch...',
- 'A friendly painting app for Spectacles. Dr...',
- null,
- null,
- "It's augmentative communication mobile/...",
- null,
- 'kill zombie costs on AWS instantly',
- null,
- null,
- null,
- 'We think postgres should be able to call /...',
- 'Building AI native solutions for LATAM',
- null,
- null,
- null,
- 'Your AI pair programming companion',
- 'An intelligent assistant for developers',
- 'Secure data storage solution',
- 'Cloud infrastructure manager',
- 'Design tool for pixel art',
- 'Workflow automation platform',
- 'Neural network playground',
- 'Byte-level data manipulation',
- 'Dynamic form builder',
- 'Advanced database query tool',
- 'Real-time data synchronization',
- 'Lightning fast database',
- 'Hexagonal grid system',
- 'Vector embedding storage',
- 'GraphQL schema generator',
- 'Authentication guard middleware',
- 'Edge computing framework',
- 'Serverless function lab',
- 'Server monitoring dashboard',
+const PRODUCT_NAMES = [
+ 'Wireless Headphones',
+ 'Mechanical Keyboard',
+ 'USB-C Hub',
+ 'Standing Desk',
+ 'Monitor Light Bar',
+ 'Ergonomic Mouse',
+ 'Webcam HD',
+ 'Desk Mat XL',
+ 'Cable Organizer',
+ 'Laptop Stand',
+ 'Portable Charger',
+ 'Smart Plug',
+ 'LED Strip Lights',
+ 'Bluetooth Speaker',
+ 'Noise Machine',
+ 'Screen Protector',
+ 'Phone Mount',
+ 'Ring Light',
+ 'Drawing Tablet',
+ 'Mesh Wi-Fi Router',
+ 'External SSD',
+ 'Docking Station',
+ 'Trackpad',
+ 'Desk Shelf',
+ 'Air Purifier',
+ 'Desk Fan',
+ 'Footrest',
+ 'Wrist Rest',
+ 'Monitor Arm',
+ 'Surge Protector',
+ 'Desk Lamp',
+ 'Wireless Charger',
+ 'Noise-Canceling Earbuds',
+ 'Smart Thermostat',
+ 'Portable Monitor',
+ 'Keyboard Tray',
+ 'Cable Sleeve',
+ 'Headphone Stand',
+ 'Document Scanner',
+ 'Label Maker',
+ 'Pen Holder',
+ 'Whiteboard',
+ 'Timer Cube',
+ 'Desk Clock',
+ 'Power Strip',
+ 'HDMI Adapter',
+ 'Privacy Screen',
+ 'Clip-on Light',
+ 'Mini Projector',
+ 'Card Reader',
]
+const PRODUCT_DESCRIPTIONS: (string | null)[] = [
+ 'Over-ear with active noise cancellation',
+ 'Cherry MX switches, RGB backlight',
+ '7-in-1 adapter with 4K HDMI output',
+ 'Electric height-adjustable, 60x30 inch',
+ null,
+ null,
+ '1080p with autofocus and built-in mic',
+ null,
+ 'Premium felt, 90x40cm',
+ 'Silicone cable clips, pack of 12',
+ 'Aluminum alloy, adjustable height',
+ '10000mAh, USB-C PD fast charging',
+ 'Wi-Fi enabled, energy monitoring',
+ null,
+ '10W stereo, waterproof IPX7',
+ 'White noise and nature sounds',
+ null,
+ null,
+ 'Tempered glass, matte finish',
+ null,
+ 'Magnetic car mount, MagSafe compatible',
+ null,
+ null,
+ null,
+ '10-inch with stylus, pressure sensitive',
+ 'Tri-band, covers up to 5000 sq ft',
+ null,
+ null,
+ null,
+ '1TB NVMe, USB 3.2 Gen 2',
+ 'Triple display support, 100W PD',
+ 'Multi-touch, Bluetooth 5.0',
+ 'Bamboo desktop organizer',
+ 'HEPA filter, covers 400 sq ft',
+ 'Rechargeable, oscillating, USB powered',
+ 'Adjustable tilt, anti-slip surface',
+ 'Memory foam, for 60% keyboards',
+ 'Gas spring, VESA 75/100 compatible',
+ '8-outlet, 2 USB ports, 6ft cord',
+ 'Adjustable color temperature, CRI 95+',
+ '15W Qi fast charge, slim profile',
+ 'ANC, 30hr battery, multipoint pairing',
+ 'Smart scheduling, energy saving',
+ '15.6 inch, 1080p IPS, USB-C powered',
+ 'Clamp-on, adjustable height',
+ 'Neoprene, 10ft length, zip closure',
+ 'Walnut wood, universal fit',
+ 'Duplex scanning, 600 DPI, Wi-Fi',
+ 'Thermal, Bluetooth, label tape included',
+ 'Bamboo, 4 compartments',
+]
+
+function seededRandom(seed: number): number {
+ const x = Math.sin(seed + 1) * 10000
+ return x - Math.floor(x)
+}
+
function generateUUID(seed: number): string {
const hex = (n: number) => n.toString(16).padStart(8, '0')
return `${hex(seed)}-${hex(seed * 7).slice(0, 4)}-${hex(seed * 13).slice(0, 4)}-${hex(seed * 17).slice(0, 4)}-${hex(
@@ -156,53 +164,53 @@ function generateTimestamp(seed: number): string {
return base.toISOString().replace('T', ' ').replace('Z', '+00')
}
-function generateSubmissionRows(): Record