You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5f2d567
Browse filesBrowse the repository at this point in the historyBrowse files
docs: landing gallery shows adapted plugins and core screens as HTML previews in the design system instead of old screenshots, two cards per row so they stay readable; adoption.md asks to redraw the card after adapting a plugin AdminForth/2005
Copy file name to clipboardExpand all lines: adminforth/design/adoption.md
+16-5Lines changed: 16 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,24 +25,35 @@ Which packages follow the [design concepts](./system-concepts.md): tokens instea
25
25
|@adminforth/json-form||
26
26
|@adminforth/list-in-place-edit| ✓ |
27
27
|@adminforth/login-captcha||
28
-
|@adminforth/many2many||
29
-
|@adminforth/markdown||
28
+
|@adminforth/many2many|✓ |
29
+
|@adminforth/markdown|✓ |
30
30
|@adminforth/mcp| ✓ |
31
31
|@adminforth/oauth| ✓ |
32
32
|@adminforth/open-signup||
33
33
|@adminforth/quick-filters| ✓ |
34
-
|@adminforth/rich-editor||
34
+
|@adminforth/rich-editor|✓ |
35
35
|@adminforth/text-complete| ✓ |
36
36
|@adminforth/two-factors-auth| ✓ |
37
37
|@adminforth/universal-search| ✓ |
38
-
|@adminforth/upload||
38
+
|@adminforth/upload|✓ |
39
39
|@adminforth/user-sessions| ✓ |
40
40
|@adminforth/user-soft-delete||
41
41
42
42
## Releasing an adapted plugin
43
43
44
44
- Moving a plugin to the design system makes it depend on adminforth 4 (AFCL components and Lucide icons ship with it), so apps on adminforth 3 must not get it with an update: set `peerDependencies.adminforth` to `^4.0.0` and commit with a `BREAKING CHANGE:` footer, semantic-release then publishes a new major (it ignores `feat!:`). Bump `devDependencies.adminforth` together with the lockfile once 4.0.0 is on npm, earlier `pnpm install --frozen-lockfile` fails on CI.
45
45
- Roll the release out to the live demo right away: bump the plugin (and `adminforth`, when the plugin needs a newer core) in `live-demo/app/package.json` and push to `main`, the push rebuilds demo.adminforth.dev.
46
+
- Redraw the card of the plugin on the landing page, if it has one, in the design system.
47
+
48
+
## Landing page previews
49
+
50
+
The cards of the landing gallery (`documentation/src/pages/index.tsx`) show either a PNG screenshot (`original`) or a static HTML page of `documentation/static/landing-previews` (`preview: '<file>'`) drawn in the design system. A plugin moves to `preview` once it is adapted.
51
+
52
+
- Draw the screen of the plugin's core feature, not the whole page: keep one key element (an open menu, a form field, a dialog) and drop the columns, fields and buttons which don't explain the feature. A card is about 440px wide, so a screen with every column of the real page is unreadable.
53
+
- Copy the closest page (a list, an edit form, a settings tab) and take the markup, texts, Lucide icons and tokens from the components of the plugin, the shared classes are in `previews.css`.
54
+
- The screen is drawn at a fixed size of 16:10 in `.screen`, 880×550 by default, a smaller one makes the text bigger. `previews.js` scales it to the card, follows the light/dark switch of the landing page and draws the sidebar (`<aside class="side" data-active="Apartments">`).
55
+
- Icons come from the sprite `icons.svg` (`<svg class="i"><use href="icons.svg#pencil"/></svg>`), add a missing Lucide icon there as a `<symbol>`. Flags are the SVGs of `flag-icons`, small images are JPEGs in the folder.
56
+
- Check the page in both themes at the size of the card before the commit.
46
57
47
58
## Left in core
48
59
@@ -54,5 +65,5 @@ Which packages follow the [design concepts](./system-concepts.md): tokens instea
54
65
55
66
- If simple - get of flowbite, prefer pure AFCL + Tailwind, move features we luck to AFCL
56
67
- Existing icon fonts apart lucide - try to get rid of them if not complex
57
-
- Core uses only Lucide icons and `flag-icons` flags (`afcl/CountryFlag.vue`). `vue-flowbite` and `vue-heroicons` stay in `spa/package.json` while plugins import them (flowbite: bulk-ai-flow, clone-row, email-invite, email-password-reset, foreign-inline-list, inline-create, json-editor, markdown, open-signup, user-soft-delete, and dashboard only for `flowbite:chart-pie-solid`, the old default menu icon which stored dashboard configs may name; heroicons: markdown). After plugins rework it they should disappear.
68
+
- Core uses only Lucide icons and `flag-icons` flags (`afcl/CountryFlag.vue`). `vue-flowbite` and `vue-heroicons` stay in `spa/package.json` while plugins import them (flowbite: bulk-ai-flow, clone-row, email-invite, email-password-reset, foreign-inline-list, inline-create, json-editor, open-signup, user-soft-delete, and dashboard only for `flowbite:chart-pie-solid`, the old default menu icon which stored dashboard configs may name; no plugin imports heroicons any more). After plugins rework it they should disappear.
58
69
- i18n shows language flags with its own `flag-icon-css`, a 445 KB stylesheet loaded on every page: move `LanguageFlag.vue` to AFCL `CountryFlag`.
description: 'Export tables to CSV and import from CSV with one click. Move data between environments easily'
@@ -175,31 +178,31 @@ const images = [
175
178
description: 'Use LLMs to fill records with generated data or images. For example, generate product descriptions based on product name and image or generate products images'
title: 'Background Jobs Plugin - manage your background tasks',
186
189
link: '/docs/tutorial/Plugins/background-jobs/',
187
190
description: 'Use background jobs to handle long-running tasks efficiently. Schedule, monitor, and manage your background processes with ease even after server restarts'
title: 'Agent Plugin - give AI any task and let it handle it',
192
195
link: '/docs/tutorial/Plugins/agent/',
193
196
description: 'Provides an internal agent that can perform various tasks based on natural language instructions. Connect it to your data and let it help you with content generation, data management, or any custom use case you can think of'
title: 'MCP Server Plugin - plug your admin into coding agents',
198
201
link: '/docs/tutorial/Plugins/mcp/',
199
202
description: 'Expose AdminForth resources and actions as remote MCP tools for Claude Code, OpenAI Codex, Gemini CLI and any other MCP client. Every call runs as the AdminForth user who created the auth secret, so your resource permissions, validation and hooks still apply'
title: 'Dashboard Plugin - creare custom dashboards from web interface',
204
207
link: '/docs/tutorial/Plugins/dashboard/',
205
208
description: 'Provides a customizable dashboard plugin that allows you to create and manage dashboards for your data. Connect it to your resources and visualize your data in a meaningful way'
@@ -531,6 +534,7 @@ function Watch(): JSX.Element {
531
534
}
532
535
533
536
functionGallery(): JSX.Element{
537
+
const{withBaseUrl}=useBaseUrlUtils();
534
538
return(
535
539
<Sectioneyebrow="In the panel"note="What ships, and what a plugin adds on top.">
536
540
<Headingas="h2"className={styles.h2}>What it can do for you.</Heading>
@@ -540,7 +544,16 @@ function Gallery(): JSX.Element {
0 commit comments