Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
78321a3
fixed some issues
timea-solid Oct 14, 2025
84aacd9
merge newFace branch
timea-solid Nov 19, 2025
482e492
fixed lint
timea-solid Nov 20, 2025
95f124d
remove double builds on each push
timea-solid Nov 20, 2025
720805c
rename webpack config
timea-solid Nov 20, 2025
db20c08
remove double builds on each push now for real
timea-solid Nov 20, 2025
6801cbc
always use profile-pane new style branch
timea-solid Nov 20, 2025
0dc5117
change publishing and script to be able to install a branch
timea-solid Nov 20, 2025
61f78be
make sure timestamp is executable
timea-solid Nov 20, 2025
6f4fb47
more on the timestamp permissions
timea-solid Nov 20, 2025
ba2f46d
fix timestamp script
timea-solid Nov 20, 2025
3c70a94
try to debug script
timea-solid Nov 20, 2025
181bd4f
try debug eslint
timea-solid Nov 20, 2025
29b7510
eslint call with full path for CI
timea-solid Nov 20, 2025
04ca5f5
eslint version
timea-solid Nov 20, 2025
e528f0c
eslint version
timea-solid Nov 20, 2025
6f0f376
eslint issue in CI
timea-solid Nov 20, 2025
26cf55e
corrected timestamp generation file
timea-solid Nov 22, 2025
97a8161
remove debug
timea-solid Nov 22, 2025
ff2b57b
updated profile pane version
timea-solid Nov 22, 2025
737173a
removed prepare build step, updated profile-pane dep
timea-solid Nov 24, 2025
30272df
updated dep and profile pane
timea-solid Dec 8, 2025
19a7a3f
integrated new profile-pane
timea-solid Dec 9, 2025
b5ba59b
merge main
timea-solid Dec 9, 2025
7a2e518
new profile-pane
timea-solid Jan 12, 2026
3bbcf9c
merge main
timea-solid Jan 12, 2026
c616394
successfully added new profile-pane
timea-solid Jan 16, 2026
dcfd9c5
merge main
timea-solid Jan 16, 2026
9704930
lint fix
timea-solid Jan 16, 2026
862a0f4
updated dep
timea-solid Jan 16, 2026
203afc2
updated dep
timea-solid Jan 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion babel.config.mjs
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
export default {
sourceType: 'unambiguous',
presets: [
['@babel/preset-env', {
targets: {
browsers: ['> 1%', 'last 3 versions', 'not dead']
}
}],
'@babel/preset-typescript'
'@babel/preset-typescript',
],
plugins: [
[
Expand Down
21 changes: 11 additions & 10 deletions dev/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,24 @@
if (typeof UI !== 'undefined') window.UI = UI;
</script>
<style>
body {
margin: 10%;
}
input {
background-color: #eef;
padding: 0.5em;
border: 0.5em solid white;
font-size: 120%;
}
body {
margin: 0;
font-family: sans-serif;
}
h1 {
padding: 0.5rem;
margin: 0;
color: #666;
}

</style>
</head>
<body>
<h1>Solid Pane Tester</h1>
<div id="loginBanner"></div>
<p>
A handy tool for pane developers. Put your JS or TS file in dev/pane/.
Run <tt>renderPane('https://solidos.solidcommunity.net/profile/card#me')</tt> from the console.
Run <tt>renderPane('https://testingsolidos.solidcommunity.net/profile/card#me')</tt> from the console.
Don't forget that the resource owner needs to add http://localhost:9000 as a trusted app.
</p>
<div id="render">HTML element from pane.render will be inserted here ...</div>
Expand Down
75 changes: 45 additions & 30 deletions dev/loader.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@

import * as paneRegistry from 'pane-registry'
import * as $rdf from 'rdflib'
import { solidLogicSingleton, store, authSession } from 'solid-logic'
import { getOutliner } from '../src'
import Pane from 'profile-pane'

// FIXME:
window.$rdf = $rdf
// Add custom properties to the Window interface for TypeScript
declare global {
interface Window {
logout: () => void;
login: () => Promise<void>;
renderPane: typeof renderPane;
Pane: typeof Pane;
}
}

async function renderPane (uri: string) {
if (!uri) {
Expand All @@ -28,30 +36,29 @@ async function renderPane (uri: string) {
logic: solidLogicSingleton
}
}
const options = {}
console.log(subject, Pane)

console.log(subject, context)
const icon = createIconElement(Pane)
const paneDiv = Pane.render(subject, context, options)
const paneDiv = Pane.render(subject, context)

const target = document.getElementById('render')
target.innerHTML = ''
target.appendChild(icon)
target.appendChild(paneDiv)
if (target) {
target.innerHTML = ''
target.appendChild(icon)
target.appendChild(paneDiv)
} else {
console.error("Element with id 'render' not found.")
}
}

function createIconElement (Pane) {
function createIconElement (Pane: { icon: string }) {
const icon = Pane.icon
const img = document.createElement('img')
img.src = icon
img.width = 40
return img
}

document.addEventListener('DOMContentLoaded', () => {
renderPane(
'https://solidos.solidcommunity.net/Team/SolidOs%20team%20chat/index.ttl#this'
)
})

window.onload = async () => {
console.log('document ready')
// registerPanes((cjsOrEsModule: any) => paneRegistry.register(cjsOrEsModule.default || cjsOrEsModule))
Expand All @@ -62,30 +69,38 @@ window.onload = async () => {
const session = await authSession
if (!session.info.isLoggedIn) {
console.log('The user is not logged in')
document.getElementById('loginBanner').innerHTML =
'<button onclick="login()">Log in</button>'
} else {
console.log(`Logged in as ${session.info.webId}`)

document.getElementById(
'loginBanner'
).innerHTML = `Logged in as ${session.info.webId} <button onclick="logout()">Log out</button>`
const loginBanner = document.getElementById('loginBanner');
if (loginBanner) {
loginBanner.innerHTML = '<button onclick="login()">Log in</button>';
}
} else {
console.log(`Logged in as ${session.info.webId}`)

const loginBanner = document.getElementById('loginBanner');
if (loginBanner) {
loginBanner.innerHTML = `Logged in as ${session.info.webId} <button onclick="logout()">Log out</button>`;
}
}
renderPane()
renderPane('https://testingsolidos.solidcommunity.net/profile/card#me')
}
window.logout = () => {
authSession.logout()
window.location = ''
window.location.href = ''
}
window.login = async function () {
const session = await authSession
if (!session.info.isLoggedIn) {
const issuer = prompt('Please enter an issuer URI', 'https://solidcommunity.net')
await authSession.login({
oidcIssuer: issuer,
redirectUrl: window.location.href,
clientName: 'Solid Panes Dev Loader'
})
if (issuer) {
await authSession.login({
oidcIssuer: issuer,
redirectUrl: window.location.href,
clientName: 'Solid Panes Dev Loader'
})
} else {
console.warn('Login cancelled: No issuer provided.')
}
}
};
(window as any).renderPane = renderPane
console.log("Pane at runtime:", Pane); window.Pane = Pane;
4 changes: 4 additions & 0 deletions dev/test-style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
body {
background: #ffdddd !important;
color: #fff !important;
}
19 changes: 15 additions & 4 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ export default [
{
ignores: [
'dist/**',
'dist-dev/**',
'lib/**',
'docs/**',
'node_modules/**',
'dev/**',
'dev-dist/**',
'coverage/**',
],
},
Expand Down Expand Up @@ -84,10 +84,21 @@ export default [
{
files: ['test/**/**/*.js', 'test/**/*.js'],
rules: {
// Code style - match TypeScript settings
semi: ['error', 'never'],
quotes: ['error', 'single'],
'no-console': 'off', // Allow console in tests
'no-undef': 'off', // Tests may define globals
}

// Strict checking - match TypeScript strictness
'no-console': 'warn',
'no-unused-vars': 'warn', // Match TypeScript noUnusedLocals: true
'no-undef': 'error',
strict: ['error', 'global'], // Match TypeScript alwaysStrict: true

// Additional strictness to match TypeScript behavior
'no-implicit-globals': 'error',
'prefer-const': 'error', // Encourage immutability
'no-var': 'error', // Use let/const only
'no-redeclare': 'error'
},
}
]
Loading
Loading