From 4be0654e96323d0b3828808dd2dce99cf4159255 Mon Sep 17 00:00:00 2001 From: pikann22 Date: Tue, 18 Aug 2026 09:51:44 +0000 Subject: [PATCH] feat: add UserSettingsTabProps interface for user account settings --- src/extension-points.ts | 20 +++++++++++++++++++- src/index.ts | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/extension-points.ts b/src/extension-points.ts index cb3830a..222717c 100644 --- a/src/extension-points.ts +++ b/src/extension-points.ts @@ -13,6 +13,7 @@ * - view * - project.page (full-page view routed from a project sidebar nav item) * - admin.page (full-page view routed from the admin sidebar nav item) + * - user.settings.tab (tab on the current user's own Account/Profile settings page) */ import type { PluginApiClient } from "./api-client"; @@ -126,6 +127,22 @@ export interface ProjectPageProps extends BaseExtensionProps { */ export interface AdminPageProps extends BaseExtensionProps {} +// ── user.settings.tab ──────────────────────────────────────────────────────── + +/** + * Props for components registered at `user.settings.tab`. + * Rendered as an additional tab on the current user's own Account/Profile + * settings page — personal preferences for that user, as opposed to + * `admin.page`'s instance-wide scope or `project.settings.tab`'s per-project + * scope. The `api` client injected here has no `projectId` (global scope, + * same as `admin.page`); use `api.pluginGet(pluginId, "/me/...")`-style + * routes scoped by the authenticated caller. + */ +export interface UserSettingsTabProps extends BaseExtensionProps { + /** The signed-in user's own ID. */ + userId: string; +} + // ── Union helper ────────────────────────────────────────────────────────────── /** Union of all extension point prop types. */ @@ -136,4 +153,5 @@ export type ExtensionPointProps = | ProjectSettingsTabProps | ViewExtensionProps | ProjectPageProps - | AdminPageProps; + | AdminPageProps + | UserSettingsTabProps; diff --git a/src/index.ts b/src/index.ts index 572f152..28ceec9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -18,6 +18,7 @@ export type { SidebarGeneralSectionProps, SidebarProjectSectionProps, TaskDetailSectionProps, + UserSettingsTabProps, ViewExtensionProps, } from "./extension-points"; export type { PluginContextValue, PluginProviderProps } from "./plugin-context";