[WEB-5860] [WEB-5861] [WEB-5862] style: improved settings interface (#8520)
* style: improved profile settings * chore: minor improvements * style: improved workspace settings * style: workspace settings content * style: improved project settings * fix: project settings flat map * chore: add back navigation from settings pages * style: settings content * style: estimates list * refactor: remove old code * refactor: removed unnecessary line breaks * refactor: create a common component for page header * chore: add fade-in animation to sidebar * fix: formatting * fix: project settings sidebar header * fix: workspace settings sidebar header * fix: settings content wrapper scroll * chore: separate project settings features * fix: formatting * refactor: custom theme selector * refactor: settings headings * refactor: settings headings * fix: project settings sidebar padding * fix: sidebar header padding * fix: sidebar item permissions * fix: missing editable check * refactor: remove unused files * chore: remove unnecessary code * chore: add missing translations * fix: formatting
This commit is contained in:
parent
ba5ba5bf54
commit
db8b67102d
216 changed files with 4684 additions and 5454 deletions
|
|
@ -1,57 +1,6 @@
|
|||
// plane imports
|
||||
import { EStartOfTheWeek } from "@plane/types";
|
||||
|
||||
export const PROFILE_SETTINGS = {
|
||||
profile: {
|
||||
key: "profile",
|
||||
i18n_label: "profile.actions.profile",
|
||||
href: `/settings/account`,
|
||||
highlight: (pathname: string) => pathname === "/settings/account/",
|
||||
},
|
||||
security: {
|
||||
key: "security",
|
||||
i18n_label: "profile.actions.security",
|
||||
href: `/settings/account/security`,
|
||||
highlight: (pathname: string) => pathname === "/settings/account/security/",
|
||||
},
|
||||
activity: {
|
||||
key: "activity",
|
||||
i18n_label: "profile.actions.activity",
|
||||
href: `/settings/account/activity`,
|
||||
highlight: (pathname: string) => pathname === "/settings/account/activity/",
|
||||
},
|
||||
preferences: {
|
||||
key: "preferences",
|
||||
i18n_label: "profile.actions.preferences",
|
||||
href: `/settings/account/preferences`,
|
||||
highlight: (pathname: string) => pathname === "/settings/account/preferences",
|
||||
},
|
||||
notifications: {
|
||||
key: "notifications",
|
||||
i18n_label: "profile.actions.notifications",
|
||||
href: `/settings/account/notifications`,
|
||||
highlight: (pathname: string) => pathname === "/settings/account/notifications/",
|
||||
},
|
||||
"api-tokens": {
|
||||
key: "api-tokens",
|
||||
i18n_label: "profile.actions.api-tokens",
|
||||
href: `/settings/account/api-tokens`,
|
||||
highlight: (pathname: string) => pathname === "/settings/account/api-tokens/",
|
||||
},
|
||||
};
|
||||
export const PROFILE_ACTION_LINKS: {
|
||||
key: string;
|
||||
i18n_label: string;
|
||||
href: string;
|
||||
highlight: (pathname: string) => boolean;
|
||||
}[] = [
|
||||
PROFILE_SETTINGS["profile"],
|
||||
PROFILE_SETTINGS["security"],
|
||||
PROFILE_SETTINGS["activity"],
|
||||
PROFILE_SETTINGS["preferences"],
|
||||
PROFILE_SETTINGS["notifications"],
|
||||
PROFILE_SETTINGS["api-tokens"],
|
||||
];
|
||||
|
||||
export const PROFILE_VIEWER_TAB = [
|
||||
{
|
||||
key: "summary",
|
||||
|
|
@ -98,11 +47,6 @@ export const PREFERENCE_OPTIONS: {
|
|||
title: "theme",
|
||||
description: "select_or_customize_your_interface_color_scheme",
|
||||
},
|
||||
{
|
||||
id: "start_of_week",
|
||||
title: "First day of the week",
|
||||
description: "This will change how all calendars in your app look.",
|
||||
},
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,52 +0,0 @@
|
|||
import { PROFILE_SETTINGS } from "./profile";
|
||||
import { WORKSPACE_SETTINGS } from "./workspace";
|
||||
|
||||
export enum WORKSPACE_SETTINGS_CATEGORY {
|
||||
ADMINISTRATION = "administration",
|
||||
FEATURES = "features",
|
||||
DEVELOPER = "developer",
|
||||
}
|
||||
|
||||
export enum PROFILE_SETTINGS_CATEGORY {
|
||||
YOUR_PROFILE = "your profile",
|
||||
DEVELOPER = "developer",
|
||||
}
|
||||
|
||||
export enum PROJECT_SETTINGS_CATEGORY {
|
||||
PROJECTS = "projects",
|
||||
}
|
||||
|
||||
export const WORKSPACE_SETTINGS_CATEGORIES = [
|
||||
WORKSPACE_SETTINGS_CATEGORY.ADMINISTRATION,
|
||||
WORKSPACE_SETTINGS_CATEGORY.FEATURES,
|
||||
WORKSPACE_SETTINGS_CATEGORY.DEVELOPER,
|
||||
];
|
||||
|
||||
export const PROFILE_SETTINGS_CATEGORIES = [
|
||||
PROFILE_SETTINGS_CATEGORY.YOUR_PROFILE,
|
||||
PROFILE_SETTINGS_CATEGORY.DEVELOPER,
|
||||
];
|
||||
|
||||
export const PROJECT_SETTINGS_CATEGORIES = [PROJECT_SETTINGS_CATEGORY.PROJECTS];
|
||||
|
||||
export const GROUPED_WORKSPACE_SETTINGS = {
|
||||
[WORKSPACE_SETTINGS_CATEGORY.ADMINISTRATION]: [
|
||||
WORKSPACE_SETTINGS["general"],
|
||||
WORKSPACE_SETTINGS["members"],
|
||||
WORKSPACE_SETTINGS["billing-and-plans"],
|
||||
WORKSPACE_SETTINGS["export"],
|
||||
],
|
||||
[WORKSPACE_SETTINGS_CATEGORY.FEATURES]: [],
|
||||
[WORKSPACE_SETTINGS_CATEGORY.DEVELOPER]: [WORKSPACE_SETTINGS["webhooks"]],
|
||||
};
|
||||
|
||||
export const GROUPED_PROFILE_SETTINGS = {
|
||||
[PROFILE_SETTINGS_CATEGORY.YOUR_PROFILE]: [
|
||||
PROFILE_SETTINGS["profile"],
|
||||
PROFILE_SETTINGS["preferences"],
|
||||
PROFILE_SETTINGS["notifications"],
|
||||
PROFILE_SETTINGS["security"],
|
||||
PROFILE_SETTINGS["activity"],
|
||||
],
|
||||
[PROFILE_SETTINGS_CATEGORY.DEVELOPER]: [PROFILE_SETTINGS["api-tokens"]],
|
||||
};
|
||||
3
packages/constants/src/settings/index.ts
Normal file
3
packages/constants/src/settings/index.ts
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
export * from "./profile";
|
||||
export * from "./project";
|
||||
export * from "./workspace";
|
||||
61
packages/constants/src/settings/profile.ts
Normal file
61
packages/constants/src/settings/profile.ts
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
// plane imports
|
||||
import type { TProfileSettingsTabs } from "@plane/types";
|
||||
|
||||
export enum PROFILE_SETTINGS_CATEGORY {
|
||||
YOUR_PROFILE = "your profile",
|
||||
DEVELOPER = "developer",
|
||||
}
|
||||
|
||||
export const PROFILE_SETTINGS_CATEGORIES: PROFILE_SETTINGS_CATEGORY[] = [
|
||||
PROFILE_SETTINGS_CATEGORY.YOUR_PROFILE,
|
||||
PROFILE_SETTINGS_CATEGORY.DEVELOPER,
|
||||
];
|
||||
|
||||
export const PROFILE_SETTINGS: Record<
|
||||
TProfileSettingsTabs,
|
||||
{
|
||||
key: TProfileSettingsTabs;
|
||||
i18n_label: string;
|
||||
}
|
||||
> = {
|
||||
general: {
|
||||
key: "general",
|
||||
i18n_label: "profile.actions.profile",
|
||||
},
|
||||
security: {
|
||||
key: "security",
|
||||
i18n_label: "profile.actions.security",
|
||||
},
|
||||
activity: {
|
||||
key: "activity",
|
||||
i18n_label: "profile.actions.activity",
|
||||
},
|
||||
preferences: {
|
||||
key: "preferences",
|
||||
i18n_label: "profile.actions.preferences",
|
||||
},
|
||||
notifications: {
|
||||
key: "notifications",
|
||||
i18n_label: "profile.actions.notifications",
|
||||
},
|
||||
"api-tokens": {
|
||||
key: "api-tokens",
|
||||
i18n_label: "profile.actions.api-tokens",
|
||||
},
|
||||
};
|
||||
|
||||
export const PROFILE_SETTINGS_TABS: TProfileSettingsTabs[] = Object.keys(PROFILE_SETTINGS) as TProfileSettingsTabs[];
|
||||
|
||||
export const GROUPED_PROFILE_SETTINGS: Record<
|
||||
PROFILE_SETTINGS_CATEGORY,
|
||||
{ key: TProfileSettingsTabs; i18n_label: string }[]
|
||||
> = {
|
||||
[PROFILE_SETTINGS_CATEGORY.YOUR_PROFILE]: [
|
||||
PROFILE_SETTINGS["general"],
|
||||
PROFILE_SETTINGS["preferences"],
|
||||
PROFILE_SETTINGS["notifications"],
|
||||
PROFILE_SETTINGS["security"],
|
||||
PROFILE_SETTINGS["activity"],
|
||||
],
|
||||
[PROFILE_SETTINGS_CATEGORY.DEVELOPER]: [PROFILE_SETTINGS["api-tokens"]],
|
||||
};
|
||||
116
packages/constants/src/settings/project.ts
Normal file
116
packages/constants/src/settings/project.ts
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
// plane imports
|
||||
import { EUserProjectRoles } from "@plane/types";
|
||||
import type { TProjectSettingsItem, TProjectSettingsTabs } from "@plane/types";
|
||||
|
||||
export enum PROJECT_SETTINGS_CATEGORY {
|
||||
GENERAL = "general",
|
||||
FEATURES = "features",
|
||||
WORK_STRUCTURE = "work-structure",
|
||||
EXECUTION = "execution",
|
||||
}
|
||||
|
||||
export const PROJECT_SETTINGS_CATEGORIES: PROJECT_SETTINGS_CATEGORY[] = [
|
||||
PROJECT_SETTINGS_CATEGORY.GENERAL,
|
||||
PROJECT_SETTINGS_CATEGORY.FEATURES,
|
||||
PROJECT_SETTINGS_CATEGORY.WORK_STRUCTURE,
|
||||
PROJECT_SETTINGS_CATEGORY.EXECUTION,
|
||||
];
|
||||
|
||||
export const PROJECT_SETTINGS: Record<TProjectSettingsTabs, TProjectSettingsItem> = {
|
||||
general: {
|
||||
key: "general",
|
||||
i18n_label: "common.general",
|
||||
href: ``,
|
||||
access: [EUserProjectRoles.ADMIN, EUserProjectRoles.MEMBER, EUserProjectRoles.GUEST],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/`,
|
||||
},
|
||||
members: {
|
||||
key: "members",
|
||||
i18n_label: "common.members",
|
||||
href: `/members`,
|
||||
access: [EUserProjectRoles.ADMIN, EUserProjectRoles.MEMBER, EUserProjectRoles.GUEST],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/members/`,
|
||||
},
|
||||
features_cycles: {
|
||||
key: "features_cycles",
|
||||
i18n_label: "project_settings.features.cycles.short_title",
|
||||
href: `/features/cycles`,
|
||||
access: [EUserProjectRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/features/cycles/`,
|
||||
},
|
||||
features_modules: {
|
||||
key: "features_modules",
|
||||
i18n_label: "project_settings.features.modules.short_title",
|
||||
href: `/features/modules`,
|
||||
access: [EUserProjectRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/features/modules/`,
|
||||
},
|
||||
features_views: {
|
||||
key: "features_views",
|
||||
i18n_label: "project_settings.features.views.short_title",
|
||||
href: `/features/views`,
|
||||
access: [EUserProjectRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/features/views/`,
|
||||
},
|
||||
features_pages: {
|
||||
key: "features_pages",
|
||||
i18n_label: "project_settings.features.pages.short_title",
|
||||
href: `/features/pages`,
|
||||
access: [EUserProjectRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/features/pages/`,
|
||||
},
|
||||
features_intake: {
|
||||
key: "features_intake",
|
||||
i18n_label: "project_settings.features.intake.short_title",
|
||||
href: `/features/intake`,
|
||||
access: [EUserProjectRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/features/intake/`,
|
||||
},
|
||||
states: {
|
||||
key: "states",
|
||||
i18n_label: "common.states",
|
||||
href: `/states`,
|
||||
access: [EUserProjectRoles.ADMIN, EUserProjectRoles.MEMBER],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/states/`,
|
||||
},
|
||||
labels: {
|
||||
key: "labels",
|
||||
i18n_label: "common.labels",
|
||||
href: `/labels`,
|
||||
access: [EUserProjectRoles.ADMIN, EUserProjectRoles.MEMBER],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/labels/`,
|
||||
},
|
||||
estimates: {
|
||||
key: "estimates",
|
||||
i18n_label: "common.estimates",
|
||||
href: `/estimates`,
|
||||
access: [EUserProjectRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/estimates/`,
|
||||
},
|
||||
automations: {
|
||||
key: "automations",
|
||||
i18n_label: "project_settings.automations.label",
|
||||
href: `/automations`,
|
||||
access: [EUserProjectRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/automations/`,
|
||||
},
|
||||
};
|
||||
|
||||
export const PROJECT_SETTINGS_FLAT_MAP: TProjectSettingsItem[] = Object.values(PROJECT_SETTINGS);
|
||||
|
||||
export const GROUPED_PROJECT_SETTINGS: Record<PROJECT_SETTINGS_CATEGORY, TProjectSettingsItem[]> = {
|
||||
[PROJECT_SETTINGS_CATEGORY.GENERAL]: [PROJECT_SETTINGS["general"], PROJECT_SETTINGS["members"]],
|
||||
[PROJECT_SETTINGS_CATEGORY.FEATURES]: [
|
||||
PROJECT_SETTINGS["features_cycles"],
|
||||
PROJECT_SETTINGS["features_modules"],
|
||||
PROJECT_SETTINGS["features_views"],
|
||||
PROJECT_SETTINGS["features_pages"],
|
||||
PROJECT_SETTINGS["features_intake"],
|
||||
],
|
||||
[PROJECT_SETTINGS_CATEGORY.WORK_STRUCTURE]: [
|
||||
PROJECT_SETTINGS["states"],
|
||||
PROJECT_SETTINGS["labels"],
|
||||
PROJECT_SETTINGS["estimates"],
|
||||
],
|
||||
[PROJECT_SETTINGS_CATEGORY.EXECUTION]: [PROJECT_SETTINGS["automations"]],
|
||||
};
|
||||
68
packages/constants/src/settings/workspace.ts
Normal file
68
packages/constants/src/settings/workspace.ts
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
// plane imports
|
||||
import type { TWorkspaceSettingsItem, TWorkspaceSettingsTabs } from "@plane/types";
|
||||
import { EUserWorkspaceRoles } from "@plane/types";
|
||||
|
||||
export enum WORKSPACE_SETTINGS_CATEGORY {
|
||||
ADMINISTRATION = "administration",
|
||||
FEATURES = "features",
|
||||
DEVELOPER = "developer",
|
||||
}
|
||||
|
||||
export const WORKSPACE_SETTINGS_CATEGORIES: WORKSPACE_SETTINGS_CATEGORY[] = [
|
||||
WORKSPACE_SETTINGS_CATEGORY.ADMINISTRATION,
|
||||
WORKSPACE_SETTINGS_CATEGORY.FEATURES,
|
||||
WORKSPACE_SETTINGS_CATEGORY.DEVELOPER,
|
||||
];
|
||||
|
||||
export const WORKSPACE_SETTINGS: Record<TWorkspaceSettingsTabs, TWorkspaceSettingsItem> = {
|
||||
general: {
|
||||
key: "general",
|
||||
i18n_label: "workspace_settings.settings.general.title",
|
||||
href: `/settings`,
|
||||
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/`,
|
||||
},
|
||||
members: {
|
||||
key: "members",
|
||||
i18n_label: "workspace_settings.settings.members.title",
|
||||
href: `/settings/members`,
|
||||
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/members/`,
|
||||
},
|
||||
"billing-and-plans": {
|
||||
key: "billing-and-plans",
|
||||
i18n_label: "workspace_settings.settings.billing_and_plans.title",
|
||||
href: `/settings/billing`,
|
||||
access: [EUserWorkspaceRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/billing/`,
|
||||
},
|
||||
export: {
|
||||
key: "export",
|
||||
i18n_label: "workspace_settings.settings.exports.title",
|
||||
href: `/settings/exports`,
|
||||
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/exports/`,
|
||||
},
|
||||
webhooks: {
|
||||
key: "webhooks",
|
||||
i18n_label: "workspace_settings.settings.webhooks.title",
|
||||
href: `/settings/webhooks`,
|
||||
access: [EUserWorkspaceRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/webhooks/`,
|
||||
},
|
||||
};
|
||||
|
||||
export const WORKSPACE_SETTINGS_ACCESS = Object.fromEntries(
|
||||
Object.entries(WORKSPACE_SETTINGS).map(([_, { href, access }]) => [href, access])
|
||||
);
|
||||
|
||||
export const GROUPED_WORKSPACE_SETTINGS: Record<WORKSPACE_SETTINGS_CATEGORY, TWorkspaceSettingsItem[]> = {
|
||||
[WORKSPACE_SETTINGS_CATEGORY.ADMINISTRATION]: [
|
||||
WORKSPACE_SETTINGS["general"],
|
||||
WORKSPACE_SETTINGS["members"],
|
||||
WORKSPACE_SETTINGS["billing-and-plans"],
|
||||
WORKSPACE_SETTINGS["export"],
|
||||
],
|
||||
[WORKSPACE_SETTINGS_CATEGORY.FEATURES]: [],
|
||||
[WORKSPACE_SETTINGS_CATEGORY.DEVELOPER]: [WORKSPACE_SETTINGS["webhooks"]],
|
||||
};
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
import type { TStaticViewTypes, IWorkspaceSearchResults } from "@plane/types";
|
||||
import { EUserWorkspaceRoles } from "@plane/types";
|
||||
|
||||
export const ORGANIZATION_SIZE = ["Just myself", "2-10", "11-50", "51-200", "201-500", "500+"];
|
||||
export const ORGANIZATION_SIZE: string[] = ["Just myself", "2-10", "11-50", "51-200", "201-500", "500+"];
|
||||
|
||||
export const RESTRICTED_URLS = [
|
||||
export const RESTRICTED_URLS: string[] = [
|
||||
"404",
|
||||
"accounts",
|
||||
"api",
|
||||
|
|
@ -71,62 +71,6 @@ export const RESTRICTED_URLS = [
|
|||
"instance",
|
||||
];
|
||||
|
||||
export const WORKSPACE_SETTINGS = {
|
||||
general: {
|
||||
key: "general",
|
||||
i18n_label: "workspace_settings.settings.general.title",
|
||||
href: `/settings`,
|
||||
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/`,
|
||||
},
|
||||
members: {
|
||||
key: "members",
|
||||
i18n_label: "workspace_settings.settings.members.title",
|
||||
href: `/settings/members`,
|
||||
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/members/`,
|
||||
},
|
||||
"billing-and-plans": {
|
||||
key: "billing-and-plans",
|
||||
i18n_label: "workspace_settings.settings.billing_and_plans.title",
|
||||
href: `/settings/billing`,
|
||||
access: [EUserWorkspaceRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/billing/`,
|
||||
},
|
||||
export: {
|
||||
key: "export",
|
||||
i18n_label: "workspace_settings.settings.exports.title",
|
||||
href: `/settings/exports`,
|
||||
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/exports/`,
|
||||
},
|
||||
webhooks: {
|
||||
key: "webhooks",
|
||||
i18n_label: "workspace_settings.settings.webhooks.title",
|
||||
href: `/settings/webhooks`,
|
||||
access: [EUserWorkspaceRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/webhooks/`,
|
||||
},
|
||||
};
|
||||
|
||||
export const WORKSPACE_SETTINGS_ACCESS = Object.fromEntries(
|
||||
Object.entries(WORKSPACE_SETTINGS).map(([_, { href, access }]) => [href, access])
|
||||
);
|
||||
|
||||
export const WORKSPACE_SETTINGS_LINKS: {
|
||||
key: string;
|
||||
i18n_label: string;
|
||||
href: string;
|
||||
access: EUserWorkspaceRoles[];
|
||||
highlight: (pathname: string, baseUrl: string) => boolean;
|
||||
}[] = [
|
||||
WORKSPACE_SETTINGS["general"],
|
||||
WORKSPACE_SETTINGS["members"],
|
||||
WORKSPACE_SETTINGS["billing-and-plans"],
|
||||
WORKSPACE_SETTINGS["export"],
|
||||
WORKSPACE_SETTINGS["webhooks"],
|
||||
];
|
||||
|
||||
export const ROLE = {
|
||||
[EUserWorkspaceRoles.GUEST]: "Guest",
|
||||
[EUserWorkspaceRoles.MEMBER]: "Member",
|
||||
|
|
|
|||
|
|
@ -1966,6 +1966,44 @@ export default {
|
|||
primary_button: "Přidat systém odhadů",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Cykly",
|
||||
short_title: "Cykly",
|
||||
description:
|
||||
"Naplánujte práci v flexibilních obdobích, která se přizpůsobí jedinečnému rytmu a tempu tohoto projektu.",
|
||||
toggle_title: "Povolit cykly",
|
||||
toggle_description: "Naplánujte práci v soustředěných časových rámcích.",
|
||||
},
|
||||
modules: {
|
||||
title: "Moduly",
|
||||
short_title: "Moduly",
|
||||
description: "Organizujte práci do dílčích projektů s vyhrazenými vedoucími a přiřazenými osobami.",
|
||||
toggle_title: "Povolit moduly",
|
||||
toggle_description: "Členové projektu budou moci vytvářet a upravovat moduly.",
|
||||
},
|
||||
views: {
|
||||
title: "Zobrazení",
|
||||
short_title: "Zobrazení",
|
||||
description: "Uložte vlastní řazení, filtry a možnosti zobrazení nebo je sdílejte se svým týmem.",
|
||||
toggle_title: "Povolit zobrazení",
|
||||
toggle_description: "Členové projektu budou moci vytvářet a upravovat zobrazení.",
|
||||
},
|
||||
pages: {
|
||||
title: "Stránky",
|
||||
short_title: "Stránky",
|
||||
description: "Vytvářejte a upravujte volný obsah: poznámky, dokumenty, cokoliv.",
|
||||
toggle_title: "Povolit stránky",
|
||||
toggle_description: "Členové projektu budou moci vytvářet a upravovat stránky.",
|
||||
},
|
||||
intake: {
|
||||
title: "Příjem",
|
||||
short_title: "Příjem",
|
||||
description: "Umožněte nečlenům sdílet chyby, zpětnou vazbu a návrhy; bez narušení vašeho pracovního postupu.",
|
||||
toggle_title: "Povolit příjem",
|
||||
toggle_description: "Povolit členům projektu vytvářet žádosti o příjem v aplikaci.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Přidat cyklus",
|
||||
|
|
|
|||
|
|
@ -1990,6 +1990,46 @@ export default {
|
|||
primary_button: "Schätzungssystem hinzufügen",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Zyklen",
|
||||
short_title: "Zyklen",
|
||||
description:
|
||||
"Planen Sie die Arbeit in flexiblen Zeiträumen, die sich dem einzigartigen Rhythmus und Tempo dieses Projekts anpassen.",
|
||||
toggle_title: "Zyklen aktivieren",
|
||||
toggle_description: "Planen Sie die Arbeit in fokussierten Zeiträumen.",
|
||||
},
|
||||
modules: {
|
||||
title: "Module",
|
||||
short_title: "Module",
|
||||
description: "Organisieren Sie die Arbeit in Teilprojekte mit engagierten Leitern und Verantwortlichen.",
|
||||
toggle_title: "Module aktivieren",
|
||||
toggle_description: "Projektmitglieder können Module erstellen und bearbeiten.",
|
||||
},
|
||||
views: {
|
||||
title: "Ansichten",
|
||||
short_title: "Ansichten",
|
||||
description:
|
||||
"Speichern Sie benutzerdefinierte Sortierungen, Filter und Anzeigeoptionen oder teilen Sie sie mit Ihrem Team.",
|
||||
toggle_title: "Ansichten aktivieren",
|
||||
toggle_description: "Projektmitglieder können Ansichten erstellen und bearbeiten.",
|
||||
},
|
||||
pages: {
|
||||
title: "Seiten",
|
||||
short_title: "Seiten",
|
||||
description: "Erstellen und bearbeiten Sie freie Inhalte: Notizen, Dokumente, alles.",
|
||||
toggle_title: "Seiten aktivieren",
|
||||
toggle_description: "Projektmitglieder können Seiten erstellen und bearbeiten.",
|
||||
},
|
||||
intake: {
|
||||
title: "Aufnahme",
|
||||
short_title: "Aufnahme",
|
||||
description:
|
||||
"Ermöglichen Sie Nicht-Mitgliedern, Fehler, Feedback und Vorschläge zu teilen, ohne Ihren Workflow zu unterbrechen.",
|
||||
toggle_title: "Aufnahme aktivieren",
|
||||
toggle_description: "Projektmitgliedern erlauben, In-App-Aufnahmeanfragen zu erstellen.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Zyklus hinzufügen",
|
||||
|
|
|
|||
|
|
@ -1843,6 +1843,43 @@ export default {
|
|||
primary_button: "Add estimate system",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Cycles",
|
||||
short_title: "Cycles",
|
||||
description: "Schedule work in flexible periods that adapt to this project's unique rhythm and pace.",
|
||||
toggle_title: "Enable cycles",
|
||||
toggle_description: "Plan work in focused timeframes.",
|
||||
},
|
||||
modules: {
|
||||
title: "Modules",
|
||||
short_title: "Modules",
|
||||
description: "Organize work into sub-projects with dedicated leads and assignees.",
|
||||
toggle_title: "Enable modules",
|
||||
toggle_description: "Project members will be able to create and edit modules.",
|
||||
},
|
||||
views: {
|
||||
title: "Views",
|
||||
short_title: "Views",
|
||||
description: "Save custom sorts, filters, and display options or share them with your team.",
|
||||
toggle_title: "Enable views",
|
||||
toggle_description: "Project members will be able to create and edit views.",
|
||||
},
|
||||
pages: {
|
||||
title: "Pages",
|
||||
short_title: "Pages",
|
||||
description: "Create and edit free-form content; notes, docs, anything.",
|
||||
toggle_title: "Enable pages",
|
||||
toggle_description: "Project members will be able to create and edit pages.",
|
||||
},
|
||||
intake: {
|
||||
title: "Intake",
|
||||
short_title: "Intake",
|
||||
description: "Let non-members share bugs, feedback, and suggestions; without disrupting your workflow.",
|
||||
toggle_title: "Enable intake",
|
||||
toggle_description: "Let project members create in app intake requests.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Add cycle",
|
||||
|
|
|
|||
|
|
@ -1999,6 +1999,46 @@ export default {
|
|||
primary_button: "Agregar sistema de estimación",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Ciclos",
|
||||
short_title: "Ciclos",
|
||||
description:
|
||||
"Programa el trabajo en períodos flexibles que se adaptan al ritmo y al tempo únicos de este proyecto.",
|
||||
toggle_title: "Habilitar ciclos",
|
||||
toggle_description: "Planifica el trabajo en períodos de tiempo enfocados.",
|
||||
},
|
||||
modules: {
|
||||
title: "Módulos",
|
||||
short_title: "Módulos",
|
||||
description: "Organiza el trabajo en subproyectos con líderes y responsables dedicados.",
|
||||
toggle_title: "Habilitar módulos",
|
||||
toggle_description: "Los miembros del proyecto podrán crear y editar módulos.",
|
||||
},
|
||||
views: {
|
||||
title: "Vistas",
|
||||
short_title: "Vistas",
|
||||
description:
|
||||
"Guarda ordenaciones, filtros y opciones de visualización personalizadas o compártelos con tu equipo.",
|
||||
toggle_title: "Habilitar vistas",
|
||||
toggle_description: "Los miembros del proyecto podrán crear y editar vistas.",
|
||||
},
|
||||
pages: {
|
||||
title: "Páginas",
|
||||
short_title: "Páginas",
|
||||
description: "Crea y edita contenido libre: notas, documentos, cualquier cosa.",
|
||||
toggle_title: "Habilitar páginas",
|
||||
toggle_description: "Los miembros del proyecto podrán crear y editar páginas.",
|
||||
},
|
||||
intake: {
|
||||
title: "Recepción",
|
||||
short_title: "Recepción",
|
||||
description:
|
||||
"Permite que los no miembros compartan errores, comentarios y sugerencias; sin interrumpir tu flujo de trabajo.",
|
||||
toggle_title: "Habilitar recepción",
|
||||
toggle_description: "Permitir a los miembros del proyecto crear solicitudes de recepción en la aplicación.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Agregar ciclo",
|
||||
|
|
|
|||
|
|
@ -1997,6 +1997,46 @@ export default {
|
|||
primary_button: "Ajouter un système d’estimation",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Cycles",
|
||||
short_title: "Cycles",
|
||||
description:
|
||||
"Planifiez le travail dans des périodes flexibles qui s'adaptent au rythme et au tempo uniques de ce projet.",
|
||||
toggle_title: "Activer les cycles",
|
||||
toggle_description: "Planifiez le travail dans des périodes ciblées.",
|
||||
},
|
||||
modules: {
|
||||
title: "Modules",
|
||||
short_title: "Modules",
|
||||
description: "Organisez le travail en sous-projets avec des chefs de projet et des responsables dédiés.",
|
||||
toggle_title: "Activer les modules",
|
||||
toggle_description: "Les membres du projet pourront créer et modifier des modules.",
|
||||
},
|
||||
views: {
|
||||
title: "Vues",
|
||||
short_title: "Vues",
|
||||
description:
|
||||
"Enregistrez des tris, des filtres et des options d'affichage personnalisés ou partagez-les avec votre équipe.",
|
||||
toggle_title: "Activer les vues",
|
||||
toggle_description: "Les membres du projet pourront créer et modifier des vues.",
|
||||
},
|
||||
pages: {
|
||||
title: "Pages",
|
||||
short_title: "Pages",
|
||||
description: "Créez et modifiez du contenu libre : notes, documents, n'importe quoi.",
|
||||
toggle_title: "Activer les pages",
|
||||
toggle_description: "Les membres du projet pourront créer et modifier des pages.",
|
||||
},
|
||||
intake: {
|
||||
title: "Réception",
|
||||
short_title: "Réception",
|
||||
description:
|
||||
"Permettez aux non-membres de partager des bugs, des commentaires et des suggestions ; sans perturber votre flux de travail.",
|
||||
toggle_title: "Activer la réception",
|
||||
toggle_description: "Permettre aux membres du projet de créer des demandes de réception dans l'application.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Ajouter un cycle",
|
||||
|
|
|
|||
|
|
@ -1982,6 +1982,44 @@ export default {
|
|||
primary_button: "Tambah sistem perkiraan",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Siklus",
|
||||
short_title: "Siklus",
|
||||
description:
|
||||
"Jadwalkan pekerjaan dalam periode fleksibel yang menyesuaikan dengan ritme dan tempo unik proyek ini.",
|
||||
toggle_title: "Aktifkan siklus",
|
||||
toggle_description: "Rencanakan pekerjaan dalam jangka waktu yang terfokus.",
|
||||
},
|
||||
modules: {
|
||||
title: "Modul",
|
||||
short_title: "Modul",
|
||||
description: "Atur pekerjaan menjadi sub-proyek dengan pemimpin dan penerima tugas khusus.",
|
||||
toggle_title: "Aktifkan modul",
|
||||
toggle_description: "Anggota proyek akan dapat membuat dan mengedit modul.",
|
||||
},
|
||||
views: {
|
||||
title: "Tampilan",
|
||||
short_title: "Tampilan",
|
||||
description: "Simpan pengurutan, filter, dan opsi tampilan kustom atau bagikan dengan tim Anda.",
|
||||
toggle_title: "Aktifkan tampilan",
|
||||
toggle_description: "Anggota proyek akan dapat membuat dan mengedit tampilan.",
|
||||
},
|
||||
pages: {
|
||||
title: "Halaman",
|
||||
short_title: "Halaman",
|
||||
description: "Buat dan edit konten bebas: catatan, dokumen, apa saja.",
|
||||
toggle_title: "Aktifkan halaman",
|
||||
toggle_description: "Anggota proyek akan dapat membuat dan mengedit halaman.",
|
||||
},
|
||||
intake: {
|
||||
title: "Penerimaan",
|
||||
short_title: "Penerimaan",
|
||||
description: "Biarkan non-anggota berbagi bug, umpan balik, dan saran; tanpa mengganggu alur kerja Anda.",
|
||||
toggle_title: "Aktifkan penerimaan",
|
||||
toggle_description: "Izinkan anggota proyek membuat permintaan penerimaan dalam aplikasi.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Tambah siklus",
|
||||
|
|
|
|||
|
|
@ -1986,6 +1986,46 @@ export default {
|
|||
primary_button: "Aggiungi sistema di stime",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Cicli",
|
||||
short_title: "Cicli",
|
||||
description:
|
||||
"Pianifica il lavoro in periodi flessibili che si adattano al ritmo e al tempo unici di questo progetto.",
|
||||
toggle_title: "Abilita cicli",
|
||||
toggle_description: "Pianifica il lavoro in periodi di tempo mirati.",
|
||||
},
|
||||
modules: {
|
||||
title: "Moduli",
|
||||
short_title: "Moduli",
|
||||
description: "Organizza il lavoro in sotto-progetti con responsabili e assegnatari dedicati.",
|
||||
toggle_title: "Abilita moduli",
|
||||
toggle_description: "I membri del progetto potranno creare e modificare moduli.",
|
||||
},
|
||||
views: {
|
||||
title: "Viste",
|
||||
short_title: "Viste",
|
||||
description:
|
||||
"Salva ordinamenti, filtri e opzioni di visualizzazione personalizzati o condividili con il tuo team.",
|
||||
toggle_title: "Abilita viste",
|
||||
toggle_description: "I membri del progetto potranno creare e modificare viste.",
|
||||
},
|
||||
pages: {
|
||||
title: "Pagine",
|
||||
short_title: "Pagine",
|
||||
description: "Crea e modifica contenuti liberi: note, documenti, qualsiasi cosa.",
|
||||
toggle_title: "Abilita pagine",
|
||||
toggle_description: "I membri del progetto potranno creare e modificare pagine.",
|
||||
},
|
||||
intake: {
|
||||
title: "Ricezione",
|
||||
short_title: "Ricezione",
|
||||
description:
|
||||
"Consenti ai non membri di condividere bug, feedback e suggerimenti; senza interrompere il tuo flusso di lavoro.",
|
||||
toggle_title: "Abilita ricezione",
|
||||
toggle_description: "Consenti ai membri del progetto di creare richieste di ricezione nell'app.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Aggiungi ciclo",
|
||||
|
|
|
|||
|
|
@ -1971,6 +1971,43 @@ export default {
|
|||
primary_button: "見積もりシステムを追加",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "サイクル",
|
||||
short_title: "サイクル",
|
||||
description: "このプロジェクト独自のリズムとペースに適応する柔軟な期間で作業をスケジュールします。",
|
||||
toggle_title: "サイクルを有効にする",
|
||||
toggle_description: "集中的な期間で作業を計画します。",
|
||||
},
|
||||
modules: {
|
||||
title: "モジュール",
|
||||
short_title: "モジュール",
|
||||
description: "専任のリーダーと担当者を持つサブプロジェクトに作業を整理します。",
|
||||
toggle_title: "モジュールを有効にする",
|
||||
toggle_description: "プロジェクトメンバーはモジュールを作成および編集できるようになります。",
|
||||
},
|
||||
views: {
|
||||
title: "ビュー",
|
||||
short_title: "ビュー",
|
||||
description: "カスタムソート、フィルター、表示オプションを保存したり、チームと共有したりします。",
|
||||
toggle_title: "ビューを有効にする",
|
||||
toggle_description: "プロジェクトメンバーはビューを作成および編集できるようになります。",
|
||||
},
|
||||
pages: {
|
||||
title: "ページ",
|
||||
short_title: "ページ",
|
||||
description: "自由形式のコンテンツを作成および編集します:メモ、ドキュメント、何でも。",
|
||||
toggle_title: "ページを有効にする",
|
||||
toggle_description: "プロジェクトメンバーはページを作成および編集できるようになります。",
|
||||
},
|
||||
intake: {
|
||||
title: "受付",
|
||||
short_title: "受付",
|
||||
description: "ワークフローを中断することなく、非メンバーがバグ、フィードバック、提案を共有できるようにします。",
|
||||
toggle_title: "受付を有効にする",
|
||||
toggle_description: "プロジェクトメンバーがアプリ内で受付リクエストを作成できるようにします。",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "サイクルを追加",
|
||||
|
|
|
|||
|
|
@ -1964,6 +1964,43 @@ export default {
|
|||
primary_button: "추정 시스템 추가",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "사이클",
|
||||
short_title: "사이클",
|
||||
description: "이 프로젝트의 고유한 리듬과 속도에 적응하는 유연한 기간으로 작업을 예약합니다.",
|
||||
toggle_title: "사이클 활성화",
|
||||
toggle_description: "집중된 기간에 작업을 계획합니다.",
|
||||
},
|
||||
modules: {
|
||||
title: "모듈",
|
||||
short_title: "모듈",
|
||||
description: "전담 리더와 담당자가 있는 하위 프로젝트로 작업을 구성합니다.",
|
||||
toggle_title: "모듈 활성화",
|
||||
toggle_description: "프로젝트 멤버가 모듈을 생성하고 편집할 수 있습니다.",
|
||||
},
|
||||
views: {
|
||||
title: "보기",
|
||||
short_title: "보기",
|
||||
description: "사용자 정의 정렬, 필터 및 표시 옵션을 저장하거나 팀과 공유합니다.",
|
||||
toggle_title: "보기 활성화",
|
||||
toggle_description: "프로젝트 멤버가 보기를 생성하고 편집할 수 있습니다.",
|
||||
},
|
||||
pages: {
|
||||
title: "페이지",
|
||||
short_title: "페이지",
|
||||
description: "자유 형식 콘텐츠를 생성하고 편집합니다: 메모, 문서, 무엇이든.",
|
||||
toggle_title: "페이지 활성화",
|
||||
toggle_description: "프로젝트 멤버가 페이지를 생성하고 편집할 수 있습니다.",
|
||||
},
|
||||
intake: {
|
||||
title: "접수",
|
||||
short_title: "접수",
|
||||
description: "워크플로를 방해하지 않고 비회원이 버그, 피드백 및 제안을 공유할 수 있도록 합니다.",
|
||||
toggle_title: "접수 활성화",
|
||||
toggle_description: "프로젝트 멤버가 앱 내에서 접수 요청을 생성할 수 있도록 허용합니다.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "주기 추가",
|
||||
|
|
|
|||
|
|
@ -1969,6 +1969,45 @@ export default {
|
|||
primary_button: "Dodaj system szacowania",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Cykle",
|
||||
short_title: "Cykle",
|
||||
description:
|
||||
"Planuj pracę w elastycznych okresach, które dostosowują się do unikalnego rytmu i tempa tego projektu.",
|
||||
toggle_title: "Włącz cykle",
|
||||
toggle_description: "Planuj pracę w skoncentrowanych ramach czasowych.",
|
||||
},
|
||||
modules: {
|
||||
title: "Moduły",
|
||||
short_title: "Moduły",
|
||||
description: "Organizuj pracę w podprojekty z dedykowanymi liderami i przypisanymi osobami.",
|
||||
toggle_title: "Włącz moduły",
|
||||
toggle_description: "Członkowie projektu będą mogli tworzyć i edytować moduły.",
|
||||
},
|
||||
views: {
|
||||
title: "Widoki",
|
||||
short_title: "Widoki",
|
||||
description: "Zapisuj niestandardowe sortowania, filtry i opcje wyświetlania lub udostępniaj je zespołowi.",
|
||||
toggle_title: "Włącz widoki",
|
||||
toggle_description: "Członkowie projektu będą mogli tworzyć i edytować widoki.",
|
||||
},
|
||||
pages: {
|
||||
title: "Strony",
|
||||
short_title: "Strony",
|
||||
description: "Twórz i edytuj dowolne treści: notatki, dokumenty, cokolwiek.",
|
||||
toggle_title: "Włącz strony",
|
||||
toggle_description: "Członkowie projektu będą mogli tworzyć i edytować strony.",
|
||||
},
|
||||
intake: {
|
||||
title: "Odbiór",
|
||||
short_title: "Odbiór",
|
||||
description:
|
||||
"Pozwól osobom niebędącym członkami dzielić się błędami, opiniami i sugestiami; bez zakłócania przepływu pracy.",
|
||||
toggle_title: "Włącz odbiór",
|
||||
toggle_description: "Pozwól członkom projektu tworzyć żądania odbioru w aplikacji.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Dodaj cykl",
|
||||
|
|
|
|||
|
|
@ -1995,6 +1995,44 @@ export default {
|
|||
primary_button: "Adicionar sistema de estimativa",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Ciclos",
|
||||
short_title: "Ciclos",
|
||||
description: "Agende o trabalho em períodos flexíveis que se adaptam ao ritmo e ao tempo únicos deste projeto.",
|
||||
toggle_title: "Ativar ciclos",
|
||||
toggle_description: "Planeje o trabalho em períodos de tempo focados.",
|
||||
},
|
||||
modules: {
|
||||
title: "Módulos",
|
||||
short_title: "Módulos",
|
||||
description: "Organize o trabalho em subprojetos com líderes e responsáveis dedicados.",
|
||||
toggle_title: "Ativar módulos",
|
||||
toggle_description: "Os membros do projeto poderão criar e editar módulos.",
|
||||
},
|
||||
views: {
|
||||
title: "Visualizações",
|
||||
short_title: "Visualizações",
|
||||
description: "Salve ordenações, filtros e opções de exibição personalizadas ou compartilhe-as com sua equipe.",
|
||||
toggle_title: "Ativar visualizações",
|
||||
toggle_description: "Os membros do projeto poderão criar e editar visualizações.",
|
||||
},
|
||||
pages: {
|
||||
title: "Páginas",
|
||||
short_title: "Páginas",
|
||||
description: "Crie e edite conteúdo livre: notas, documentos, qualquer coisa.",
|
||||
toggle_title: "Ativar páginas",
|
||||
toggle_description: "Os membros do projeto poderão criar e editar páginas.",
|
||||
},
|
||||
intake: {
|
||||
title: "Recepção",
|
||||
short_title: "Recepção",
|
||||
description:
|
||||
"Permita que não membros compartilhem bugs, feedback e sugestões; sem interromper seu fluxo de trabalho.",
|
||||
toggle_title: "Ativar recepção",
|
||||
toggle_description: "Permitir que membros do projeto criem solicitações de recepção no aplicativo.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Adicionar ciclo",
|
||||
|
|
|
|||
|
|
@ -1987,6 +1987,45 @@ export default {
|
|||
primary_button: "Adaugă sistem de estimare",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Cicluri",
|
||||
short_title: "Cicluri",
|
||||
description:
|
||||
"Programați munca în perioade flexibile care se adaptează ritmului și ritmului unic al acestui proiect.",
|
||||
toggle_title: "Activați ciclurile",
|
||||
toggle_description: "Planificați munca în intervale de timp concentrate.",
|
||||
},
|
||||
modules: {
|
||||
title: "Module",
|
||||
short_title: "Module",
|
||||
description: "Organizați munca în subproiecte cu lideri și responsabili dedicați.",
|
||||
toggle_title: "Activați modulele",
|
||||
toggle_description: "Membrii proiectului vor putea crea și edita module.",
|
||||
},
|
||||
views: {
|
||||
title: "Vizualizări",
|
||||
short_title: "Vizualizări",
|
||||
description: "Salvați sortări personalizate, filtre și opțiuni de afișare sau partajați-le cu echipa dvs.",
|
||||
toggle_title: "Activați vizualizările",
|
||||
toggle_description: "Membrii proiectului vor putea crea și edita vizualizări.",
|
||||
},
|
||||
pages: {
|
||||
title: "Pagini",
|
||||
short_title: "Pagini",
|
||||
description: "Creați și editați conținut liber: note, documente, orice.",
|
||||
toggle_title: "Activați paginile",
|
||||
toggle_description: "Membrii proiectului vor putea crea și edita pagini.",
|
||||
},
|
||||
intake: {
|
||||
title: "Recepție",
|
||||
short_title: "Recepție",
|
||||
description:
|
||||
"Permiteți non-membrilor să partajeze erori, feedback și sugestii; fără a perturba fluxul de lucru.",
|
||||
toggle_title: "Activați recepția",
|
||||
toggle_description: "Permiteți membrilor proiectului să creeze solicitări de recepție în aplicație.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Adaugă ciclu",
|
||||
|
|
|
|||
|
|
@ -1973,6 +1973,46 @@ export default {
|
|||
primary_button: "Добавить систему оценок",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Циклы",
|
||||
short_title: "Циклы",
|
||||
description:
|
||||
"Планируйте работу в гибких периодах, которые адаптируются к уникальному ритму и темпу этого проекта.",
|
||||
toggle_title: "Включить циклы",
|
||||
toggle_description: "Планируйте работу в целенаправленные периоды времени.",
|
||||
},
|
||||
modules: {
|
||||
title: "Модули",
|
||||
short_title: "Модули",
|
||||
description: "Организуйте работу в подпроекты с выделенными руководителями и исполнителями.",
|
||||
toggle_title: "Включить модули",
|
||||
toggle_description: "Участники проекта смогут создавать и редактировать модули.",
|
||||
},
|
||||
views: {
|
||||
title: "Представления",
|
||||
short_title: "Представления",
|
||||
description:
|
||||
"Сохраняйте пользовательские сортировки, фильтры и параметры отображения или делитесь ими с командой.",
|
||||
toggle_title: "Включить представления",
|
||||
toggle_description: "Участники проекта смогут создавать и редактировать представления.",
|
||||
},
|
||||
pages: {
|
||||
title: "Страницы",
|
||||
short_title: "Страницы",
|
||||
description: "Создавайте и редактируйте свободный контент: заметки, документы, что угодно.",
|
||||
toggle_title: "Включить страницы",
|
||||
toggle_description: "Участники проекта смогут создавать и редактировать страницы.",
|
||||
},
|
||||
intake: {
|
||||
title: "Приём",
|
||||
short_title: "Приём",
|
||||
description:
|
||||
"Позвольте не-участникам делиться ошибками, отзывами и предложениями; не нарушая ваш рабочий процесс.",
|
||||
toggle_title: "Включить приём",
|
||||
toggle_description: "Разрешить участникам проекта создавать запросы на приём в приложении.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Добавить цикл",
|
||||
|
|
|
|||
|
|
@ -1967,6 +1967,44 @@ export default {
|
|||
primary_button: "Pridať systém odhadov",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Cykly",
|
||||
short_title: "Cykly",
|
||||
description:
|
||||
"Naplánujte prácu v flexibilných obdobiach, ktoré sa prispôsobia jedinečnému rytmu a tempu tohto projektu.",
|
||||
toggle_title: "Povoliť cykly",
|
||||
toggle_description: "Naplánujte prácu v sústredenej časovej osi.",
|
||||
},
|
||||
modules: {
|
||||
title: "Moduly",
|
||||
short_title: "Moduly",
|
||||
description: "Organizujte prácu do podprojektov s vyčlenenými vedúcimi a priradenými osobami.",
|
||||
toggle_title: "Povoliť moduly",
|
||||
toggle_description: "Členovia projektu budú môcť vytvárať a upravovať moduly.",
|
||||
},
|
||||
views: {
|
||||
title: "Zobrazenia",
|
||||
short_title: "Zobrazenia",
|
||||
description: "Uložte vlastné triedenia, filtre a možnosti zobrazenia alebo ich zdieľajte so svojím tímom.",
|
||||
toggle_title: "Povoliť zobrazenia",
|
||||
toggle_description: "Členovia projektu budú môcť vytvárať a upravovať zobrazenia.",
|
||||
},
|
||||
pages: {
|
||||
title: "Stránky",
|
||||
short_title: "Stránky",
|
||||
description: "Vytvárajte a upravujte voľný obsah: poznámky, dokumenty, čokoľvek.",
|
||||
toggle_title: "Povoliť stránky",
|
||||
toggle_description: "Členovia projektu budú môcť vytvárať a upravovať stránky.",
|
||||
},
|
||||
intake: {
|
||||
title: "Príjem",
|
||||
short_title: "Príjem",
|
||||
description: "Umožnite nečlenom zdieľať chyby, spätnú väzbu a návrhy; bez narušenia vášho pracovného postupu.",
|
||||
toggle_title: "Povoliť príjem",
|
||||
toggle_description: "Povoliť členom projektu vytvárať žiadosti o príjem v aplikácii.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Pridať cyklus",
|
||||
|
|
|
|||
|
|
@ -1956,6 +1956,44 @@ export default {
|
|||
primary_button: "Tahmin sistemi ekle",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Döngüler",
|
||||
short_title: "Döngüler",
|
||||
description: "Bu projenin benzersiz ritmine ve hızına uyum sağlayan esnek dönemlerde iş planlayın.",
|
||||
toggle_title: "Döngüleri etkinleştir",
|
||||
toggle_description: "Odaklanmış zaman dilimlerinde iş planlayın.",
|
||||
},
|
||||
modules: {
|
||||
title: "Modüller",
|
||||
short_title: "Modüller",
|
||||
description: "İşi özel liderler ve atananlarla alt projelere organize edin.",
|
||||
toggle_title: "Modülleri etkinleştir",
|
||||
toggle_description: "Proje üyeleri modüller oluşturabilir ve düzenleyebilir.",
|
||||
},
|
||||
views: {
|
||||
title: "Görünümler",
|
||||
short_title: "Görünümler",
|
||||
description: "Özel sıralamalar, filtreler ve görüntüleme seçeneklerini kaydedin veya ekibinizle paylaşın.",
|
||||
toggle_title: "Görünümleri etkinleştir",
|
||||
toggle_description: "Proje üyeleri görünümler oluşturabilir ve düzenleyebilir.",
|
||||
},
|
||||
pages: {
|
||||
title: "Sayfalar",
|
||||
short_title: "Sayfalar",
|
||||
description: "Serbest biçimli içerik oluşturun ve düzenleyin: notlar, belgeler, herhangi bir şey.",
|
||||
toggle_title: "Sayfaları etkinleştir",
|
||||
toggle_description: "Proje üyeleri sayfalar oluşturabilir ve düzenleyebilir.",
|
||||
},
|
||||
intake: {
|
||||
title: "Alım",
|
||||
short_title: "Alım",
|
||||
description:
|
||||
"Üye olmayanların hataları, geri bildirimleri ve önerileri paylaşmasına izin verin; iş akışınızı aksatmadan.",
|
||||
toggle_title: "Alımı etkinleştir",
|
||||
toggle_description: "Proje üyelerinin uygulama içinde alım talepleri oluşturmasına izin verin.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Döngü ekle",
|
||||
|
|
|
|||
|
|
@ -1972,6 +1972,45 @@ export default {
|
|||
primary_button: "Додати систему оцінок",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Цикли",
|
||||
short_title: "Цикли",
|
||||
description: "Плануйте роботу в гнучких періодах, які адаптуються до унікального ритму та темпу цього проекту.",
|
||||
toggle_title: "Увімкнути цикли",
|
||||
toggle_description: "Плануйте роботу в цілеспрямовані періоди часу.",
|
||||
},
|
||||
modules: {
|
||||
title: "Модулі",
|
||||
short_title: "Модулі",
|
||||
description: "Організуйте роботу в підпроекти з виділеними керівниками та виконавцями.",
|
||||
toggle_title: "Увімкнути модулі",
|
||||
toggle_description: "Учасники проекту зможуть створювати та редагувати модулі.",
|
||||
},
|
||||
views: {
|
||||
title: "Перегляди",
|
||||
short_title: "Перегляди",
|
||||
description:
|
||||
"Зберігайте користувацькі сортування, фільтри та параметри відображення або діліться ними з командою.",
|
||||
toggle_title: "Увімкнути перегляди",
|
||||
toggle_description: "Учасники проекту зможуть створювати та редагувати перегляди.",
|
||||
},
|
||||
pages: {
|
||||
title: "Сторінки",
|
||||
short_title: "Сторінки",
|
||||
description: "Створюйте та редагуйте вільний контент: нотатки, документи, що завгодно.",
|
||||
toggle_title: "Увімкнути сторінки",
|
||||
toggle_description: "Учасники проекту зможуть створювати та редагувати сторінки.",
|
||||
},
|
||||
intake: {
|
||||
title: "Прийом",
|
||||
short_title: "Прийом",
|
||||
description:
|
||||
"Дозвольте не-учасникам ділитися помилками, відгуками та пропозиціями; не порушуючи ваш робочий процес.",
|
||||
toggle_title: "Увімкнути прийом",
|
||||
toggle_description: "Дозволити учасникам проекту створювати запити на прийом в додатку.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Додати цикл",
|
||||
|
|
|
|||
|
|
@ -1980,6 +1980,45 @@ export default {
|
|||
primary_button: "Thêm hệ thống ước tính",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "Chu kỳ",
|
||||
short_title: "Chu kỳ",
|
||||
description:
|
||||
"Lên lịch công việc trong các khoảng thời gian linh hoạt thích ứng với nhịp điệu và tốc độ độc đáo của dự án này.",
|
||||
toggle_title: "Bật chu kỳ",
|
||||
toggle_description: "Lập kế hoạch công việc trong khung thời gian tập trung.",
|
||||
},
|
||||
modules: {
|
||||
title: "Mô-đun",
|
||||
short_title: "Mô-đun",
|
||||
description: "Tổ chức công việc thành các dự án phụ với người dẫn đầu và người được phân công chuyên trách.",
|
||||
toggle_title: "Bật mô-đun",
|
||||
toggle_description: "Thành viên dự án sẽ có thể tạo và chỉnh sửa mô-đun.",
|
||||
},
|
||||
views: {
|
||||
title: "Chế độ xem",
|
||||
short_title: "Chế độ xem",
|
||||
description: "Lưu các tùy chọn sắp xếp, bộ lọc và hiển thị tùy chỉnh hoặc chia sẻ chúng với nhóm của bạn.",
|
||||
toggle_title: "Bật chế độ xem",
|
||||
toggle_description: "Thành viên dự án sẽ có thể tạo và chỉnh sửa chế độ xem.",
|
||||
},
|
||||
pages: {
|
||||
title: "Trang",
|
||||
short_title: "Trang",
|
||||
description: "Tạo và chỉnh sửa nội dung tự do: ghi chú, tài liệu, bất cứ thứ gì.",
|
||||
toggle_title: "Bật trang",
|
||||
toggle_description: "Thành viên dự án sẽ có thể tạo và chỉnh sửa trang.",
|
||||
},
|
||||
intake: {
|
||||
title: "Tiếp nhận",
|
||||
short_title: "Tiếp nhận",
|
||||
description:
|
||||
"Cho phép những người không phải thành viên chia sẻ lỗi, phản hồi và đề xuất; mà không làm gián đoạn quy trình làm việc của bạn.",
|
||||
toggle_title: "Bật tiếp nhận",
|
||||
toggle_description: "Cho phép thành viên dự án tạo yêu cầu tiếp nhận trong ứng dụng.",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "Thêm chu kỳ",
|
||||
|
|
|
|||
|
|
@ -1929,6 +1929,43 @@ export default {
|
|||
primary_button: "添加估算系统",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "周期",
|
||||
short_title: "周期",
|
||||
description: "在灵活的时间段内安排工作,以适应该项目独特的节奏和步调。",
|
||||
toggle_title: "启用周期",
|
||||
toggle_description: "在集中的时间段内规划工作。",
|
||||
},
|
||||
modules: {
|
||||
title: "模块",
|
||||
short_title: "模块",
|
||||
description: "将工作组织成具有专门负责人和受让人的子项目。",
|
||||
toggle_title: "启用模块",
|
||||
toggle_description: "项目成员将能够创建和编辑模块。",
|
||||
},
|
||||
views: {
|
||||
title: "视图",
|
||||
short_title: "视图",
|
||||
description: "保存自定义排序、过滤器和显示选项,或与团队共享。",
|
||||
toggle_title: "启用视图",
|
||||
toggle_description: "项目成员将能够创建和编辑视图。",
|
||||
},
|
||||
pages: {
|
||||
title: "页面",
|
||||
short_title: "页面",
|
||||
description: "创建和编辑自由格式的内容:笔记、文档、任何内容。",
|
||||
toggle_title: "启用页面",
|
||||
toggle_description: "项目成员将能够创建和编辑页面。",
|
||||
},
|
||||
intake: {
|
||||
title: "接收",
|
||||
short_title: "接收",
|
||||
description: "让非成员分享错误、反馈和建议;而不会中断您的工作流程。",
|
||||
toggle_title: "启用接收",
|
||||
toggle_description: "允许项目成员在应用中创建接收请求。",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "添加周期",
|
||||
|
|
|
|||
|
|
@ -1949,6 +1949,43 @@ export default {
|
|||
primary_button: "新增評估系統",
|
||||
},
|
||||
},
|
||||
features: {
|
||||
cycles: {
|
||||
title: "週期",
|
||||
short_title: "週期",
|
||||
description: "在靈活的時間段內安排工作,以適應該專案獨特的節奏和步調。",
|
||||
toggle_title: "啟用週期",
|
||||
toggle_description: "在集中的時間段內規劃工作。",
|
||||
},
|
||||
modules: {
|
||||
title: "模組",
|
||||
short_title: "模組",
|
||||
description: "將工作組織成具有專門負責人和受讓人的子專案。",
|
||||
toggle_title: "啟用模組",
|
||||
toggle_description: "專案成員將能夠建立和編輯模組。",
|
||||
},
|
||||
views: {
|
||||
title: "檢視",
|
||||
short_title: "檢視",
|
||||
description: "儲存自訂排序、篩選器和顯示選項,或與團隊共享。",
|
||||
toggle_title: "啟用檢視",
|
||||
toggle_description: "專案成員將能夠建立和編輯檢視。",
|
||||
},
|
||||
pages: {
|
||||
title: "頁面",
|
||||
short_title: "頁面",
|
||||
description: "建立和編輯自由格式的內容:筆記、文件、任何內容。",
|
||||
toggle_title: "啟用頁面",
|
||||
toggle_description: "專案成員將能夠建立和編輯頁面。",
|
||||
},
|
||||
intake: {
|
||||
title: "接收",
|
||||
short_title: "接收",
|
||||
description: "讓非成員分享錯誤、回饋和建議;而不會中斷您的工作流程。",
|
||||
toggle_title: "啟用接收",
|
||||
toggle_description: "允許專案成員在應用程式中建立接收請求。",
|
||||
},
|
||||
},
|
||||
},
|
||||
project_cycles: {
|
||||
add_cycle: "新增週期",
|
||||
|
|
|
|||
|
|
@ -74,4 +74,15 @@
|
|||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* fade in */
|
||||
--animate-fade-in: fadeIn 0.25s ease-out forwards;
|
||||
@keyframes fadeIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ export * from "./reaction";
|
|||
export * from "./intake";
|
||||
export * from "./rich-filters";
|
||||
export * from "./search";
|
||||
export * from "./settings";
|
||||
export * from "./state";
|
||||
export * from "./stickies";
|
||||
export * from "./timezone";
|
||||
|
|
|
|||
34
packages/types/src/settings.ts
Normal file
34
packages/types/src/settings.ts
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
// local imports
|
||||
import type { EUserProjectRoles } from ".";
|
||||
import type { EUserWorkspaceRoles } from "./workspace";
|
||||
|
||||
export type TProfileSettingsTabs = "general" | "preferences" | "activity" | "notifications" | "security" | "api-tokens";
|
||||
|
||||
export type TWorkspaceSettingsTabs = "general" | "members" | "billing-and-plans" | "export" | "webhooks";
|
||||
export type TWorkspaceSettingsItem = {
|
||||
key: TWorkspaceSettingsTabs;
|
||||
i18n_label: string;
|
||||
href: string;
|
||||
access: EUserWorkspaceRoles[];
|
||||
highlight: (pathname: string, baseUrl: string) => boolean;
|
||||
};
|
||||
|
||||
export type TProjectSettingsTabs =
|
||||
| "general"
|
||||
| "members"
|
||||
| "features_cycles"
|
||||
| "features_modules"
|
||||
| "features_views"
|
||||
| "features_pages"
|
||||
| "features_intake"
|
||||
| "states"
|
||||
| "labels"
|
||||
| "estimates"
|
||||
| "automations";
|
||||
export type TProjectSettingsItem = {
|
||||
key: TProjectSettingsTabs;
|
||||
i18n_label: string;
|
||||
href: string;
|
||||
access: EUserProjectRoles[];
|
||||
highlight: (pathname: string, baseUrl: string) => boolean;
|
||||
};
|
||||
|
|
@ -20,8 +20,8 @@ export function Table<T>(props: TTableData<T>) {
|
|||
|
||||
return (
|
||||
<table className={cn("table-auto w-full overflow-hidden whitespace-nowrap", tableClassName)}>
|
||||
<thead className={cn("divide-y divide-subtle-1", tHeadClassName)}>
|
||||
<tr className={cn("divide-x divide-subtle-1 text-13 text-primary", tHeadTrClassName)}>
|
||||
<thead className={cn("divide-y divide-subtle", tHeadClassName)}>
|
||||
<tr className={cn("divide-x divide-subtle text-13 text-primary", tHeadTrClassName)}>
|
||||
{columns.map((column) => (
|
||||
<th key={column.key} className={cn("px-2.5 py-2", thClassName)}>
|
||||
{(column?.thRender && column?.thRender()) || column.content}
|
||||
|
|
@ -29,11 +29,11 @@ export function Table<T>(props: TTableData<T>) {
|
|||
))}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className={cn("divide-y divide-subtle-1", tBodyClassName)}>
|
||||
<tbody className={cn("divide-y divide-subtle", tBodyClassName)}>
|
||||
{data.map((item) => (
|
||||
<tr
|
||||
key={keyExtractor(item)}
|
||||
className={cn("divide-x divide-subtle-1 text-13 text-secondary", tBodyTrClassName)}
|
||||
className={cn("divide-x divide-subtle text-13 text-secondary", tBodyTrClassName)}
|
||||
>
|
||||
{columns.map((column) => (
|
||||
<td key={`${column.key}-${keyExtractor(item)}`} className={cn("px-2.5 py-2", tdClassName)}>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue