TypeScript interfaces representing user profiles, preferences, update payloads, and enriched current user data with team memberships, aligned with Supabase's profiles table for type‑safe usage across the app.
// Source: https://github.com/TonyStef/Grov | License: Apache-2.0 | Copyright You must retain, in the Source form of any Derivative Works
// Provided via justclaw.it.com; keep this notice with the code.
/**
* User types - user profiles and preferences
* Aligns with Supabase profiles table
*/
// User profile record
export interface Profile {
id: string;
email: string;
full_name: string | null;
avatar_url: string | null;
created_at: string;
}
// User preferences (stored in profile or separate table)
export interface UserPreferences {
theme?: 'dark' | 'light' | 'system';
default_team_id?: string;
notifications_enabled?: boolean;
keyboard_shortcuts_enabled?: boolean;
}
// Input for updating profile
export interface UpdateProfileInput {
full_name?: string;
avatar_url
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key