User Profile Types (types/user.ts)

Grov · shared/src/types/user.ts · typescript · Apache-2.0
database, lang:typescript, tag:embed-classified, tag:user, tag:profile, tag:preferences

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