sparkletown / sparkle

Building an open, community-owned hyperverse town
GNU Affero General Public License v3.0
33 stars 30 forks source link

PosterPreview should have more actionable choices besides just loading the PosterPage venue #1462

Open yarikoptic opened 3 years ago

yarikoptic commented 3 years ago

It is highly desired (if not desperately needed) to be able to quickly get a better idea about any particular poster displayed in a poster hall. It is needed for a number of reasons, e.g. user might want to quickly get more information about the poster/research without going to a room since that takes time and "cancels" search result (see #1447).

I think a nice approach would be to overlay clickable icons which would perform extra actions:

0xdevalias commented 3 years ago

📄 - bring up an overlayed pane (scrollable) with rendering of the abstract (ideally in markdown -- #1383 ) . Would have some x to close or just allow to close outside to close, or escape button press (relevant: #1416)

@yarikoptic Is the abstract something we already have stored in firestore, or do you mean pulling it out of the poster PDF itself? If pulling it from the PDF, that's almost certainly going to be OOS.

If the data is already in firestore (I assume it would be part of PosterPageVenue if it is?), then it would be possible to implement some form of Modal (see our existing patterns for these) or similar to display it from PosterPreview without needing to navigate into the venue, as PosterPreview already has the full PosterPageVenue available to it in it's props.


⬇️ - download PDF of the poster

@yarikoptic Since PosterPreview already has the full PosterPageVenue (posterVenue) passed in it's props. PosterPage uses the venue config's iframeUrl to embed the PDF in an iframe.

Therefore, you could likely fairly easily add a download button in PosterPreview using posterVenue.iframeUrl, using externalUrlAdditionalProps or getExtraLinkProps from utils/url to ensure it opens in a new window/tab/etc. Then apply those to an <a href element and use FontAwesomeIcon with a relevant download icon from one of our fontawesome icon libs.

That would be a fairly quick/localised way to solve this core need.


"share" icon -- social media share - #1396

@yarikoptic Presumably you would want the user to have actually gone into the poster and checked it out before deciding to share it on social media?

If not, ShareModal needs the PosterPageVenue, which PosterPreview already has access to from it's props. So you could technically add that there.


🔖 -- #1375 is establishing the precedent/framework for this

@yarikoptic Not sure I understand what you mean by this? Can you explain/expand more please.


I expect @sparkletown/product and/or @mike-lvov may have some thoughts around this one way or another.

yarikoptic commented 3 years ago

@yarikoptic Is the abstract something we already have stored in firestore, or do you mean pulling it out of the poster PDF itself?

assuming that we store (if not yet) in firestore. From PDF would indeed be "too much" and OOS

"share" icon -- social media share - #1396

@yarikoptic Presumably you would want the user to have actually gone into the poster and checked it out before deciding to share it on social media?

on 2nd thought I agree -- will cross it out

bookmark -- #1375 is establishing the precedent/framework for this

@yarikoptic Not sure I understand what you mean by this?

not much really: pretty much just for location/styling I guess -- it adds an actionable bookmark icon overlay. Any additional could go nearby https://github.com/sparkletown/sparkle/pull/1375/files#diff-f8bf8ec74ab239dd4660740696159b19748f7ac861edff5fba3eb396747ebdcfR114