Skip to content

Design Pattern Library

Kanchan Joshi edited this page May 22, 2019 · 61 revisions

Looking for an easy way to get started and contribute to Archive.org? Help us document the existing UI components on Archive.org!

Goal

Archive.org has tons of discrete UI elements which are not yet components in this repo. This Design Pattern Library audits all the different types of visual UI components that exist on the live Archive.org website so that they may eventually be converted into isolated React components within this iaux repo.

Inspiration

Inspired by Wikimedia's style guide and Open Library's Design Pattern Library.

Notes

  1. This list is unstable and likely to change at any given time, while we refactor the frontend UI. If you want to help us document components, please jump in with your image uploads and documenting where these components are in use!
  2. We are not looking for design changes at the current moment of time and rather would like to focus on making components easier to create. For consistency, try not to design components on a per page basis!

How to Contribute

Want to help us document one of Archive.org's UI components for our Design Pattern Library?

Example

This is an example of a UI component on openlibrary.org (one of our other projects). Screen Shot 2019-03-25 at 10 27 28AMPDT

Adding a Component

The documentation for a UI component includes:

  • a name — in this case it’s called Decorated-Carousel (required)
  • a location (required) which is an example URL or page where the component may be found on the website
  • a short description (optional) of what the component is
  • a screenshot of the UI component (required)

Frequently Asked Questions

How do I choose a name?

If you look through the website’s css/html, you may see a class name which describes the component. This is probably the right name to include in the docs for the component, even if it’s not the best name — if you have a suggestion for a better name, please include both! It’s important to include the CSS name(s) (even if it’s not the best name) because this is what will help us find the component in our code.

How do I know what’s a component?

Generally, a component will be a visual element which occurs repeatedly on the website (like a special button, a dropdown menu, a box containing download options, etc)

How do I add a screenshot!?

This is actually kind of a hack, sorry! You can't drag screenshots directly into this document. Here's what I do:

  1. Open a new window to http://github.com/internetarchive/iaux/issues/new
  2. The Issues UI does allow you to drag a image into the comment section of the issue!
  3. When you drag and drop your screenshot into the issue, it should appear as something like ![Screen Shot 2019-03-25 at 10 50 00AMPDT](https://user-images.githubusercontent.com/978325/54942862-3aaad280-4eed-11e9-8f53-04e734db45ce.png)
  4. Copy this snippet and paste it into this Design Pattern Library in the appropriate section for the component you are documenting.

UI Components of Archive.org

searchResultCard--collection

classes: It's current css classes are item-ia and collection-ia

location: It can be found on https://archive.org homepage

Screen Shot 2019-03-25 at 10 50 00AMPDT

sort-bar

classes: Its current css class is sortbar

Used for: Sorting search results based on the selected parameter and changing search results display (either 'show as thumbnails' or 'show as lists')

location: https://archive.org/search.php?query=hello%20world

Screens greater than 991px Screen Shot 2019-03-25 at 11 26 08 PM

Screens less than equal to 991px
Screen Shot 2019-03-25 at 11 24 27 PM

searchResultCard--media

classes: Its current css classes are item-ia and hov

Used for: Displaying media results in search results. Includes the statbar, hidden-list--SIN(search by text contents or tv news captions) and author-text(search by metadata) components.

location: https://archive.org/search.php?query=hello%20world

Screen Shot 2019-03-25 at 11 37 10 PM

Screen Shot 2019-03-26 at 3 07 10 AM

statbar

classes: Its current css class is statbar

Used for: Displaying media, viewing, favourite and comment stats. Used in the searchResultCard--media component.

location: https://archive.org/search.php?query=hello%20world

Screen Shot 2019-03-26 at 2 48 03 AM

hidden-list--sin

classes: Its current css classes are hidden-lists and SIN

Used for: Displaying text (search by text contents)/words from transcript (search by TV news captions) with search keywords. Used in the searchResultCard--media component when searched by text contents or TV news captions.

location: https://archive.org/search.php?query=hello%20world&sin=TXT, https://archive.org/details/tv?q=hello%20world

Search by text contents
Screen Shot 2019-03-26 at 2 58 44 AM

Search by TV news captions
Screen Shot 2019-03-26 at 2 58 53 AM

author-text

classes: Its current css classes are by, C, C4.

Used for: Displaying author names. Used in the searchResultCard--media component (search by metadata).

location: https://archive.org/search.php?query=hello%20world

Screen Shot 2019-03-26 at 3 08 11 AM

hover-image

classes: Its current css classes are item-parent and hoverin.

Used for: Displaying the collection the card is part of when a user hovers over it. Used in the searchResultCard--media component.

location: https://archive.org/search.php?query=hello%20world

Screen Shot 2019-05-22 at 11 57 30 PM

searchResultCard--account

classes: Its current css classes are item-ia and account-ia

Used for: Displaying account results in search results

location: https://archive.org/details/@hello_world_hello

Screen Shot 2019-03-25 at 11 53 31 PM

result-counter

classes: Its current css class is co-top-row

Used for: Displaying count of search results. Used in the column-facet component.

location: https://archive.org/search.php?query=hello%20world

Screen Shot 2019-03-26 at 12 02 12 AM

time-graph

classes: Its current css class is time-graf

Used for: Graphing the number of results for each year. Used in the column-facet component when searched by TV news captions.

location: https://archive.org/search.php?query=hello%20world

Screen Shot 2019-03-26 at 1 35 20 AM

column-facet

classes: Its current css class is columns-facets

Used for: Displaying count of search results, a time graph (if searched by TV news captions) and filtering search results. Includes the result-counter and time-graph component (if searched by TV captions).

locations: https://archive.org/search.php?query=hello%20world, https://archive.org/search.php?query=hello%20world&sin=TXT, https://archive.org/details/tv?q=hello%20world

Search by metadata
Screen Shot 2019-03-26 at 12 02 00 AM

Search by text
Screen Shot 2019-03-26 at 1 20 56 AM

Search by TV news captions
Screen Shot 2019-03-26 at 1 29 17 AM

search-bar

classes: Its current css class is searchbar

Used for: Containing the search bar, go button and search options radio buttons(when searched by metadata or text-contents). Used in the search-container component.

locations: https://archive.org/search.php?query=hello%20world, https://archive.org/details/tv?q=hello%20world

Desktop

Screen Shot 2019-03-26 at 1 00 43 AM

Screen Shot 2019-03-26 at 1 08 58 AM

Mobile

Screenshot from 2019-03-28 01-35-38

search-actions

classes: Its current css class is search-actions

Used for: Giving a user the option to share, favourite or play all the results. Used in the search-container component.

location: https://archive.org/search.php?query=hello%20world

Screen Shot 2019-03-26 at 1 03 23 AM

search-container

classes: Its current css classes are container, container-ia, width-max and search-bar-section

Used for: Containing all search related items. Includes the search-bar and search-actions components.

location: https://archive.org/search.php?query=hello%20world

Screen Shot 2019-03-26 at 1 10 09 AM

boxy--stats-summary

classes: Its current css classes are boxy and item-stats-summary

Used for: Displaying the number of borrows and favourites till date

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 20 10 AM

boxy--download-item-options

classes: Its current css classes are boxy and item-download-options.

Used for: Displaying the different versions a media can be downloaded in.

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 22 55 AM

boxy--collection-list

classes: Its current css classes are boxy and collection-list.

Used for: Displaying the different collections in which the following media can be found in.

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 24 52 AM

boxy--item-upload-info

classes: Its current css classes are boxy and item-upload-info.

Used for: Displaying username of uploader and date on which the media was uploaded.

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 27 01 AM

reviews

classes: Its current css class is reviews.

Used for: Displaying the reviews of the media.

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 35 15 AM

also-found

classes: Its current css classes are container and container-ia width-max.

Used for: Suggesting similar media to a user, based on metadata.

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 41 00 AM

favourite-button

classes: Its current css classes are favorite-button and button.

Used for: Favouriting a media

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 47 44 AM

share-button

classes: Its current css class is button and id is share-button.

Used for: Getting social links to share the media

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 47 52 AM

flag-button

classes: Its current css class is button and id is flag-button.

Used for: Revealing a list of options for flagging a media

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 48 00 AM

flag-menu

classes: Its current css class is dropdown-menu and id is flag-popover.

Used for: Listing options for flagging a media.

location: https://archive.org/details/libraryunquiethi00batt

Screen Shot 2019-03-26 at 3 56 57 AM

forum-table

classes: Its current css classes are table, table-striped, table-condensed and table-hover

Used for: Displaying list of community forum posts

location: https://archive.org/details/opensource_movies&tab=forum

Desktop

Screenshot from 2019-03-26 01-35-28

Mobile

Screenshot from 2019-03-28 01-38-43

range-Maker

classes: Its current css class is range-maker

Used for: Sorting collection based on title name or creatorName with letters

location: https://archive.org/details/uoftpreservation?sort=titleSorter

location: https://archive.org/details/uoftpreservation?sort=creatorSorter

Ranger

shareModal

classes: It encompasses different elements each with their classes Description: It is container for different elements like <button> etc

Used for: sharing the various components types(collection and Items) with help of thirdparties

shareComponent

nav-bar

classes: Its current css classes are navbar, navbar-inverse and navbar-static-top

Used for: The top navigation bar of the website

location: https://archive.org/

Desktop

Screenshot from 2019-03-26 01-44-51

nav-about

classes: Its current css classes are nav-abouts

Used for: The about section of the navigation bar

location: https://archive.org/

Screenshot from 2019-03-26 01-52-52

nav-main

classes: Its current css classes are nav, navbar-nav and navbar-main

Used for: The main section of the top nav-bar

location: https://archive.org/

Desktop

Screenshot from 2019-03-26 01-58-21

Mobile

Screenshot from 2019-03-28 01-36-24

nav-tophat

classes: Its current css classe is in and id nav-tophat

Used for: The top section of navbar. This is visible on clicking any icon on navbar-main

location: https://archive.org/ Desktop

Screenshot from 2019-03-26 01-59-52

Mobile

Screenshot from 2019-03-28 01-54-47

welcome-container

classes: It comprises of the following CSS classes welcome, container, container-ia width-max and account-uniform

Description: Welcome container in details page

Location: https://archive.org/details/@mekarpeles

Desktop

Screenshot from 2019-03-26 03-15-17

Mobile

Screenshot from 2019-03-28 02-01-36

details-table

classes: It comprises of the following CSS classes ikind in and id ikind--publicdate

Description: Table on the details page

Location: https://archive.org/details/@mekarpeles

Desktop

Screenshot from 2019-03-26 03-35-46

Mobile

Screenshot from 2019-03-28 02-07-12

tile-action & hidden-lists --join waitlist

classes: Its current class tile-action & hidden-lists

Used for It is used for showing the title of the book and author name

Location: https://archive.org/details/inlibrary

Screenshot 2019-03-26 at 11 41 25 AM

item-details-metadata --book and author name

classes: Its current classes thats-left , item-details-metadata, col-sm-8 col-sm-pull-4

Used for It is used for showing the title of the book and author name

Location: https://archive.org/details/libraryunquiethi00batt#maincontent

Screenshot 2019-03-26 at 11 55 55 AM

item-details-metadata --detals of the book

classes: Its current classes thats-left and item-details-metadata

Used for It is used for showing the details about the book. That include publication data, publisher, language, ISBN and so on

Location: https://archive.org/details/libraryunquiethi00batt#maincontent

Screenshot_2019-03-26 Library Matthew Battles Free Download, Borrow, and Streaming Internet Archive

welcome-left -- welcome part of the collection

classes: Its current classes welcome-left

Used for It is used for showing the heading part of any collection. It includes the title of the collection, the logo of the collection and short description

Location: https://archive.org/details/librivoxaudio

Screenshot 2019-03-26 at 1 04 51 PM

activity-box

classes: Its current classes activity-box

Used for It is used to show the activity of any collection

Location: https://archive.org/details/etree&tab=about

Screenshot 2019-03-26 at 1 16 07 PM

about-box --collecton description

classes: Its current classes about-box

Used for It is used to give the full description of the collection

Location: https://archive.org/details/etree&tab=about

Screenshot 2019-03-26 at 1 26 14 PM

about-box --collecton created on & Archivist

classes: Its current classes about-box and inline CSS

Used for It is used for showing the created date, Archivist name, and profile picture

Location: https://archive.org/details/etree&tab=about

Screenshot 2019-03-26 at 1 22 25 PM

about-box --ADDITIONAL CONTRIBUTORS

classes: Its current classes about-box and items_list person

Used for It is used for showing the ADDITIONAL CONTRIBUTORS

Location: https://archive.org/details/etree&tab=about

Screenshot 2019-03-26 at 1 34 22 PM

grafs about-box

classes: Its current classes grafs and about-box

Used for It is used for showing the total views and statistics

Location: https://archive.org/details/etree&tab=about

Screenshot 2019-03-26 at 1 38 13 PM

grafs about-box --ITEMS

classes: Its current classes grafs and about-box

Used for It is used for showing the total items and statistics

Location: https://archive.org/details/etree&tab=about

Screenshot 2019-03-26 at 1 43 02 PM

grafs about-box --DISCONTINUED VIEWS

classes: Its current classes grafs and about-box

Used for It is used for showing the total DISCONTINUED VIEWS and statistics

Location: https://archive.org/details/etree&tab=about

Screenshot 2019-03-26 at 1 44 20 PM

js-top-regions-table

classes: Its current classes grafs about-box js-top-regions-table

Used for It is used for showing top regions of last 30 lats

Location: https://archive.org/details/etree&tab=about

Screenshot 2019-03-26 at 1 40 05 PM

fav-share-flag card

classes: Its current class is thats-right col-sm-4 col-sm-push-8

Description: It is used to mark favorite, share and flag a particular post

Location: https://archive.org/details/electricsheep-flock-244-32500-2

Screenshot (81)

footer

classes: It has CSS class ToS

Description: The absolute footer of the home page

Location: https://archive.org/

Desktop

Screenshot from 2019-03-26 03-39-04

Mobile Not displayed on mobile due to infinite scroll

Clone this wiki locally