Skip to content

Commit fb004b7

Browse files
committed
Add strava,orcid, tumblr. QRcode tests work again
1 parent 10d793d commit fb004b7

File tree

8 files changed

+97
-89
lines changed

8 files changed

+97
-89
lines changed

package-lock.json

+28-30
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/CVCard.ts

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import { ProfilePresentation } from "./presenter";
1111
import { CVPresentation } from "./CVPresenter";
1212
import { styleMap } from "lit-html/directives/style-map.js";
1313
import { card } from "./baseStyles";
14-
import { icons } from "solid-ui";
1514

1615

1716
const styles = {

src/ProfileView.ts

+1-5
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import { html, TemplateResult } from "lit-html";
55
import { styleMap } from "lit-html/directives/style-map.js";
66
import { DataBrowserContext } from "pane-registry";
77
import { NamedNode, LiveStore } from "rdflib";
8-
import { authn } from "solid-logic";
9-
import { icons } from "solid-ui";
108
import { card, padding, paddingSmall, responsiveGrid } from "./baseStyles";
119
import { ChatWithMe } from "./ChatWithMe";
1210
import { FriendList } from "./FriendList";
@@ -21,8 +19,6 @@ import { StuffCard } from "./StuffCard";
2119
import { QRCodeCard } from "./QRCodeCard";
2220
import { addMeToYourFriendsDiv } from "./addMeToYourFriends";
2321

24-
const editButtonURI = icons.iconBase + 'noun_253504.svg'
25-
2622
// The edit button switches to the editor pane
2723
/*
2824
function renderEditButton (subject) {
@@ -71,7 +67,7 @@ export async function ProfileView (
7167
${StuffCard(profileBasics, context, subject, stuffData)}
7268
${FriendList(profileBasics, subject, context)}
7369
<div style="${styles.chat}">${ChatWithMe(subject, context)}</div>
74-
<div data-testid="qrcode-display" style="${styles.card}">
70+
<div data-testid="qrcode-display" class="qrcode-display" style="${styles.card}">
7571
${QRCodeCard(profileBasics, subject)}
7672
7773
</div>

src/StuffPresenter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@ export async function presentStuff(
3838
): Promise<StuffPresentation> {
3939

4040
const scopedItems = await getScopedAppInstances(null, subject)
41-
console.log('scopedItems', scopedItems)
41+
// console.log('scopedItems', scopedItems)
4242

4343
const stuff = scopedItems.map(item => { // work with old or new solid-logic
4444
const icon = getIconForClass((item as any).type || ns.rdf('Resource')) // eslint-disable-line
4545
const href = item.instance.uri
4646
const name = utils.label(item.instance)
4747
const instance = item.instance
48-
console.log(` href=${href} name=${name} icon=${icon}`)
48+
// console.log(` href=${href} name=${name} icon=${icon}`)
4949
return { href, name, icon, instance }
5050
})
5151

src/editProfilePane/wrapped-profileFormText.ts

+48-3
Original file line numberDiff line numberDiff line change
@@ -423,14 +423,17 @@ WHERE
423423
[ ui:for soc:GithubAccount; ui:use :GithubIdField ],
424424
[ ui:for soc:InstagramAccount; ui:use :InstagramIdField ],
425425
[ ui:for soc:LinkedInAccount; ui:use :LinkedInIdField ],
426-
[ ui:for soc:NostrAccount; ui:use :NostrIdField ],
427426
[ ui:for soc:MastodonAccount; ui:use :MastodonIdField ],
428427
[ ui:for soc:MatrixAccount; ui:use :MatrixIdField ],
429428
[ ui:for soc:MediumAccount; ui:use :MediumIdField ],
429+
[ ui:for soc:NostrAccount; ui:use :NostrIdField ],
430+
[ ui:for soc:OrcidAccount; ui:use :OrcidIdField ],
430431
[ ui:for soc:PinterestAccount; ui:use :PinterestIdField ],
431432
[ ui:for soc:RedditAccount; ui:use :RedditIdField ],
433+
[ ui:for soc:StravaAccount; ui:use :StravaIdField ],
432434
[ ui:for soc:SnapchatAccount; ui:use :SnapchatIdField ],
433435
[ ui:for soc:TiktokAccount; ui:use :TiktokIdField ],
436+
[ ui:for soc:TumblrAccount; ui:use :TumblrIdField ],
434437
[ ui:for soc:TwitterAccount; ui:use :TwitterIdField ],
435438
[ ui:for soc:OtherAccount; ui:use :OtherIdForm ] .
436439
@@ -506,6 +509,14 @@ WHERE
506509
ui:pattern "[a-z0-9A-Z_-]*(.[a-z0-9A-Z_-])*"; # @@
507510
ui:size 70 .
508511
512+
:OrcidIdField
513+
a ui:SingleLineTextField ;
514+
ui:label "ORCiD id";
515+
ui:maxLength "200" ;
516+
ui:property foaf:accountName ;
517+
ui:pattern "[a-z0-9A-Z_-]*"; # @@
518+
ui:size 40 .
519+
509520
:PinterestIdField
510521
a ui:SingleLineTextField ;
511522
ui:label "Pinterest id";
@@ -522,6 +533,14 @@ WHERE
522533
ui:pattern "[a-z0-9A-Z_-]*"; # @@
523534
ui:size 40 .
524535
536+
:StravaIdField
537+
a ui:SingleLineTextField ;
538+
ui:label "Strava Id";
539+
ui:maxLength "200" ;
540+
ui:property foaf:accountName ;
541+
ui:pattern "[a-z0-9A-Z_-]*"; # @@
542+
ui:size 40 .
543+
525544
:SnapchatIdField
526545
a ui:SingleLineTextField ;
527546
ui:label "Snapchat Id";
@@ -538,6 +557,14 @@ WHERE
538557
ui:pattern "@[a-z0-9A-Z_-]*"; # @@
539558
ui:size 40 .
540559
560+
:TumblIdField
561+
a ui:SingleLineTextField ;
562+
ui:label "Tumblr user name";
563+
ui:maxLength "200" ;
564+
ui:property foaf:accountName ;
565+
ui:pattern "@[a-z0-9A-Z_-]*"; # @@
566+
ui:size 40 .
567+
541568
:TwitterIdField
542569
a ui:SingleLineTextField ;
543570
ui:label "Twitter Id";
@@ -604,8 +631,8 @@ WHERE
604631
foaf:Account a rdfs:Class;
605632
rdfs:label "Online Account Provider";
606633
owl:disjointUnionOf ( :BlueSkyAccount :FacebookAccount :GithubAccount :InstagramAccount
607-
:LinkedInAccount :MastodonAccount :MatrixAccount :MediumAccount :NostrAccount :PinterestAccount
608-
:RedditAccount :SnapchatAccount :TiktokAccount :TwitterAccount :OtherAccount) .
634+
:LinkedInAccount :MastodonAccount :MatrixAccount :MediumAccount :NostrAccount :OrcidAccount :PinterestAccount
635+
:RedditAccount :SnapchatAccount :StravaAccount :TiktokAccount :TumblrAccount :TwitterAccount :OtherAccount) .
609636
610637
:BlueSkyAccount rdfs:subClassOf foaf:Account ;
611638
rdfs:label "Bluesky";
@@ -665,6 +692,12 @@ foaf:Account a rdfs:Class;
665692
foaf:icon <https://solidos.github.io/solid-ui/src/icons/social/nostr-icon-purple-on-white.svg>;
666693
foaf:homepage <https://nostr.net/> .
667694
695+
:OrcidAccount rdfs:subClassOf foaf:Account ;
696+
rdfs:label "ORCiD";
697+
foaf:userProfilePrefix "https://orcid.org/";
698+
foaf:icon <https://solidos.github.io/solid-ui/src/icons/social/ORCID-1.svg>;
699+
foaf:homepage <https://orcid.org/> .
700+
668701
:PinterestAccount rdfs:subClassOf foaf:Account ;
669702
rdfs:label "Pinterest";
670703
foaf:userProfilePrefix "https://pin.it/";
@@ -683,12 +716,24 @@ foaf:Account a rdfs:Class;
683716
foaf:icon <https://solidos.github.io/solid-ui/src/icons/social/snapchat-1.svg>;
684717
foaf:homepage <https://www.snapchat.com/> .
685718
719+
:StravaAccount rdfs:subClassOf foaf:Account ;
720+
rdfs:label "Strava";
721+
foaf:userProfilePrefix "https://www.strava.com/";
722+
foaf:icon <https://solidos.github.io/solid-ui/src/icons/social/strava-2.svg>;
723+
foaf:homepage <https://strava.com/> .
724+
686725
:TiktokAccount rdfs:subClassOf foaf:Account ;
687726
rdfs:label "TikTok";
688727
foaf:userProfilePrefix "https://www.tiktok.com/@";
689728
foaf:icon <https://solidos.github.io/solid-ui/src/icons/social/tiktok-icon-2.svg>;
690729
foaf:homepage <https://www.tiktok.com/> .
691730
731+
:TumblrAccount rdfs:subClassOf foaf:Account ;
732+
rdfs:label "Tumblr";
733+
foaf:userProfilePrefix "https://www.tumblr.com/";
734+
foaf:icon <https://solidos.github.io/solid-ui/src/icons/social/tumblr-icon.svg>;
735+
foaf:homepage <https://www.tumblr.com/> .
736+
692737
693738
:TwitterAccount rdfs:subClassOf foaf:Account ;
694739
rdfs:label "X (formerly Twitter)";

src/index.ts

-34
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { DataBrowserContext } from "pane-registry";
22
import { NamedNode, LiveStore } from "rdflib";
3-
import { authn } from "solid-logic";
43
import { render } from "lit-html";
54
import { ProfileView } from "./ProfileView";
65
import editProfileView from './editProfilePane/editProfile.view'
@@ -40,44 +39,11 @@ const Pane = {
4039
},
4140
editor: editProfileView,
4241
render: (subject: NamedNode, context: DataBrowserContext): HTMLElement => {
43-
44-
async function switchToEditor () {
45-
alert('switching to editor')
46-
target.innerHTML = '' // Clear
47-
const newPane = editProfileView.render(subject, context)
48-
const parent = target.parentNode
49-
parent.removeChild(target)
50-
parent.appendChild(newPane)
51-
}
52-
53-
5442
const target = context.dom.createElement("div");
5543
const store = context.session.store;
5644

5745
loadExtendedProfile(store, subject).then(async () => {
5846
render(await ProfileView(subject, context), target)
59-
/* Not currently used as personTR does itself
60-
const fillIns = Array.from(target.getElementsByClassName('fillInLater'))
61-
for (const ele of fillIns) {
62-
const href = ele.getAttribute('href')
63-
store.fetcher.load(href).then(()=> { // async
64-
const label = utils.label(store.sym(href))
65-
ele.children[1].textContent = label // Relabel
66-
console.log(' ele.children[0]', ele.children[1])
67-
console.log(` Relabelled ${href} to "${label}"`)
68-
})
69-
}
70-
*/
71-
/*
72-
const editButtons = Array.from(target.getElementsByClassName('ProfilePaneCVEditButton'))
73-
if (editButtons.length) {
74-
const editButton = editButtons[0]
75-
editButton.addEventListener('click', switchToEditor)
76-
} else {
77-
console.log('Profile pane: subject: ', subject, ', logged in as: ', authn.currentUser())
78-
// alert('No edit button')
79-
}
80-
*/
8147
const QRCodeEles = Array.from(target.getElementsByClassName('QRCode')) // was context.dom
8248
if (!QRCodeEles.length) return console.error("QRCode Ele missing")
8349
for (const QRCodeElement of QRCodeEles as HTMLElement[]) {

0 commit comments

Comments
 (0)