@aglyn/aglyn 1.0.0-beta.191 → 1.0.0-beta.193
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aglyn/aglyn",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.193",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"homepage": "https://aglyn.com",
|
|
6
6
|
"repository": {
|
|
@@ -33,16 +33,16 @@
|
|
|
33
33
|
"./package.json": "./package.json"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@aglyn/shared-data-enums": "1.0.0-beta.
|
|
37
|
-
"@aglyn/shared-data-mdi": "1.0.0-beta.
|
|
38
|
-
"@aglyn/shared-data-types": "1.0.0-beta.
|
|
39
|
-
"@aglyn/shared-util-email": "1.0.0-beta.
|
|
40
|
-
"@aglyn/shared-util-first-touch": "1.0.0-beta.
|
|
41
|
-
"@aglyn/shared-util-http": "1.0.0-beta.
|
|
42
|
-
"@aglyn/shared-util-logger": "1.0.0-beta.
|
|
43
|
-
"@aglyn/shared-util-timestamp": "1.0.0-beta.
|
|
44
|
-
"@aglyn/shared-util-tools": "1.0.0-beta.
|
|
45
|
-
"@aglyn/shared-util-vendor": "1.0.0-beta.
|
|
36
|
+
"@aglyn/shared-data-enums": "1.0.0-beta.193",
|
|
37
|
+
"@aglyn/shared-data-mdi": "1.0.0-beta.193",
|
|
38
|
+
"@aglyn/shared-data-types": "1.0.0-beta.193",
|
|
39
|
+
"@aglyn/shared-util-email": "1.0.0-beta.193",
|
|
40
|
+
"@aglyn/shared-util-first-touch": "1.0.0-beta.193",
|
|
41
|
+
"@aglyn/shared-util-http": "1.0.0-beta.193",
|
|
42
|
+
"@aglyn/shared-util-logger": "1.0.0-beta.193",
|
|
43
|
+
"@aglyn/shared-util-timestamp": "1.0.0-beta.193",
|
|
44
|
+
"@aglyn/shared-util-tools": "1.0.0-beta.193",
|
|
45
|
+
"@aglyn/shared-util-vendor": "1.0.0-beta.193",
|
|
46
46
|
"@data-driven-forms/react-form-renderer": "^4.2.0",
|
|
47
47
|
"@msgpack/msgpack": "^3.1.3",
|
|
48
48
|
"@types/unist": "^3.0.3",
|
|
@@ -1206,7 +1206,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
1206
1206
|
title: 'The Besigner',
|
|
1207
1207
|
heading: '',
|
|
1208
1208
|
anchor: '',
|
|
1209
|
-
text: 'The Besigner\nThe Besigner is Aglyn\'s visual editor. You build a screen by placing components on a canvas, arranging them in a hierarchy, and editing content directly on the page. It renders your screen under the real site theme, so what you see matches what publishes.\n1. Primary bar — the document switcher, File/Edit/Insert menus, the Publish/Unpublish button, the ƒx functions panel, the version you\'re editing, and notifications.\n2. Toolbar — add elements, undo/redo, scheme and device preview, panel toggles, and the Live/Preview/save state on the right.\n3. Hierarchy & elements — the node tree of the screen and the drawer of components you can add.\n4. Canvas — your screen rendering live under the real site theme; select, drag, and edit text inline.\n5. Inspector —
|
|
1209
|
+
text: 'The Besigner\nThe Besigner is Aglyn\'s visual editor. You build a screen by placing components on a canvas, arranging them in a hierarchy, and editing content directly on the page. It renders your screen under the real site theme, so what you see matches what publishes.\n1. Primary bar — the document switcher, File/Edit/Insert menus, the Publish/Unpublish button, the ƒx functions panel, the version you\'re editing, and notifications.\n2. Toolbar — add elements, undo/redo, scheme and device preview, panel toggles, and the Live/Preview/save state on the right.\n3. Hierarchy & elements — the node tree of the screen and the drawer of components you can add.\n4. Canvas — your screen rendering live under the real site theme; select, drag, and edit text inline.\n5. Inspector — the Attributes, Styles and Interactions tabs for the selected element.'
|
|
1210
1210
|
},
|
|
1211
1211
|
{
|
|
1212
1212
|
path: '/building-sites/besigner/overview',
|
|
@@ -1500,7 +1500,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
1500
1500
|
title: 'Reusable components',
|
|
1501
1501
|
heading: 'Manage',
|
|
1502
1502
|
anchor: '#manage',
|
|
1503
|
-
text: 'From the site\'s Components page you can rename, edit the description, open the besigner, or delete a reusable component. The component\'s ID is persisted inside every screen that places it and never changes.\nYou can also give a component its own icon, from the same picker the besigner uses for icon elements — either in the Edit component dialog on the Components page, or on the component\'s detail page. Every instance is then marked with it: in the hierarchy, on the canvas badge, and in the element drawer under Your components. A page assembled from promoted sections becomes readable at a glance. Components without an icon keep the generic package glyph.'
|
|
1503
|
+
text: 'From the site\'s Components page you can rename, edit the description, open the besigner, or delete a reusable component. The component\'s ID is persisted inside every screen that places it and never changes.\nYou can also give a component its own icon, from the same picker the besigner uses for icon elements — either in the Edit component dialog on the Components page, or on the component\'s detail page. Every instance is then marked with it: in the hierarchy, on the canvas badge, and in the element drawer under Your components. A page assembled from promoted sections becomes readable at a glance. Components without an icon keep the generic package glyph.\nFilters in the Components table\'s toolbar narrows the list by name, Used in (page or email), ID, description, or date, and Search matches any word of the name, ID, or description. Each filter in force shows as a chip above the table. The list pages as you go, so a filter looks through the components read so far and reads further as you page on.'
|
|
1504
1504
|
},
|
|
1505
1505
|
{
|
|
1506
1506
|
path: '/building-sites/besigner/reusable-components',
|
|
@@ -1815,7 +1815,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
1815
1815
|
title: 'Connect a domain',
|
|
1816
1816
|
heading: 'Steps',
|
|
1817
1817
|
anchor: '#steps',
|
|
1818
|
-
text: '1. In the site\'s Admin page,
|
|
1818
|
+
text: '1. In the site\'s Admin page, choose Custom Domain in its navigation. The card explains: "Point your domain at Aglyn, then verify. A subdomain like www uses a CNAME. A bare apex cannot carry a CNAME, so point it at the same hostname with an ALIAS — or use the A record if your registrar has no ALIAS. Any one of these verifies", and lists the records with your domain filled in, each with a line saying when it\'s the right one. Type a bare apex and the ALIAS line comes first; type a subdomain and the CNAME line does.\n2. At your registrar\'s DNS settings, add one of those records — see the quick reference below.\n3. Back in Aglyn, type your domain into the Domain field and press Verify & connect. Aglyn checks DNS from public resolvers and, if the record checks out, connects the domain in the same click.\n4. On success the card confirms "your-domain.com" connected and shows the domain as a green chip. An apex — connected by ALIAS or by A record, since both are checked the same way — gets an extra note: "Apex verified by the addresses it resolves to."\nIf DNS hasn\'t propagated yet, Verify & connect tells you what it found instead — either the record it saw and what it expected, or that no record exists yet — and asks you to try again in a while. Nothing is saved on a failed verify, so re-running it is always safe.'
|
|
1819
1819
|
},
|
|
1820
1820
|
{
|
|
1821
1821
|
path: '/building-sites/custom-domains/connect-a-domain',
|
|
@@ -1871,7 +1871,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
1871
1871
|
title: 'Custom Domains',
|
|
1872
1872
|
heading: 'Connect a domain',
|
|
1873
1873
|
anchor: '#connect-a-domain',
|
|
1874
|
-
text: '1. In Admin,
|
|
1874
|
+
text: '1. In Admin, choose Custom Domain in its navigation.\n2. Add one DNS record at your registrar — a CNAME to sites.aglyn.app for a subdomain, or an ALIAS/ANAME to the same hostname for a bare apex (an A record where your registrar offers no ALIAS).\n3. Type the domain into the Domain field and press Verify & connect. Aglyn checks DNS and connects the domain in the same click; SSL provisions automatically.\nEach site carries one custom domain, shown as a chip on the card with Re-attach and Disconnect actions beside it. Once it serves, your .aglyn.app subdomain redirects to it, path preserved, so old links keep working.\nHow-tos\n- Connect a domain — steps, apex records (ALIAS first, A as the fallback), and what happens after\n- Troubleshoot verification'
|
|
1875
1875
|
},
|
|
1876
1876
|
{
|
|
1877
1877
|
path: '/building-sites/custom-domains/overview',
|
|
@@ -1997,7 +1997,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
1997
1997
|
title: 'Add a locale',
|
|
1998
1998
|
heading: 'Steps',
|
|
1999
1999
|
anchor: '#steps',
|
|
2000
|
-
text: '1. Add a locale (e.g. es, fr) to your site.\n2. Aglyn creates locale variants of your content, sharing the same structure as your default language.\n3. Translate the screens\' text for that locale.\n4. Publish. Aglyn emits hreflang tags so search engines serve the right language to each visitor.'
|
|
2000
|
+
text: '1. Add a locale (e.g. es, fr) to your site, in the Languages card under Setup → Basic details.\n2. Aglyn creates locale variants of your content, sharing the same structure as your default language.\n3. Translate the screens\' text for that locale.\n4. Publish. Aglyn emits hreflang tags so search engines serve the right language to each visitor.'
|
|
2001
2001
|
},
|
|
2002
2002
|
{
|
|
2003
2003
|
path: '/building-sites/multilingual/add-a-locale',
|
|
@@ -2258,6 +2258,13 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
2258
2258
|
anchor: '#what-a-layout-is',
|
|
2259
2259
|
text: 'A layout holds the furniture many screens have in common — header, navigation, footer, a cookie banner, a site-wide search box. Bind a screen to a layout in the Besigner and the layout chrome wraps the screen both in the editor and on the published site.\nBecause the chrome lives in one document, changing it changes every screen bound to it at once. That is the point, and it is also the thing to keep in mind before you publish: see Versions & scheduled publishing.'
|
|
2260
2260
|
},
|
|
2261
|
+
{
|
|
2262
|
+
path: '/building-sites/screens-and-layouts/layouts',
|
|
2263
|
+
title: 'Layouts',
|
|
2264
|
+
heading: 'Find a layout',
|
|
2265
|
+
anchor: '#find-a-layout',
|
|
2266
|
+
text: 'The site\'s Layouts page lists every layout. Filters in the table\'s toolbar narrows it by display name, ID, description, or the date it was created or last updated, and Search matches any word of the name, ID, or description. Each filter in force shows as a chip above the table; remove a chip to drop it. The list pages as you go, so a filter looks through the layouts read so far and reads further as you page on; the table says so while more remain.'
|
|
2267
|
+
},
|
|
2261
2268
|
{
|
|
2262
2269
|
path: '/building-sites/screens-and-layouts/layouts',
|
|
2263
2270
|
title: 'Layouts',
|
|
@@ -2767,7 +2774,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
2767
2774
|
title: 'Build a blog',
|
|
2768
2775
|
heading: '2. Write entries',
|
|
2769
2776
|
anchor: '#2-write-entries',
|
|
2770
|
-
text: 'Add rich blog entries with images, a live preview, and scheduling so posts publish at the right time.\nNew entry, or clicking any row in the entries table, opens that entry on its own page. The page has its own address, so you can bookmark an entry you\'re mid-way through or paste the link to a colleague and they land on the same one. Back to entries — or your browser\'s Back button — returns to the list; if the entry has edits you haven\'t saved, you\'re asked before they\'re dropped.\nThe table opens with the most recently Published entries first. Click the Title, Status, Updated or Published header to sort by that column, and again to reverse it. Entries with nothing in the sorted column, such as a draft with no published date, follow the rest in either direction rather than dropping out. Filters in the table\'s toolbar narrows the list to one Status or one Category across the whole collection, not only the page you\'re on.\nEach entry carries, besides the title, excerpt, cover image, and markdown body:\n- Category — a single bucket (e.g. Guides) used for filtering and related posts, picked from the collection\'s category list (see below), never typed free-form.\n- Tags — comma-separated labels (e.g. nextjs, seo).\n- Author — the entry\'s byline: an author record from the Authors tab or a one-off custom byline. An entry needs one to be published or scheduled; a draft can be saved without it. See Authors.\n- SEO title / SEO description — search & social overrides; they fall back to the title and excerpt when blank.\n- Featured video — a film for the entry\'s page: one from your media library, a video link, or a Wistia link. It plays where the cover image would sit. See Build a video collection.\nScheduling\nThe same three
|
|
2777
|
+
text: 'Add rich blog entries with images, a live preview, and scheduling so posts publish at the right time.\nNew entry, or clicking any row in the entries table, opens that entry on its own page. The page has its own address, so you can bookmark an entry you\'re mid-way through or paste the link to a colleague and they land on the same one. Back to entries — or your browser\'s Back button — returns to the list; if the entry has edits you haven\'t saved, you\'re asked before they\'re dropped.\nThe table opens with the most recently Published entries first. Click the Title, Status, Updated or Published header to sort by that column, and again to reverse it. Entries with nothing in the sorted column, such as a draft with no published date, follow the rest in either direction rather than dropping out. Filters in the table\'s toolbar narrows the list to one Status or one Category across the whole collection, not only the page you\'re on, and the filter in force shows as a chip above the table.\nEach entry carries, besides the title, excerpt, cover image, and markdown body:\n- Category — a single bucket (e.g. Guides) used for filtering and related posts, picked from the collection\'s category list (see below), never typed free-form.\n- Tags — comma-separated labels (e.g. nextjs, seo).\n- Author — the entry\'s byline: an author record from the Authors tab or a one-off custom byline. An entry needs one to be published or scheduled; a draft can be saved without it. See Authors.\n- SEO title / SEO description — search & social overrides; they fall back to the title and excerpt when blank.\n- Featured video — a film for the entry\'s page: one from your media library, a video link, or a Wistia link. It plays where the cover image would sit. See Build a video collection.\nScheduling\nThe same three publicati'
|
|
2771
2778
|
},
|
|
2772
2779
|
{
|
|
2773
2780
|
path: '/building-sites/site-templates/build-a-blog',
|
|
@@ -2879,7 +2886,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
2879
2886
|
title: 'Your templates library',
|
|
2880
2887
|
heading: '',
|
|
2881
2888
|
anchor: '',
|
|
2882
|
-
text: 'Your templates library\nTemplates are saved starting points. A template is inert: nothing in your library is on your live site until you deliberately use it. That is the whole point of the library — it means installing something from the marketplace can never publish pages to a site you are running.\nFind it at Templates in a site\'s navigation, alongside Screens, Layouts and Components — the three things a template can produce.\nA template is a copy, not a live link: once you use one, the result is yours outright and editing the template never changes what you already made. If you want one edit to update every place a thing appears, you want a reusable component. If you want one frame around many pages, you want a layout.'
|
|
2889
|
+
text: 'Your templates library\nTemplates are saved starting points. A template is inert: nothing in your library is on your live site until you deliberately use it. That is the whole point of the library — it means installing something from the marketplace can never publish pages to a site you are running.\nFind it at Templates in a site\'s navigation, alongside Screens, Layouts and Components — the three things a template can produce.\nA template is a copy, not a live link: once you use one, the result is yours outright and editing the template never changes what you already made. If you want one edit to update every place a thing appears, you want a reusable component. If you want one frame around many pages, you want a layout.\nFilters in the library\'s toolbar narrows it by Kind (page, component, or layout), Source (marketplace, starter, or saved here), name, description, or date, and Search matches any word of the name or description. Filters look at every template the library read, and each one in force shows as a chip above the table.'
|
|
2883
2890
|
},
|
|
2884
2891
|
{
|
|
2885
2892
|
path: '/building-sites/site-templates/templates-library',
|
|
@@ -6351,7 +6358,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
6351
6358
|
title: 'The console tour',
|
|
6352
6359
|
heading: '',
|
|
6353
6360
|
anchor: '',
|
|
6354
|
-
text: 'The console tour\nThe console is where you manage a site. Here\'s what each part of the chrome does.\n1. App bar — the Aglyn console wordmark, notifications, and your account menu.\n2. Workspace switcher — jump between the organizations you belong to.\n3. Site sections — every area of the selected site (Dashboard, Screens, Media, Content, …).\n4. Site switcher — switch between the sites in your workspace.\n5. Page body — the selected section\'s cards and tables.'
|
|
6361
|
+
text: 'The console tour\nThe console is where you manage a site. Here\'s what each part of the chrome does.\n1. App bar — the Aglyn console wordmark, search, notifications, and your account menu.\n2. Workspace switcher — jump between the organizations you belong to.\n3. Site sections — every area of the selected site (Dashboard, Screens, Media, Content, …).\n4. Site switcher — switch between the sites in your workspace.\n5. Page body — the selected section\'s cards and tables.'
|
|
6355
6362
|
},
|
|
6356
6363
|
{
|
|
6357
6364
|
path: '/getting-started/console-tour',
|
|
@@ -6393,7 +6400,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
6393
6400
|
title: 'The console tour',
|
|
6394
6401
|
heading: 'A site\'s dashboard',
|
|
6395
6402
|
anchor: '#a-sites-dashboard',
|
|
6396
|
-
text: 'Opening a site lands you on its dashboard. It\'s a place to glance at the site, not to edit it — every card is a summary with a link to the section that owns the detail:\n- Traffic — pageviews over a window you choose (14 days by default). View details opens Analytics.\n- Newest site users — the five most recent people who signed up on your site. View all opens Users.\n- Recent Activity — the ten most recent changes, each naming the thing that changed ("Saved the screen — Home") and linking straight to it. A change an integration made through the REST API is attributed to its key by name — API key Zapier — rather than to a person. The full, paginated log lives under Admin → Activity.\nPlugins contribute the rest, so this list is a floor rather than an exact match for your own dashboard: Last campaign appears once you\'ve sent an email campaign,
|
|
6403
|
+
text: 'Opening a site lands you on its dashboard. It\'s a place to glance at the site, not to edit it — every card is a summary with a link to the section that owns the detail:\n- Traffic — pageviews over a window you choose (14 days by default). View details opens Analytics.\n- Newest site users — the five most recent people who signed up on your site. View all opens Users.\n- Recent Activity — the ten most recent changes, each naming the thing that changed ("Saved the screen — Home") and linking straight to it. A change an integration made through the REST API is attributed to its key by name — API key Zapier — rather than to a person. The full, paginated log lives under Admin → Activity.\nPlugins contribute the rest, so this list is a floor rather than an exact match for your own dashboard: Last campaign appears once you\'ve sent an email campaign, Commerce where the commerce plugin is enabled and the site has products or orders, Tasks due and CRM at a glance where the CRM is on, and Inbox with the site\'s unread form submissions. A brand-new site shows the same cards with empty states — "No pageviews recorded yet", "No activity yet" — which is what a first visit should look like.\nTwo things people expect here and won\'t find: role management lives under Users, and the announcement bar and promotional popup live under Marketing.\nVisit site, in the dashboard header, opens the published site in a new tab with the admin bar armed — the route from a site\'s own dashboard to the site itself, without going back out to the Sites list and in through a card action.'
|
|
6397
6404
|
},
|
|
6398
6405
|
{
|
|
6399
6406
|
path: '/getting-started/console-tour',
|
|
@@ -6841,7 +6848,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
6841
6848
|
title: 'Build a mega menu with hover interactions',
|
|
6842
6849
|
heading: '3. Make it open on hover',
|
|
6843
6850
|
anchor: '#3-make-it-open-on-hover',
|
|
6844
|
-
text: 'Out of the box, clicking the nav item already toggles the panel — no setup. To add the classic hover behavior:\n1. Select the Mega Menu element itself.\n2. In the inspector, open Add interaction
|
|
6851
|
+
text: 'Out of the box, clicking the nav item already toggles the panel — no setup. To add the classic hover behavior:\n1. Select the Mega Menu element itself.\n2. In the inspector\'s Interactions tab, open Add interaction and choose When hovered….\n3. Check that When reads This element is hovered.\n4. Set the Action to Open a menu. Leave Menu on This element, the element you\'re editing.\n5. Leave How often on Every time (the default) so the menu keeps working on every hover, not just once.\n6. Create. The interaction is enabled immediately and appears in the element\'s Interactions list with edit, enable/disable, and remove controls.\nThat\'s the whole wiring. A menu opened by hover closes itself when the pointer leaves the nav item and its panel, with a short grace period so the pointer can travel between the two — you don\'t need a separate When hover ends interaction.\nPick the target by clicking Any interaction that targets an element (open a menu, show/hide, open a drawer) lets you pick the target by clicking it on the canvas and confirming — no CSS selectors to write. A "define a custom selector" option is there as a secondary escape hatch.\nPrefer primitives? Insert the Dropdown Panel preset\nIf you\'d rather build the same pattern from plain elements — a Stack wrapper, a Button trigger, and an absolutely-positioned panel you style freely — insert Dropdown Panel from the Navigation group instead. It arrives with the whole hover choreography already wired as ordinary interactions: show on hover (with Close on Esc and Close on outside click) and hide on hover leave with a 250ms grace delay. Edit or delete them on the wrapper\'s Interactions list like anything you authored yourself.\nThe menus & navigation reference covers when to reach for the preset versus the Mega Menu element.'
|
|
6845
6852
|
},
|
|
6846
6853
|
{
|
|
6847
6854
|
path: '/guides/mega-menu-with-interactions',
|
|
@@ -6918,7 +6925,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
6918
6925
|
title: 'Member accounts',
|
|
6919
6926
|
heading: '5. Manage members from the console',
|
|
6920
6927
|
anchor: '#5-manage-members-from-the-console',
|
|
6921
|
-
text: 'The site\'s Users page has two cards: Site users (your members — this guide) and Users (console collaborators). The Site users card is searchable and paged, newest first, with Email, Name, Joined, and Status columns. For members who may open the CRM, each row\'s ⋮ menu holds Open in CRM — the member\'s contact, found by the address they signed up with.\nClick a member to open the member drawer:\n- Profile — email, display name, and join date, with a Suspended chip when applicable.\n- Lifetime purchases — charged order totals minus refunds (pending and canceled orders excluded).\n- Orders — the member\'s payment history, newest first: order number, status, total, date, any refunded amount, and the Stripe payment reference. Needs the editor or admin role on the site.\n- Subscriptions — each with its renewal date and status chip.\n- Addresses — the member\'s saved addresses.\nSuspend & reactivate\nThe drawer\'s action button flips between Suspend member and Reactivate member, each behind a confirmation:\n- Suspend — the member can no longer sign in on the published site (they see an "account suspended" message), and their account page signs out on its next load. Orders, subscriptions, and history are all kept.\n- Reactivate — restores access with the member\'s existing password.\nBoth actions are recorded in the site\'s activity log.\nPassword help\nThe drawer\'s Password section gets a member back into their account. This is their sign-in for this site only — it has nothing to do with any Aglyn console account the same
|
|
6928
|
+
text: 'The site\'s Users page has two cards: Site users (your members — this guide) and Users (console collaborators). The Site users card is searchable and paged, newest first, with Email, Name, Joined, and Status columns. Filters in the table\'s toolbar narrows it by email, name, or join date, one filter at a time, across every member rather than the page on screen; the filter in force shows as a chip above the table. Status is not a filter, because an active member carries no status to match. For members who may open the CRM, each row\'s ⋮ menu holds Open in CRM — the member\'s contact, found by the address they signed up with.\nClick a member to open the member drawer:\n- Profile — email, display name, and join date, with a Suspended chip when applicable.\n- Lifetime purchases — charged order totals minus refunds (pending and canceled orders excluded).\n- Orders — the member\'s payment history, newest first: order number, status, total, date, any refunded amount, and the Stripe payment reference. Needs the editor or admin role on the site.\n- Subscriptions — each with its renewal date and status chip.\n- Addresses — the member\'s saved addresses.\nSuspend & reactivate\nThe drawer\'s action button flips between Suspend member and Reactivate member, each behind a confirmation:\n- Suspend — the member can no longer sign in on the published site (they see an "account suspended" message), and their account page signs out on its next load. Orders, subscriptions, and history are all kept.\n- Reactivate — restores access with the member\'s existing password.\nBoth actions are recorded in the site\'s activity log.\nPassword help\nThe drawer\'s Password section gets a member back into their account. This is their sign-in for this site only — it has nothing to do with any Aglyn console account the same per'
|
|
6922
6929
|
},
|
|
6923
6930
|
{
|
|
6924
6931
|
path: '/guides/member-accounts',
|
|
@@ -7912,7 +7919,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
7912
7919
|
title: 'Downgrading, canceling & your data',
|
|
7913
7920
|
heading: 'When each change takes effect',
|
|
7914
7921
|
anchor: '#when-changes-take-effect',
|
|
7915
|
-
text: 'Plan changes are deliberately asymmetric, and knowing which direction you\'re going tells you what you\'ll be charged — and when. Nothing is taken from your card at the moment you change a plan or an add-on: the adjustment is written onto your next invoice, so a mid-cycle upgrade appears there rather than as a charge today.\n| You\'re doing | When it takes effect | What you are charged, and when |\n| Upgrading to a higher plan | Immediately | Nothing today. A prorated amount for the rest of the current period is added to your next invoice |\n| Downgrading to a lower paid plan | At the end of your current billing period | Nothing |\n| Canceling | At the end of your current billing period | Nothing |\n| Adding or removing an add-on | Immediately | Nothing today. Prorated onto your next invoice — removing one credits you back the same way |\nThe reason downgrades wait is simple: you already paid for the current period, so you keep everything you paid for until it runs out. There is no proration credit on a downgrade because there is nothing to credit — nothing changes today.'
|
|
7922
|
+
text: 'Plan changes are deliberately asymmetric, and knowing which direction you\'re going tells you what you\'ll be charged — and when. Nothing is taken from your card at the moment you change a plan or an add-on: the adjustment is written onto your next invoice, so a mid-cycle upgrade appears there rather than as a charge today.\n| You\'re doing | When it takes effect | What you are charged, and when |\n| Upgrading to a higher plan | Immediately | Nothing today. A prorated amount for the rest of the current period is added to your next invoice |\n| Downgrading to a lower paid plan | At the end of your current billing period | Nothing |\n| Canceling | At the end of your current billing period | Nothing |\n| Adding or removing an add-on | Immediately | Nothing today. Prorated onto your next invoice — removing one credits you back the same way |\nThe reason downgrades wait is simple: you already paid for the current period, so you keep everything you paid for until it runs out. There is no proration credit on a downgrade because there is nothing to credit — nothing changes today.\nBilling opens on your current plan and the next one up. To see the plans below yours, choose Compare all plans, then Looking for something smaller? — the help tip beside it says when a downgrade takes effect.'
|
|
7916
7923
|
},
|
|
7917
7924
|
{
|
|
7918
7925
|
path: '/workspace-and-billing/billing-and-plans/downgrading-and-canceling',
|
|
@@ -8346,7 +8353,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
8346
8353
|
title: 'Invite teammates',
|
|
8347
8354
|
heading: 'Activity log',
|
|
8348
8355
|
anchor: '#activity-log',
|
|
8349
|
-
text: 'The organization\'s Team page shows a Recent Activity feed — renames, workspace URL changes, ownership transfers, members added/removed or re-roled, and invites sent, revoked, or accepted — each with who did it and when.\nVisible to members whose role carries the Activity & audit log permission. Owners and admins have it by default; viewers do not, and neither does a custom role until you grant it. Revoking it does not merely hide the card — the feed is served by an API that checks the permission, so a member without it cannot read the log by any route.\nEntries name the thing that changed and link straight to it, so "Saved the screen — Home" takes you to that screen. Entries recorded before this shipped show a plain description instead of a link.\nAI actions in the log {#ai-actions}\nEverything the AI does in your workspace is recorded in the same feed, attributed to the member who asked for it — or to nobody, when nothing a person did caused it (a generation that paused because the included band ran out, or the add-on leaving at the end of a billing period). The feed shows an AI chip whenever the page holds one of these rows; press it to see only them.\n| Entry | What it records |\n| Started an AI generation | A generation was briefed: what it builds, how long the brief was, and the site. |\n| AI generated | One thing a generation produced — a screen, a layout, a component — linked like any other change. A site\'s own activity carries a copy. |\n| Canceled an AI generation |
|
|
8356
|
+
text: 'The organization\'s Team page shows a Recent Activity feed — renames, workspace URL changes, ownership transfers, members added/removed or re-roled, and invites sent, revoked, or accepted — each with who did it and when.\nVisible to members whose role carries the Activity & audit log permission. Owners and admins have it by default; viewers do not, and neither does a custom role until you grant it. Revoking it does not merely hide the card — the feed is served by an API that checks the permission, so a member without it cannot read the log by any route.\nEntries name the thing that changed and link straight to it, so "Saved the screen — Home" takes you to that screen. Entries recorded before this shipped show a plain description instead of a link.\nA site\'s own activity log, on its Setup page, filters through its table\'s toolbar: Filters narrows it to one Action (or several, with is any of) or to entries before or after a date, across the whole log rather than the page on screen. It has no search box, because nothing can search the whole log by word.\nAI actions in the log {#ai-actions}\nEverything the AI does in your workspace is recorded in the same feed, attributed to the member who asked for it — or to nobody, when nothing a person did caused it (a generation that paused because the included band ran out, or the add-on leaving at the end of a billing period). The feed shows an AI chip whenever the page holds one of these rows; press it to see only them.\n| Entry | What it records |\n| Started an AI generation | A generation was briefed: what it builds, how long the brief was, and the site. |\n| AI generated | One thing a generation produced — a screen, a layout, a component — linked like any other change. A site\'s own activity carries a copy. |\n| Canceled an AI generation | '
|
|
8350
8357
|
},
|
|
8351
8358
|
{
|
|
8352
8359
|
path: '/workspace-and-billing/teams-and-roles/invite-teammates',
|
|
@@ -8423,7 +8430,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
8423
8430
|
title: 'Teams, Roles & Membership',
|
|
8424
8431
|
heading: '',
|
|
8425
8432
|
anchor: '',
|
|
8426
|
-
text: 'Teams, Roles & Membership\nAglyn has two kinds of people: your team (who build and manage the site) and site members (visitors who sign up to your site). Both are permission-aware.\nPlan availability Paid. Seats are metered per tier; see Billing & plans.'
|
|
8433
|
+
text: 'Teams, Roles & Membership\nAglyn has two kinds of people: your team (who build and manage the site) and site members (visitors who sign up to your site). Both are permission-aware.\nPlan availability Paid. Seats are metered per tier; see Billing & plans.\nThe Team page\'s roster filters through its table\'s toolbar: Filters narrows it by Role or by Access (team manager or site collaborator), and Search matches any word of a member\'s name, email, or title. Each filter in force shows as a chip above the table. The role pickers and Permissions in each row work as before.'
|
|
8427
8434
|
},
|
|
8428
8435
|
{
|
|
8429
8436
|
path: '/workspace-and-billing/teams-and-roles/overview',
|