Skip to content

Milestone3m [WiP]#598

Merged
bourgeoa merged 118 commits intomainfrom
milestone3m
Apr 24, 2026
Merged

Milestone3m [WiP]#598
bourgeoa merged 118 commits intomainfrom
milestone3m

Conversation

@bourgeoa
Copy link
Copy Markdown
Contributor

@bourgeoa bourgeoa commented Apr 6, 2026

This work is to:

wire web components from solid-ui
such as: header
we also deactivated editProfile buttons -> since that work is folded into profile-pane

The goal is the Solid Symposium

@bourgeoa bourgeoa self-assigned this Apr 6, 2026
@bourgeoa bourgeoa moved this to In progress in SolidOS NLNet UI Apr 6, 2026
@bourgeoa bourgeoa changed the title register editProfileView only if it exists milestone3m Apr 10, 2026
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread src/mainPage/header.ts Outdated
Comment thread src/outline/manager.js Outdated
Comment thread src/outline/manager.js Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the SolidOS “solid-panes” shell for the Solid Symposium by wiring in Solid UI web components (header/footer), adding a new left-side navigation menu, and migrating the legacy Social pane to a new implementation with updated styling and asset handling.

Changes:

  • Add a new main-page shell (header/menu/footer) and update the outline manager to support the new layout containers (MainContent, OutlineView, GlobalDashboard) and a render environment (mobile/desktop).
  • Replace the legacy src/socialPane.js with a new TypeScript-based Social pane (src/social/*) including new UI sections, icons, and CSS.
  • Update build/test plumbing for assets (?raw SVGs, images) plus developer tooling (watch scripts, dev loader).

Reviewed changes

Copilot reviewed 47 out of 63 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
webpack.dev.config.mjs Dev webpack rules updated to include src/ + dev/, and add asset handling for images / raw SVG.
webpack.config.mjs Prod webpack adds raw SVG (?raw) and image asset/resource rules.
typings/declarations.d.ts Adds TS module declarations for svg/svg?raw/raw queries and png.
tsconfig.json Switches TS module resolution to bundler.
tsconfig.dev.json Adds dev-specific TS path mappings and symlink handling.
test/unit/meeting/Schedule/index.html Updates test HTML shell structure to new MainContent layout.
test/helpers/globals.js Adds Jest globals/polyfills and required globals for solid-ui/solid-logic UMD expectations.
test/mocks/fileMock.js Adds generic file stub mock for Jest.
src/tabbed/tabbedPane.ts Adds TS ignore for store typing access.
src/style/tabbedtab.css Removes legacy Social pane CSS block from shared stylesheet.
src/socialPane.js Removes legacy Social pane implementation.
src/social/socialSections.ts New Social pane UI section builders (header, mutual, all-friends).
src/social/socialPane.ts New Social pane implementation (tabs, friend streaming, viewer mode logic).
src/social/socialPane.css New Social pane styling.
src/social/icons.ts Adds inline SVG icon constants for the Social pane.
src/social/editProfileDetails.ts Adds “Edit profile links” dialog for FOAF homepage/weblog/workplace/school links.
src/slideshow/slideshowPane.js Makes slideshow image sizing responsive via style.width.
src/registerPanes.js Registers new Social pane path and adjusts editProfile/dashboard registration behavior.
src/profileUtils/ownerProfile.ts New helper utilities to load profile data and derive owner name.
src/playlist/playlistPane.js Improves responsive sizing for embedded video/IMG preview.
src/pad/padPane.ts Switches pad layout from table to div-based responsive flex layout; imports CSS.
src/pad/padPane.css Adds responsive CSS for new pad layout containers.
src/outline/userInput.js Updates contextmenu disable binding to OutlineView container (new shell).
src/outline/manager.js Adds layout detection, dashboard rendering changes, new container creation logic, and new dashboard items/icons.
src/outline/manager.css Updates spacing variables and background styling to match new design tokens.
src/outline/context.ts Extends context creation to accept RenderEnvironment.
src/n3Pane.js Adds horizontal overflow handling for PRE blocks.
src/mainPage/menu.ts New left-side navigation menu (mobile + collapsible desktop) wired to dashboard items.
src/mainPage/menu.css Styling for the left-side menu and its mobile/desktop behaviors.
src/mainPage/index.ts Creates MainContent root, initializes header/menu/footer, adds refreshUI.
src/mainPage/header.ts Migrates to solid-ui-header web component, adds environment-driven layout/theme binding.
src/mainPage/footer.ts Migrates to solid-ui-footer web component and nests it inside the left menu.
src/internal/internalPane.ts Adds TS ignore for store typing access.
src/index.ts Adds environment plumbing to outliner creation and exports refreshUI/updateEnvironment.
src/icons/star.svg Adds new SVG asset.
src/icons/signup.png Adds signup icon image asset.
src/icons/signOut.svg Adds new SVG asset.
src/icons/sharing.svg Adds new SVG asset.
src/icons/personInCircle.svg Adds new SVG asset.
src/icons/person.svg Adds new SVG asset.
src/icons/menu.svg Adds new SVG asset.
src/icons/iconHelper.ts Adds helper for converting SVG strings/data URLs into data-URL icons.
src/icons/help.svg Adds new SVG asset.
src/icons/friends.svg Adds new SVG asset.
src/icons/folder.svg Adds new SVG asset.
src/icons/dashboard.svg Adds new SVG asset.
src/icons/comment.svg Adds new SVG asset.
src/icons/clock.svg Adds new SVG asset.
src/humanReadablePane.js Makes iframe/doc rendering responsive (100% width).
src/home/homePane.ts Adds audience metadata and refines typing; adds TS ignore for create.newThingUI.
src/form/pane.js Replaces float-right with flex-friendly alignment.
src/dashboard/homepage.ts Switches to shared profile loading/name helpers and tweaks title copy.
src/dashboard/dashboardPane.ts Makes subject nullable and adds safer fallback logic.
src/dashboard/basicPreferences.ts Adds TS ignore for store typing access.
src/RDFXMLPane.js Adds horizontal overflow handling for PRE blocks.
package.json Adds watch scripts, concurrently, and override for pane-registry.
jest.config.mjs Adds setup globals and adds SVG mapper (but needs extension for ?raw/png).
dev/loader.ts Dev loader now initializes the new main page and supports layout switching.
dev/dev-mash.css Major dev shell/layout CSS changes for new header/menu structure and accessibility tweaks.
dev/dev-mash-utilities.css Adds/updates utility classes and accessibility helpers (skip-link needs fix).
dev/dev-light.css Adds new design tokens/colors/spacing variables.
README.md Documents generative AI usage and prompt history.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/social/editProfileDetails.ts Outdated
Comment on lines +243 to +274
const hint = dom.createElement('p')
hint.className = 'social-pane__dialog-hint'
hint.textContent = 'Enter one URL per line for each field.'
dialog.appendChild(hint)

const form = dom.createElement('form')
form.classList.add('social-pane__dialog-form', 'flex-column')
dialog.appendChild(form)

const errorMessage = dom.createElement('p')
errorMessage.className = 'social-pane__dialog-error'

const fields = new Map<ProfileLinkField['key'], HTMLInputElement>()
for (const field of profileLinkFields) {
const fieldWrapper = dom.createElement('label')
fieldWrapper.classList.add('social-pane__dialog-field', 'flex-column')

const fieldLabel = dom.createElement('span')
fieldLabel.className = 'social-pane__dialog-label'
fieldLabel.textContent = field.label
fieldWrapper.appendChild(fieldLabel)

const input = dom.createElement('input')
input.classList.add('social-pane__dialog-input', 'input')
input.type = 'url'
input.placeholder = field.placeholder
input.value = initialValues[field.key].split('\n')[0] || ''
fieldWrapper.appendChild(input)

fields.set(field.key, input)
form.appendChild(fieldWrapper)
}
Comment on lines +46 to +50
const dom = context.dom
const kb = context.session.store
const header = document.createElement('header') as SocialHeaderElement
header.className = 'social-pane__header'
let headerControls = controls
Comment thread src/profileUtils/ownerProfile.ts
Comment thread dev/dev-mash-utilities.css
Comment thread webpack.dev.config.mjs Outdated
Comment thread jest.config.mjs
Comment thread src/mainPage/menu.ts
Comment thread src/outline/manager.js Outdated
Copilot AI and others added 2 commits April 23, 2026 17:17
…o avoid passing undefined to loadProfileFromURI

Agent-Logs-Url: https://github.com/SolidOS/solid-panes/sessions/785bcab4-355f-4843-a1a3-1cf8b5c58ff2

Co-authored-by: timea-solid <4144203+timea-solid@users.noreply.github.com>
@bourgeoa bourgeoa merged commit 462cb78 into main Apr 24, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from In progress to Done in SolidOS NLNet UI Apr 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants