From 42f04480c8f11dd05f7c75844ccaaa0304b8e9a1 Mon Sep 17 00:00:00 2001 From: Lu Wilson Date: Thu, 21 May 2026 10:39:52 +0100 Subject: [PATCH 01/21] dashpage stub --- src/prototypes/dashpage/HelpModule.vue | 148 ++++ src/prototypes/dashpage/ImpactModule.vue | 699 ++++++++++++++++++ src/prototypes/dashpage/MentorModule.vue | 249 +++++++ .../dashpage/MobileSubpageHeader.vue | 105 +++ .../dashpage/StructuredTasksModule.vue | 164 ++++ src/prototypes/dashpage/dashpage-fixtures.ts | 114 +++ src/prototypes/dashpage/help/index.vue | 37 + src/prototypes/dashpage/impact/index.vue | 42 ++ src/prototypes/dashpage/index.vue | 131 ++++ src/prototypes/dashpage/mentor/index.vue | 55 ++ 10 files changed, 1744 insertions(+) create mode 100644 src/prototypes/dashpage/HelpModule.vue create mode 100644 src/prototypes/dashpage/ImpactModule.vue create mode 100644 src/prototypes/dashpage/MentorModule.vue create mode 100644 src/prototypes/dashpage/MobileSubpageHeader.vue create mode 100644 src/prototypes/dashpage/StructuredTasksModule.vue create mode 100644 src/prototypes/dashpage/dashpage-fixtures.ts create mode 100644 src/prototypes/dashpage/help/index.vue create mode 100644 src/prototypes/dashpage/impact/index.vue create mode 100644 src/prototypes/dashpage/index.vue create mode 100644 src/prototypes/dashpage/mentor/index.vue diff --git a/src/prototypes/dashpage/HelpModule.vue b/src/prototypes/dashpage/HelpModule.vue new file mode 100644 index 0000000..fc7864b --- /dev/null +++ b/src/prototypes/dashpage/HelpModule.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/src/prototypes/dashpage/ImpactModule.vue b/src/prototypes/dashpage/ImpactModule.vue new file mode 100644 index 0000000..9c860f8 --- /dev/null +++ b/src/prototypes/dashpage/ImpactModule.vue @@ -0,0 +1,699 @@ + + + + + diff --git a/src/prototypes/dashpage/MentorModule.vue b/src/prototypes/dashpage/MentorModule.vue new file mode 100644 index 0000000..5f25310 --- /dev/null +++ b/src/prototypes/dashpage/MentorModule.vue @@ -0,0 +1,249 @@ + + + + + diff --git a/src/prototypes/dashpage/MobileSubpageHeader.vue b/src/prototypes/dashpage/MobileSubpageHeader.vue new file mode 100644 index 0000000..17f83d4 --- /dev/null +++ b/src/prototypes/dashpage/MobileSubpageHeader.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/prototypes/dashpage/StructuredTasksModule.vue b/src/prototypes/dashpage/StructuredTasksModule.vue new file mode 100644 index 0000000..8ba97a5 --- /dev/null +++ b/src/prototypes/dashpage/StructuredTasksModule.vue @@ -0,0 +1,164 @@ + + + + + diff --git a/src/prototypes/dashpage/dashpage-fixtures.ts b/src/prototypes/dashpage/dashpage-fixtures.ts new file mode 100644 index 0000000..f10390f --- /dev/null +++ b/src/prototypes/dashpage/dashpage-fixtures.ts @@ -0,0 +1,114 @@ +import type { MostViewedArticle } from './ImpactModule.vue' + +/** App gallery home — placeholder target for other mobile link cards. */ +export const APP_HOME = '/' + +/** Dashpage prototype route. */ +export const HOMEPAGE = '/dashpage' + +/** Full-page mobile drill-down for the Your impact module. */ +export const IMPACT_PAGE = '/dashpage/impact' + +/** Full-page mobile drill-down for the Get help with editing module. */ +export const HELP_PAGE = '/dashpage/help' + +/** Full-page mobile drill-down for the Your mentor module. */ +export const MENTOR_PAGE = '/dashpage/mentor' + +/** Mobile link-card preview copy (title is also the full-page header). */ +export const HELP_MODULE = { + title: 'Get help with editing', + summary: 'Ask the help desk or read help pages.', +} as const + +export const HELP_LINKS = [ + { label: 'How to edit a page', href: '#' }, + { label: 'How to add an image', href: '#' }, + { label: 'How to edit a citation', href: '#' }, + { label: 'Simplified Manual of Style', href: '#' }, + { label: 'How to write a good article', href: '#' }, + { label: 'How to create a new article', href: '#' }, +] + +export const MENTOR = { + name: 'Samwalton9', + editCount: 12596, + lastActiveDaysAgo: 451, + note: 'Welcome to Wikipedia! Let me know if you have any questions', + learnMoreHref: '#', + conversationsHref: '#', +} as const + +export const IMPACT = { + viewCount: '10.8K', + sparklineData: [ + 420, 390, 410, 430, 400, 380, 415, 440, 425, 405, 390, 420, 435, 410, 395, 430, 450, 420, 400, + 415, 440, 425, 410, 395, 380, 400, 420, 410, 390, 405, 430, 415, 395, 380, 400, 420, 440, 410, + 390, 380, 350, 360, + ], + lastEdited: '5 months ago', + longestStreak: '1 day', +} as const + +export const IMPACT_DESKTOP: { + totalEdits: number + thanksReceived: number + lastEdited: string + longestStreak: string + viewCount: string + sparklineData: number[] + recentActivityData: number[] + activityStartDate: string + activityEndDate: string + mostViewed: MostViewedArticle[] + viewAllEditsHref: string +} = { + totalEdits: 52, + thanksReceived: 0, + lastEdited: '5 months ago', + longestStreak: '1 day', + viewCount: '10,754', + sparklineData: [ + 420, 390, 410, 430, 400, 380, 415, 440, 425, 405, 390, 420, 435, 410, 395, 430, 450, 420, 400, + 415, 440, 425, 410, 395, 380, 400, 420, 410, 390, 405, 430, 415, 395, 380, 400, 420, 440, 410, + 390, 380, 350, 360, + ], + recentActivityData: [ + 0, 0, 2, 0, 1, 0, 0, 3, 0, 0, 1, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, + 0, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + ], + activityStartDate: 'Mar 17', + activityEndDate: 'May 15', + mostViewed: [ + { + title: 'Bora Bora', + views: 4821, + sparklineData: [300, 320, 280, 350, 310, 290, 340, 360, 330, 300], + href: '#', + }, + { + title: 'Wikipedia', + views: 3104, + sparklineData: [200, 210, 195, 220, 205, 215, 200, 210, 205, 195], + href: '#', + }, + { + title: 'Atlantic Ocean', + views: 2187, + sparklineData: [150, 160, 145, 170, 155, 140, 160, 155, 145, 150], + href: '#', + }, + ], + viewAllEditsHref: '#', +} + +export const STRUCTURED_TASKS = { + currentIndex: 1, + totalCount: 173745, + articleTitle: 'Full circle ringing', + articleDescription: 'Method of hanging (church) bells and …', + /** Action API `pageimages` + `pithumbsize=96` for [[Full circle ringing]] */ + thumbnailSrc: + 'https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/St_Botolph%27s_Bell_Ringing.webm/120px--St_Botolph%27s_Bell_Ringing.webm.jpg', + taskTypeLabel: 'Find references', +} as const diff --git a/src/prototypes/dashpage/help/index.vue b/src/prototypes/dashpage/help/index.vue new file mode 100644 index 0000000..17cba55 --- /dev/null +++ b/src/prototypes/dashpage/help/index.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/prototypes/dashpage/impact/index.vue b/src/prototypes/dashpage/impact/index.vue new file mode 100644 index 0000000..774aa24 --- /dev/null +++ b/src/prototypes/dashpage/impact/index.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/prototypes/dashpage/index.vue b/src/prototypes/dashpage/index.vue new file mode 100644 index 0000000..9e22e74 --- /dev/null +++ b/src/prototypes/dashpage/index.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/prototypes/dashpage/mentor/index.vue b/src/prototypes/dashpage/mentor/index.vue new file mode 100644 index 0000000..d6b5d05 --- /dev/null +++ b/src/prototypes/dashpage/mentor/index.vue @@ -0,0 +1,55 @@ + + + + + From ddd34b5b8d9f974b144f39525ee27ea83afbedc6 Mon Sep 17 00:00:00 2001 From: Lu Wilson Date: Thu, 21 May 2026 12:03:05 +0100 Subject: [PATCH 02/21] clean up --- .../references/dashboard.md | 4 +- .../skills/protowiki-getting-started/SKILL.md | 2 +- src/prototypes/dashpage/HelpModule.vue | 148 ---- src/prototypes/dashpage/ImpactModule.vue | 699 ------------------ src/prototypes/dashpage/MentorModule.vue | 249 ------- .../dashpage/MobileSubpageHeader.vue | 105 --- .../dashpage/StructuredTasksModule.vue | 164 ---- src/prototypes/dashpage/dashpage-fixtures.ts | 114 --- src/prototypes/dashpage/help/index.vue | 37 - src/prototypes/dashpage/impact/index.vue | 42 -- src/prototypes/dashpage/index.vue | 131 ---- src/prototypes/dashpage/mentor/index.vue | 55 -- .../template-homepage/dashpage-fixtures.ts | 2 +- .../template-homepage/help/index.vue | 4 +- .../template-homepage/impact/index.vue | 4 +- src/prototypes/template-homepage/index.vue | 4 +- .../template-homepage/mentor/index.vue | 4 +- 17 files changed, 12 insertions(+), 1756 deletions(-) delete mode 100644 src/prototypes/dashpage/HelpModule.vue delete mode 100644 src/prototypes/dashpage/ImpactModule.vue delete mode 100644 src/prototypes/dashpage/MentorModule.vue delete mode 100644 src/prototypes/dashpage/MobileSubpageHeader.vue delete mode 100644 src/prototypes/dashpage/StructuredTasksModule.vue delete mode 100644 src/prototypes/dashpage/dashpage-fixtures.ts delete mode 100644 src/prototypes/dashpage/help/index.vue delete mode 100644 src/prototypes/dashpage/impact/index.vue delete mode 100644 src/prototypes/dashpage/index.vue delete mode 100644 src/prototypes/dashpage/mentor/index.vue diff --git a/.agents/skills/protowiki-components/references/dashboard.md b/.agents/skills/protowiki-components/references/dashboard.md index 469a3f9..d49c300 100644 --- a/.agents/skills/protowiki-components/references/dashboard.md +++ b/.agents/skills/protowiki-components/references/dashboard.md @@ -14,7 +14,7 @@ Reference prototypes: Do not confuse: - **`SpecialPageWrapper` `help`** — desktop title-row **Help** link (Codex docs URL) -- **`dashpage/HelpModule.vue`** — prototype-local **"Get help with editing"** sidebar/mobile card (wraps **`DashboardModule`**) +- **`template-homepage/HelpModule.vue`** — prototype-local **"Get help with editing"** sidebar/mobile card (wraps **`DashboardModule`**) ## `Dashboard` @@ -35,7 +35,7 @@ With **`data-skin="desktop"`**, the two-column grid (`primary` ~66% + `sidebar` Utility classes from the component stylesheet: - **`dashboard-slot`** — min-height baseline on module roots -- **`dashboard-slot--desktop-primary`**, **`dashboard-slot--mobile-primary`**, etc. — prototype hooks for per-slot sizing (see **`template-dashboard`** / **`dashpage`**) +- **`dashboard-slot--desktop-primary`**, **`dashboard-slot--mobile-primary`**, etc. — prototype hooks for per-slot sizing (see **`template-dashboard`** / **`template-homepage`**) ### Props diff --git a/.agents/skills/protowiki-getting-started/SKILL.md b/.agents/skills/protowiki-getting-started/SKILL.md index bdac5a7..ff9256b 100644 --- a/.agents/skills/protowiki-getting-started/SKILL.md +++ b/.agents/skills/protowiki-getting-started/SKILL.md @@ -51,7 +51,7 @@ protowiki/ │ │ ├── index.vue ← home / gallery (auto-lists prototypes) │ │ ├── template-chrome/index.vue │ │ ├── template-dashboard/index.vue -│ │ └── dashpage/index.vue +│ │ └── template-homepage/index.vue │ ├── components/ ← shipped components (wrappers, primitives, article, dashboard) │ ├── composables/ ← useSkin / useTheme (read-only hooks) │ ├── lib/ ← theming logic, helpers diff --git a/src/prototypes/dashpage/HelpModule.vue b/src/prototypes/dashpage/HelpModule.vue deleted file mode 100644 index fc7864b..0000000 --- a/src/prototypes/dashpage/HelpModule.vue +++ /dev/null @@ -1,148 +0,0 @@ - - - - - diff --git a/src/prototypes/dashpage/ImpactModule.vue b/src/prototypes/dashpage/ImpactModule.vue deleted file mode 100644 index 9c860f8..0000000 --- a/src/prototypes/dashpage/ImpactModule.vue +++ /dev/null @@ -1,699 +0,0 @@ - - - - - diff --git a/src/prototypes/dashpage/MentorModule.vue b/src/prototypes/dashpage/MentorModule.vue deleted file mode 100644 index 5f25310..0000000 --- a/src/prototypes/dashpage/MentorModule.vue +++ /dev/null @@ -1,249 +0,0 @@ - - - - - diff --git a/src/prototypes/dashpage/MobileSubpageHeader.vue b/src/prototypes/dashpage/MobileSubpageHeader.vue deleted file mode 100644 index 17f83d4..0000000 --- a/src/prototypes/dashpage/MobileSubpageHeader.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - diff --git a/src/prototypes/dashpage/StructuredTasksModule.vue b/src/prototypes/dashpage/StructuredTasksModule.vue deleted file mode 100644 index 8ba97a5..0000000 --- a/src/prototypes/dashpage/StructuredTasksModule.vue +++ /dev/null @@ -1,164 +0,0 @@ - - - - - diff --git a/src/prototypes/dashpage/dashpage-fixtures.ts b/src/prototypes/dashpage/dashpage-fixtures.ts deleted file mode 100644 index f10390f..0000000 --- a/src/prototypes/dashpage/dashpage-fixtures.ts +++ /dev/null @@ -1,114 +0,0 @@ -import type { MostViewedArticle } from './ImpactModule.vue' - -/** App gallery home — placeholder target for other mobile link cards. */ -export const APP_HOME = '/' - -/** Dashpage prototype route. */ -export const HOMEPAGE = '/dashpage' - -/** Full-page mobile drill-down for the Your impact module. */ -export const IMPACT_PAGE = '/dashpage/impact' - -/** Full-page mobile drill-down for the Get help with editing module. */ -export const HELP_PAGE = '/dashpage/help' - -/** Full-page mobile drill-down for the Your mentor module. */ -export const MENTOR_PAGE = '/dashpage/mentor' - -/** Mobile link-card preview copy (title is also the full-page header). */ -export const HELP_MODULE = { - title: 'Get help with editing', - summary: 'Ask the help desk or read help pages.', -} as const - -export const HELP_LINKS = [ - { label: 'How to edit a page', href: '#' }, - { label: 'How to add an image', href: '#' }, - { label: 'How to edit a citation', href: '#' }, - { label: 'Simplified Manual of Style', href: '#' }, - { label: 'How to write a good article', href: '#' }, - { label: 'How to create a new article', href: '#' }, -] - -export const MENTOR = { - name: 'Samwalton9', - editCount: 12596, - lastActiveDaysAgo: 451, - note: 'Welcome to Wikipedia! Let me know if you have any questions', - learnMoreHref: '#', - conversationsHref: '#', -} as const - -export const IMPACT = { - viewCount: '10.8K', - sparklineData: [ - 420, 390, 410, 430, 400, 380, 415, 440, 425, 405, 390, 420, 435, 410, 395, 430, 450, 420, 400, - 415, 440, 425, 410, 395, 380, 400, 420, 410, 390, 405, 430, 415, 395, 380, 400, 420, 440, 410, - 390, 380, 350, 360, - ], - lastEdited: '5 months ago', - longestStreak: '1 day', -} as const - -export const IMPACT_DESKTOP: { - totalEdits: number - thanksReceived: number - lastEdited: string - longestStreak: string - viewCount: string - sparklineData: number[] - recentActivityData: number[] - activityStartDate: string - activityEndDate: string - mostViewed: MostViewedArticle[] - viewAllEditsHref: string -} = { - totalEdits: 52, - thanksReceived: 0, - lastEdited: '5 months ago', - longestStreak: '1 day', - viewCount: '10,754', - sparklineData: [ - 420, 390, 410, 430, 400, 380, 415, 440, 425, 405, 390, 420, 435, 410, 395, 430, 450, 420, 400, - 415, 440, 425, 410, 395, 380, 400, 420, 410, 390, 405, 430, 415, 395, 380, 400, 420, 440, 410, - 390, 380, 350, 360, - ], - recentActivityData: [ - 0, 0, 2, 0, 1, 0, 0, 3, 0, 0, 1, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, - 0, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - ], - activityStartDate: 'Mar 17', - activityEndDate: 'May 15', - mostViewed: [ - { - title: 'Bora Bora', - views: 4821, - sparklineData: [300, 320, 280, 350, 310, 290, 340, 360, 330, 300], - href: '#', - }, - { - title: 'Wikipedia', - views: 3104, - sparklineData: [200, 210, 195, 220, 205, 215, 200, 210, 205, 195], - href: '#', - }, - { - title: 'Atlantic Ocean', - views: 2187, - sparklineData: [150, 160, 145, 170, 155, 140, 160, 155, 145, 150], - href: '#', - }, - ], - viewAllEditsHref: '#', -} - -export const STRUCTURED_TASKS = { - currentIndex: 1, - totalCount: 173745, - articleTitle: 'Full circle ringing', - articleDescription: 'Method of hanging (church) bells and …', - /** Action API `pageimages` + `pithumbsize=96` for [[Full circle ringing]] */ - thumbnailSrc: - 'https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/St_Botolph%27s_Bell_Ringing.webm/120px--St_Botolph%27s_Bell_Ringing.webm.jpg', - taskTypeLabel: 'Find references', -} as const diff --git a/src/prototypes/dashpage/help/index.vue b/src/prototypes/dashpage/help/index.vue deleted file mode 100644 index 17cba55..0000000 --- a/src/prototypes/dashpage/help/index.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - - - diff --git a/src/prototypes/dashpage/impact/index.vue b/src/prototypes/dashpage/impact/index.vue deleted file mode 100644 index 774aa24..0000000 --- a/src/prototypes/dashpage/impact/index.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - - - diff --git a/src/prototypes/dashpage/index.vue b/src/prototypes/dashpage/index.vue deleted file mode 100644 index 9e22e74..0000000 --- a/src/prototypes/dashpage/index.vue +++ /dev/null @@ -1,131 +0,0 @@ - - - - - diff --git a/src/prototypes/dashpage/mentor/index.vue b/src/prototypes/dashpage/mentor/index.vue deleted file mode 100644 index d6b5d05..0000000 --- a/src/prototypes/dashpage/mentor/index.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - - - diff --git a/src/prototypes/template-homepage/dashpage-fixtures.ts b/src/prototypes/template-homepage/dashpage-fixtures.ts index d539e51..49b2482 100644 --- a/src/prototypes/template-homepage/dashpage-fixtures.ts +++ b/src/prototypes/template-homepage/dashpage-fixtures.ts @@ -3,7 +3,7 @@ import type { MostViewedArticle } from './ImpactModule.vue' /** App gallery home — placeholder target for other mobile link cards. */ export const APP_HOME = '/' -/** Newcomer homepage prototype route. */ +/** Dashpage prototype route (template-homepage). */ export const HOMEPAGE = '/template-homepage' /** Full-page mobile drill-down for the Your impact module. */ diff --git a/src/prototypes/template-homepage/help/index.vue b/src/prototypes/template-homepage/help/index.vue index ec9fb3b..fb55d01 100644 --- a/src/prototypes/template-homepage/help/index.vue +++ b/src/prototypes/template-homepage/help/index.vue @@ -7,7 +7,7 @@ import { HELP_LINKS, HELP_MODULE, HOMEPAGE } from '../dashpage-fixtures' definePage({ meta: { - title: 'Template: Homepage — Help', + title: 'Dashpage — Help', description: 'Full-page mobile drill-down for the Get help with editing homepage module.', }, }) @@ -19,7 +19,7 @@ definePage({ diff --git a/src/prototypes/template-homepage/impact/index.vue b/src/prototypes/template-homepage/impact/index.vue index b0a5738..b64c121 100644 --- a/src/prototypes/template-homepage/impact/index.vue +++ b/src/prototypes/template-homepage/impact/index.vue @@ -16,7 +16,7 @@ const impactProps = computed(() => definePage({ meta: { - title: 'Template: Homepage — Impact', + title: 'Dashpage — Impact', description: 'Full-page mobile drill-down for the Your impact homepage module.', }, }) @@ -25,7 +25,7 @@ definePage({