Files
TREK/client/src/help/contexts/collections.ts
T
Maurice 4346d7f2c1 feat(help): in-app help center with per-screen guides and pictures
A help icon on every screen opens a panel with the screen's overview, its
sub-screens, task guides with a framed picture per step, search across guides
and the wiki, and a switch to any other screen's help. Guides exist for the
dashboard, Vacay, Atlas, Collections, Journey (list, journal, studio), Settings
(all tabs), Admin (all tabs) and the trip frame; the trip's own screens are
in progress. Pictures are produced by Playwright (client/e2e/help), texts in
all 23 languages.
2026-09-24 14:05:42 +02:00

166 lines
4.1 KiB
TypeScript

import type { HelpContext, HelpGuide } from '../types'
/**
* Help for the Collections addon (`/collections`): the place library outside
* of any trip. The step actions that produce the pictures live in
* `e2e/help/collections.guide.ts`, keyed by the same ids.
*/
const COLLECTIONS = 'Collections'
export const collectionsGuides: HelpGuide[] = [
{
id: 'create-list',
context: 'collections',
icon: 'plus',
size: 'guide',
steps: 3,
tips: 1,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'lists' },
related: ['add-place', 'edit-list', 'import-from-trip'],
},
{
id: 'add-place',
context: 'collections',
icon: 'mapPin',
size: 'guide',
steps: 3,
tips: 2,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'adding-places' },
related: ['import-from-trip', 'place-detail'],
},
{
id: 'import-from-trip',
context: 'collections',
icon: 'download',
size: 'guide',
steps: 4,
tips: 2,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'adding-places' },
related: ['add-place', 'copy-to-trip'],
},
{
id: 'place-status',
context: 'collections',
icon: 'checkCircle',
size: 'quick',
steps: 2,
tips: 2,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'place-status' },
related: ['place-detail', 'filter-select'],
},
{
id: 'place-detail',
context: 'collections',
icon: 'panelRight',
size: 'quick',
steps: 2,
tips: 2,
media: { steps: true, result: false },
docs: { slug: COLLECTIONS, anchor: 'place-detail' },
related: ['place-status', 'copy-to-trip', 'labels'],
},
{
id: 'labels',
context: 'collections',
icon: 'tags',
size: 'guide',
steps: 4,
tips: 2,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'custom-labels' },
related: ['filter-select', 'place-detail'],
},
{
id: 'filter-select',
context: 'collections',
icon: 'filter',
size: 'guide',
steps: 3,
tips: 1,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'filtering-and-bulk-actions' },
related: ['copy-to-trip', 'labels'],
},
{
id: 'copy-to-trip',
context: 'collections',
icon: 'copy',
size: 'guide',
steps: 3,
tips: 1,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'filtering-and-bulk-actions' },
related: ['filter-select', 'import-from-trip'],
},
{
id: 'share-list',
context: 'collections',
icon: 'userPlus',
size: 'guide',
steps: 3,
tips: 2,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'sharing-a-list-fusion' },
related: ['export-list'],
},
{
id: 'export-list',
context: 'collections',
icon: 'upload',
size: 'quick',
steps: 2,
tips: 2,
media: { steps: true, result: false },
docs: { slug: COLLECTIONS, anchor: 'sending-a-list-to-someone-else' },
related: ['import-file', 'share-list'],
},
{
id: 'import-file',
context: 'collections',
icon: 'fileInput',
size: 'guide',
steps: 3,
tips: 2,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'sending-a-list-to-someone-else' },
related: ['export-list', 'create-list'],
},
{
id: 'edit-list',
context: 'collections',
icon: 'pencil',
size: 'quick',
steps: 2,
tips: 1,
media: { steps: true, result: true },
docs: { slug: COLLECTIONS, anchor: 'lists' },
related: ['create-list'],
},
{
id: 'all-saved',
context: 'collections',
icon: 'library',
size: 'quick',
steps: 2,
tips: 1,
media: { steps: true, result: false },
docs: { slug: COLLECTIONS, anchor: 'lists' },
related: ['filter-select'],
},
]
export const collectionsContext: HelpContext = {
id: 'collections',
route: '/collections',
icon: 'bookmark',
bullets: 6,
guides: collectionsGuides.map(g => g.id),
docs: [{ slug: COLLECTIONS }, { slug: 'Admin-Categories' }, { slug: 'Admin-Addons' }],
hero: true,
}