summaryrefslogtreecommitdiff
path: root/frontend/site
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/site')
-rw-r--r--frontend/site/projects/museum/constants.js19
-rw-r--r--frontend/site/projects/museum/icons.js24
-rw-r--r--frontend/site/projects/museum/views/artists.css3
-rw-r--r--frontend/site/projects/museum/views/artists.js6
-rw-r--r--frontend/site/projects/museum/views/credits.css30
-rw-r--r--frontend/site/projects/museum/views/credits.js4
-rw-r--r--frontend/site/projects/museum/views/essay.css12
-rw-r--r--frontend/site/projects/museum/views/essay.js22
8 files changed, 100 insertions, 20 deletions
diff --git a/frontend/site/projects/museum/constants.js b/frontend/site/projects/museum/constants.js
index 4bcc600..ffa96c4 100644
--- a/frontend/site/projects/museum/constants.js
+++ b/frontend/site/projects/museum/constants.js
@@ -14,22 +14,22 @@ export const ARTISTS = {
statement: `
<p>
<b>AFU. This is not a hackerspace.</b>
- <p>
</p>
- Welcome to some savage archaeology in outta space! Occupy Archaeology! Occupy hackerspaces!
<p>
+ Welcome to some savage archaeology in outta space! Occupy Archaeology! Occupy hackerspaces!
</p>
- We are in dire need of more cave paintings in hackerspaces. More boards of mothers leading us with ferocity and care. More PC towers of Babylon. More hieroglyphic encryption and more hybrid creatures. The artefact is the agent creating subaltern hackerspaces with HERitage und HERstory.
<p>
+ We are in dire need of more cave paintings in hackerspaces. More boards of mothers leading us with ferocity and care. More PC towers of Babylon. More hieroglyphic encryption and more hybrid creatures. The artefact is the agent creating subaltern hackerspaces with HERitage und HERstory.
</p>
- All made by hand, thousands of years ago, remixed, stitched by hand, through software yesterday, conceived in a 3D printer today and reimagined tomorrow… The printer itself is the fetish object of open source and making communities. Forget ‘do-it-yourself’. It has always been the time for ‘do-it-together’. We, women of color, the invisible spirits and workforce, imagined and built computers and systems… We did the tinkering, always. And we don’t exist in dualisms of maker/made.
<p>
+ All made by hand, thousands of years ago, remixed, stitched by hand, through software yesterday, conceived in a 3D printer today and reimagined tomorrow… The printer itself is the fetish object of open source and making communities. Forget ‘do-it-yourself’. It has always been the time for ‘do-it-together’. We, women of color, the invisible spirits and workforce, imagined and built computers and systems… We did the tinkering, always. And we don’t exist in dualisms of maker/made.
</p>
- Forget the god-lists that scientists made up of the ancient materials. No need for hierarchies of gods or domination of one god over another. Few spirits kept their identity throughout millennia. In outta space we prefer spirits to gods. Spirits that are fluid and that emulate from one to another. Spirits, Diĝir, Nin—that care for their spaces and people… The geek is resolved in punk archaeology by the crafting and coding of spirits, masquerades, witches, goddesses and daimons... 
<p>
+ Forget the god-lists that scientists made up of the ancient materials. No need for hierarchies of gods or domination of one god over another. Few spirits kept their identity throughout millennia. In outta space we prefer spirits to gods. Spirits that are fluid and that emulate from one to another. Spirits, Diĝir, Nin—that care for their spaces and people… The geek is resolved in punk archaeology by the crafting and coding of spirits, masquerades, witches, goddesses and daimons... 
</p>
- We spirits defy linear temporality, mixing material and human life of different times... We are nodes of the causal network that gives events and codes coherence and meaning. One can recognise our ways when people (now and then) self-organise, envision, resist and revolt…
<p>
+ We spirits defy linear temporality, mixing material and human life of different times... We are nodes of the causal network that gives events and codes coherence and meaning. One can recognise our ways when people (now and then) self-organise, envision, resist and revolt…
+ </p>
`,
image: "",
globePosition: {
@@ -173,11 +173,11 @@ export const ARTISTS = {
statement: `
<p>
I chose the location because of its originally intended function: A crematorium. This was one of the ambitious but unfortunately unfinished projects initiated by Ghana’s Kwame Nkrumah government in the 1970s. The building has been abandoned until today.
- <p>
</p>
- I am very interested in the rough aesthetic of the concrete adjoining with the scrabbled walls, which has developed in the last fifty years. The impression of the building is something historic and it reminds me of the inspirational material for a body of work which I sourced from tomb paintings: the Ancient Egyptian <i>Book of the Dead</i>.
<p>
+ I am very interested in the rough aesthetic of the concrete adjoining with the scrabbled walls, which has developed in the last fifty years. The impression of the building is something historic and it reminds me of the inspirational material for a body of work which I sourced from tomb paintings: the Ancient Egyptian <i>Book of the Dead</i>.
</p>
+ <p>
The structure is present in central Accra, giving a mysterious backdrop for the prints and works that I share in the videos. It connects in sync with my narrative; to understand ways and visual forms which can take on the journey to an afterlife.
</p>
`,
@@ -197,9 +197,10 @@ export const PROJECT_PAGE_SET = new Set(["essay", "artists", "credits"])
export const ESSAYS = {
nadim: { title: "About The Last Museum", author: "Nadim Samman", },
+ statements: { title: "Artist Statements", author: "", },
}
export const ESSAY_ORDER = [
- "nadim",
+ "nadim", "statements",
]
diff --git a/frontend/site/projects/museum/icons.js b/frontend/site/projects/museum/icons.js
index 9b88856..8faab20 100644
--- a/frontend/site/projects/museum/icons.js
+++ b/frontend/site/projects/museum/icons.js
@@ -679,3 +679,27 @@ export const Globe = (
<path d="M750.92 473.585C748.482 475.025 745.575 476.051 745.518 480.491C745.952 480.926 746.786 481.752 747.527 482.501C753.885 478.125 754.241 477.213 751.276 473.941"/>
</svg>
)
+
+
+export const LastMuseumLogo = (
+ <svg viewBox="0 0 1395 187" fill="none" xmlns="http://www.w3.org/2000/svg">
+ <g filter="url(#filter0_d)">
+ <path fill="#ffffff" d="M12.8604 7.88L6.19045 49.05H26.4304L5.96044 179H50.3504L70.8205 49.05H91.2904L97.7304 7.88H12.8604ZM133.53 113.45H143.42L133.07 179H177.69L204.83 7.88H160.21L150.78 66.3H140.89L150.32 7.88H105.7L78.5596 179H123.18L133.53 113.45ZM214.015 7.88L186.875 179H265.535L272.205 137.37H237.935L242.075 111.61H269.445L276.115 69.52H248.975L252.195 49.05H285.085L291.525 7.88H214.015ZM329.123 7.88L301.983 179H375.583L382.253 136.45H353.273L373.743 7.88H329.123ZM431.41 179H474.65L477.41 7.88H421.06L372.3 179H410.94L416.23 157.84H432.56L431.41 179ZM425.66 119.43L436.93 74.58L434.63 119.43H425.66ZM534.833 181.53C567.033 181.53 580.143 164.97 584.513 137.37L585.893 128.63C588.423 110.92 583.133 97.35 563.583 77.11L549.553 62.85C544.723 57.56 543.343 54.34 544.263 49.05L544.953 44.68C545.643 40.31 546.563 38.7 550.013 38.7C553.233 38.7 554.613 40.54 554.153 44.22L551.853 59.17H594.173L597.163 41.69C600.383 22.37 589.803 5.34999 557.373 5.34999H547.023C516.663 5.34999 503.093 19.84 499.413 43.07L498.263 50.43C495.733 66.76 500.333 81.48 516.893 98.96L530.463 113.22C536.903 119.89 538.973 122.88 537.363 131.39L536.443 137.14C535.523 142.43 534.603 144.73 530.923 144.73C527.243 144.73 525.863 141.74 526.783 137.14L529.773 117.59H486.073L482.853 138.75C478.483 166.12 494.583 181.53 524.023 181.53H534.833ZM609.414 7.88L602.744 49.05H622.984L602.514 179H646.904L667.374 49.05H687.844L694.284 7.88H609.414ZM703.468 179H740.498L754.068 93.9L753.838 179H769.478L795.928 93.9L782.358 179H820.078L846.988 7.88H795.928L777.528 80.79L781.208 7.88H730.608L703.468 179ZM836.208 134.61C831.838 162.21 846.098 181.99 880.368 181.99H887.268C919.928 181.99 934.188 160.37 938.558 134.61L958.568 7.88H911.878L892.558 132.08C891.868 136.68 889.798 138.98 886.808 138.98C883.358 138.98 882.208 136.68 882.898 132.08L902.448 7.88H856.218L836.208 134.61ZM997.349 181.53C1029.55 181.53 1042.66 164.97 1047.03 137.37L1048.41 128.63C1050.94 110.92 1045.65 97.35 1026.1 77.11L1012.07 62.85C1007.24 57.56 1005.86 54.34 1006.78 49.05L1007.47 44.68C1008.16 40.31 1009.08 38.7 1012.53 38.7C1015.75 38.7 1017.13 40.54 1016.67 44.22L1014.37 59.17H1056.69L1059.68 41.69C1062.9 22.37 1052.32 5.34999 1019.89 5.34999H1009.54C979.179 5.34999 965.609 19.84 961.929 43.07L960.779 50.43C958.249 66.76 962.849 81.48 979.409 98.96L992.979 113.22C999.419 119.89 1001.49 122.88 999.879 131.39L998.959 137.14C998.039 142.43 997.119 144.73 993.439 144.73C989.759 144.73 988.379 141.74 989.299 137.14L992.289 117.59H948.589L945.369 138.75C940.999 166.12 957.099 181.53 986.539 181.53H997.349ZM1075.1 7.88L1047.96 179H1126.62L1133.29 137.37H1099.02L1103.16 111.61H1130.53L1137.2 69.52H1110.06L1113.28 49.05H1146.17L1152.61 7.88H1075.1ZM1141.84 134.61C1137.47 162.21 1151.73 181.99 1186 181.99H1192.9C1225.56 181.99 1239.82 160.37 1244.19 134.61L1264.2 7.88H1217.51L1198.19 132.08C1197.5 136.68 1195.43 138.98 1192.44 138.98C1188.99 138.98 1187.84 136.68 1188.53 132.08L1208.08 7.88H1161.85L1141.84 134.61ZM1246.17 179H1283.2L1296.77 93.9L1296.54 179H1312.18L1338.63 93.9L1325.06 179H1362.78L1389.69 7.88H1338.63L1320.23 80.79L1323.91 7.88H1273.31L1246.17 179Z" />
+ </g>
+ <defs>
+ <filter id="filter0_d" x="0.959961" y="0.349609" width="1393.73" height="186.64" filterUnits="userSpaceOnUse" colorInterpolationFilters="sRGB">
+ <feFlood floodOpacity="0" result="BackgroundImageFix"/>
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
+ <feOffset/>
+ <feGaussianBlur stdDeviation="2.5"/>
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0588235 0 0 0 0 0.0588235 0 0 0 0 0.0588235 0 0 0 1 0"/>
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
+ </filter>
+ </defs>
+ </svg>
+)
+
+/*
+ <feColorMatrix type="matrix" values="0 0 0 0 0.0588235 0 0 0 0 0.0588235 0 0 0 0 0.0588235 0 0 0 1 0"/>
+ */ \ No newline at end of file
diff --git a/frontend/site/projects/museum/views/artists.css b/frontend/site/projects/museum/views/artists.css
index c2350a6..a327e19 100644
--- a/frontend/site/projects/museum/views/artists.css
+++ b/frontend/site/projects/museum/views/artists.css
@@ -69,13 +69,10 @@
pointer-events: none;
}
.page-artists .artist-detail.visible {
- color: #000;
- background: #FF790D;
pointer-events: auto;
opacity: 1;
}
.page.page-artists .artist-detail.visible a {
- color: #000;
}
.page-artists .artist-detail-name {
diff --git a/frontend/site/projects/museum/views/artists.js b/frontend/site/projects/museum/views/artists.js
index 591b1d5..be39d61 100644
--- a/frontend/site/projects/museum/views/artists.js
+++ b/frontend/site/projects/museum/views/artists.js
@@ -86,7 +86,7 @@ export default class Artists extends Component {
<div className="nav-arrow arrow-left" onClick={this.previousArtist}>{ArrowLeft}</div>
<div className="nav-arrow arrow-right" onClick={this.nextArtist}>{ArrowRight}</div>
</div>
- <div className={detail ? "home-link black" : "home-link"} onClick={this.goHome}>
+ <div className={detail ? "home-link" : "home-link"} onClick={this.goHome}>
Home
</div>
</div>
@@ -102,9 +102,7 @@ const ArtistDetail = ({ artist, index, isCurrent, onClose }) => {
<div className="artist-left">
<span dangerouslySetInnerHTML={{ __html: artist.bio }} />
</div>
- <div className="artist-right">
- <span dangerouslySetInnerHTML={{ __html: artist.statement }} />
- </div>
+ <div className="artist-right" />
</div>
<div className="artist-detail-name" onClick={onClose}>
{artist.name}
diff --git a/frontend/site/projects/museum/views/credits.css b/frontend/site/projects/museum/views/credits.css
index d7c6f35..96fff13 100644
--- a/frontend/site/projects/museum/views/credits.css
+++ b/frontend/site/projects/museum/views/credits.css
@@ -14,6 +14,9 @@
text-decoration: none;
font-weight: bold;
}
+.page a:hover {
+ text-decoration: underline;
+}
.page-title {
font-family: 'Druk';
font-style: italic;
@@ -37,6 +40,25 @@
/* credits */
+.app > div.page.page-credits {
+ background: #FF790D;
+ color: #000;
+}
+.app > div.page.page-credits .page-title {
+ color: #fff;
+ text-shadow: 0 0 5px #000;
+}
+
+.app > div.page.page-credits .home-link {
+ color: #000;
+}
+.app > div.page.page-credits .home-link:hover {
+ color: #fff;
+}
+.app > div.page.page-credits a {
+ color: #000;
+}
+
.page-left {
width: 33%;
}
@@ -99,3 +121,11 @@
height: 4rem;
}
+.page-credits .page-title {
+ padding-top: 1rem;
+ width: 100%;
+ text-align: center;
+}
+.page-credits .page-title svg {
+ width: calc(100vw - 12rem);
+}
diff --git a/frontend/site/projects/museum/views/credits.js b/frontend/site/projects/museum/views/credits.js
index fd17045..4e2404d 100644
--- a/frontend/site/projects/museum/views/credits.js
+++ b/frontend/site/projects/museum/views/credits.js
@@ -3,6 +3,8 @@ import actions from 'site/actions'
import { history } from "site/store"
+import { LastMuseumLogo } from "../icons"
+
import "./credits.css"
export default class Credits extends Component {
@@ -29,7 +31,7 @@ export default class Credits extends Component {
render() {
return (
<div className="page page-credits">
- <div className="page-title">The L<span>ast Museum</span></div>
+ <div className="page-title">{LastMuseumLogo}</div>
<div className="page-content">
<div className="page-left">
<div className="page-subtitle">CREDITS</div>
diff --git a/frontend/site/projects/museum/views/essay.css b/frontend/site/projects/museum/views/essay.css
index 0cc66a9..129c768 100644
--- a/frontend/site/projects/museum/views/essay.css
+++ b/frontend/site/projects/museum/views/essay.css
@@ -28,6 +28,12 @@
justify-content: flex-start;
padding-bottom: 10vh;
}
+.page-essay .page-content.artist-statement {
+ padding-bottom: 5vh;
+}
+.page-essay .nilthamrong .page-content.artist-statement {
+ padding-bottom: 10vh;
+}
.page-essay .page-title {
cursor: pointer;
font-size: 10vw;
@@ -81,7 +87,7 @@
stroke-miterlimit: 10;
stroke-linecap: round;
stroke-linejoin: round;
- fill: transparent
+ fill: transparent;
}
.globe .globe-image {
position: relative;
@@ -93,3 +99,7 @@
font-size: 2vw;
cursor: pointer;
}
+
+.page a.jules-link {
+ font-weight: normal;
+} \ No newline at end of file
diff --git a/frontend/site/projects/museum/views/essay.js b/frontend/site/projects/museum/views/essay.js
index ddfbfcb..5e98822 100644
--- a/frontend/site/projects/museum/views/essay.js
+++ b/frontend/site/projects/museum/views/essay.js
@@ -107,16 +107,34 @@ const EssayDetail = props => {
switch (props.essayId) {
case 'nadim':
return <NadimEssay {...props} />
+ case 'statements':
+ return <ArtistStatements {...props} />
}
}
+const ArtistStatements = ({ essayId, index, isCurrent, onClose }) => (
+ <div className={isCurrent ? "artist-detail visible" : "artist-detail"}>
+ <div className="page-title" onClick={onClose}>ARTIST STATEMENTS</div>
+ <br /><br />
+ {ARTIST_ORDER.map((key, index) => {
+ const artist = ARTISTS[key]
+ return (
+ <div key={key} className={key}>
+ <div className="page-subtitle">{artist.name}</div>
+ <div className="page-content artist-statement" dangerouslySetInnerHTML={{ __html: artist.statement }} />
+ </div>
+ )
+ })}
+ </div>
+)
+
const NadimEssay = ({ essayId, index, isCurrent, onClose }) => (
<div className={isCurrent ? "artist-detail visible" : "artist-detail"}>
<div className="page-title" onClick={onClose}>About The L<span>ast Museum</span></div>
<div className="page-subtitle">By Nadim Samman</div>
<div className="page-content">
<p>
- <i>The Last Museum</i> is an exhibition that explores productive tensions between the putative ‘anywhere’ of the digital and its relation to local particulars. Deploying a hybrid offline-online format, the project invites an international group of artists to reimagine site-specificity, through a sequence of interventions that cut across both real and virtual domains. The artists are Nora Al-Badri (Germany/Iraq), Juliana Cerqueira Leite (Brazil), Nicole Foreshew (Wiradjuri Nation/Australia), Jakrawal Nilthamrong (Thailand), Zohra Opoko (Ghana), and Charles Stankievech (Canada).
+ <i>The Last Museum</i> is an exhibition that explores productive tensions between the putative ‘anywhere’ of the digital and its relation to local particulars. Deploying a hybrid offline-online format, the project invites an international group of artists to reimagine site-specificity, through a sequence of interventions that cut across both real and virtual domains. The artists are <b>Nora Al-Badri</b> (Germany/Iraq), <b>Juliana Cerqueira Leite</b> (Brazil), <b>Nicole Foreshew</b> (Wiradjuri Nation/Australia), <b>Jakrawal Nilthamrong</b> (Thailand), <b>Zohra Opoko</b> (Ghana), and <b>Charles Stankievech</b> (Canada).
</p>
<ArtistGlobe />
<p>
@@ -126,7 +144,7 @@ const NadimEssay = ({ essayId, index, isCurrent, onClose }) => (
Each artist was commissioned to author a sculptural group, to be installed at an outdoor site of their own choosing. The choice was only limited by a request that it be associated with communication and connectivity. Final choices ended up highlighting both technical and more esoteric forms of transmission—and included a notorious hacker hangout (Berlin’s C-base), ancestral land in rural Australia, a down-at-heel electronics mall in downtown Sao Paolo, a neutrino observatory in the Rocky Mountains, and more.
</p>
<p>
- Each sculptural intervention was videoed by the artists, and the resulting clips (from all over the world) were handed over to a digital artist, <a href="https://asdf.us/" target="_blank">Jules LaPlace</a>, who brought them together through a digital way-finding protocol; the exhibition’s ‘hang’. The public outcome, debuting as a pop-up window on the KW start page, is a website experience that unfolds as an interactive sequence of objects and places, navigable using bespoke tools. At times, these tools amount to additional (digital) artworks. Visitors will have a sense that that the exhibition is a wormhole, of sorts.
+ Each sculptural intervention was videoed by the artists, and the resulting clips (from all over the world) were handed over to a digital artist, <a href="https://asdf.us/" className="jules-link" target="_blank">Jules LaPlace</a>, who brought them together through a digital way-finding protocol; the exhibition’s ‘hang’. The public outcome, debuting as a pop-up window on the KW start page, is a website experience that unfolds as an interactive sequence of objects and places, navigable using bespoke tools. At times, these tools amount to additional (digital) artworks. Visitors will have a sense that that the exhibition is a wormhole, of sorts.
</p>
<p>
Some of the featured locations are associated with infrastructure and the World Wide Web, others include waterways and climate. Uniting these seemingly disparate aspects, a conceptual leitmotif of visually <i>grounding</i> planetary networks and other globe-spanning systems will be evident. Call it a <i>web-site-specific</i> project—in the sense that both art and exhibition design re-imagines the stakes of ‘site-specificity’ for digital times. What this means is that <i>The Last Museum</i>’s ‘site’ is a layered reality or (to borrow a term from computational engineering) a ‘Stack’. Our exhibition-stack encompasses material facts on the ground, digital code, and softer site specificities—including those previously outlined by the art historian Miwon Kwon, such as ‘cultural debates, a theoretical concept, a historical condition, even particular formations of desire’. Each artwork in <i>The Last Museum</i> is a kind of a vector that intersects with all of the stack’s layers.