Merge pull request #1796 from chrisgarrity/hotfix/conf2018-feb5

[DEVELOP] Hotfix Conference page to close session proposals
This commit is contained in:
chrisgarrity 2018-02-05 08:41:27 -05:00 committed by GitHub
commit aff3c33817
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 458 additions and 163 deletions

View file

@ -8,17 +8,48 @@ const Navigation = () => (
<NavigationBox>
<ul className="ul mod-2018">
<li className="li-left mod-logo mod-2018">
<a
className="logo-a"
href="/"
>
<img
alt="Scratch Logo"
className="logo-a-image"
src="/images/logo_sm.png"
/>
<p className="logo-a-title">Conferences</p>
</a>
<ul className="li-left-ul mod-2018">
<li>
<a
className="logo-a"
href="/"
>
<img
alt="Scratch Logo"
className="logo-a-image"
src="/images/logo_sm.png"
/>
</a>
</li>
<li>
<a
className="link-a"
href="/conference"
>
<span className="logo-a-title">Conference</span>
</a>
</li>
</ul>
</li>
<li className="li-right mod-2018">
<ul className="li-right-ul mod-2018">
<li className="link info">
<a
className="link-a"
href="#info"
>
Registration Info
</a>
</li>
<li className="link questions">
<a
className="link-a"
href="#questions"
>
Questions
</a>
</li>
</ul>
</li>
</ul>
</NavigationBox>

View file

@ -2,15 +2,23 @@
@import "../../../../frameless";
#navigation {
.ul.mod-2018 {
.ul.mod-2018,
.li-right-ul.mod-2018,
.li-left-ul.mod-2018 {
display: flex;
justify-content: space-between;
flex-flow: row nowrap;
align-items: center;
list-style-type: none;
}
.li-left-ul.mod-2018 {
padding-left: 0;
}
.li-left.mod-2018 {
.li-left,
.li-right,
.link {
margin-top: 0;
margin-right: 10px;
color: $type-white;
@ -36,4 +44,47 @@
font-size: .85rem;
font-weight: bold;
}
@media only screen and (max-width: $mobile - 1) {
.li-right-ul.mod-2018 {
flex-flow: row nowrap;
}
.link {
margin: 0;
padding: 0;
}
.link-a {
font-size: .75rem;
}
}
@media only screen and (max-width: $tablet - 1) {
height: 100px;
.ul.mod-2018 {
justify-content: center;
flex-flow: row wrap;
}
.li-left,
.li-right,
.link {
align-self: center;
}
.li-right {
margin-left: 0;
align-self: center;
}
.logo-a {
padding-top: 6px;
}
.logo-a-image {
padding-left: 15px;
}
}
}

View file

@ -12,137 +12,236 @@ require('./index.scss');
const ConferenceSplash = () => (
<div className="index mod-2018">
<TitleBanner className="mod-conference mod-2018">
<div className="title-banner-image mod-2018" />
<h1 className="title-banner-h1 mod-2018">
<center>
<FormattedMessage id="conference-2018.title" />
<br />
<FormattedMessage id="conference-2018.subtitle" />
</center>
<TitleBanner className="mod-conference">
<h1>
<FormattedMessage id="conference-2018.subtitle" />
</h1>
<h3 className="title-banner-h3 mod-2018">
<h3>
<FormattedMessage id="conference-2018.dateDesc" />
</h3>
<h3>
<FormattedMessage id="conference-2018.registrationDate" />
</h3>
</TitleBanner>
<div className="inner">
<section className="conf2018-panel mod-desc">
<p className="conf2018-panel-desc">
<FormattedMessage id="conference-2018.desc1" />
<br />
<br />
<FormattedMessage id="conference-2018.desc2" />
</p>
<table className="conf2018-panel-details">
<tbody>
<tr className="conf2018-panel-row">
<td className="conf2018-panel-row-icon">
<img
alt="Calendar Icon"
className="conf2018-panel-row-icon-image"
src="/svgs/conference/index/calendar-icon.svg"
/>
</td>
<td><FormattedMessage id="conference-2018.date" /></td>
<td>
<FormattedDate
day="2-digit"
month="long"
value={new Date(2018, 6, 26)}
year="numeric"
/>
{' - '}
<FormattedDate
day="2-digit"
month="long"
value={new Date(2018, 6, 28)}
year="numeric"
/>
<FormattedMessage id="conference-2018.dateDescMore" />
</td>
</tr>
<tr className="conf2018-panel-row">
<td className="conf2018-panel-row-icon">
<img
alt="Map Icon"
className="conf2018-panel-row-icon-image"
src="/svgs/conference/index/map-icon.svg"
/>
</td>
<td><FormattedMessage id="conference-2018.location" /></td>
<td><FormattedMessage id="conference-2018.locationDetails" /></td>
</tr>
</tbody>
</table>
<p>
<FormattedMessage id="conference-2018.registrationDate" />
</p>
</section>
<section className="conf2018-panel">
<p className="conf2018-panel-desc">
<FormattedMessage id="conference-2018.sessionDesc" />
</p>
<p className="conf2018-panel-session">
<p className="conf2018-panel-session">
<b>
<FormattedMessage id="conference-2018.sessionItem1Title" />
</b>{' '}
<FormattedMessage id="conference-2018.sessionItem1Desc" />
</p>
<p className="conf2018-panel-session">
<b>
<FormattedMessage id="conference-2018.sessionItem2Title" />
</b>{' '}
<FormattedMessage id="conference-2018.sessionItem2Desc" />
</p>
<p className="conf2018-panel-session">
<b>
<FormattedMessage id="conference-2018.sessionItem3Title" />
</b>{' '}
<FormattedMessage id="conference-2018.sessionItem3Desc" />
</p>
<p className="conf2018-panel-session">
<b>
<FormattedMessage id="conference-2018.sessionItem4Title" />
</b>{' '}
<FormattedMessage id="conference-2018.sessionItem4Desc" />
</p>
<p className="conf2018-panel-deadline">
<FormattedMessage id="conference-2018.deadline" />
</p>
</p>
<a
className="button mod-2018-panel"
href="https://docs.google.com/forms/d/e/1FAIpQLSd7SkuQ-dfW-P3aArSQokK9GkKAUKufTVBHod_ElNIiFE9iBQ/viewform?usp=sf_link"
>
<FormattedMessage id="conference-2018.proposal" />
</a>
</section>
<section className="conf2018-panel mod-registration">
<FlexRow className="conf2018-panel-title">
<div className="conf2018-panel-title-text">
<h3><FormattedMessage id="conference-2018.registrationTitle" /></h3>
<section className="info">
<FlexRow className="uneven">
<div className="long">
<p>
<FormattedMessage id="conference-2018.desc1" />
</p>
<p>
<FormattedMessage id="conference-2018.desc2" />
</p>
</div>
<div className="short">
<p>
<b><FormattedMessage id="conference-2018.date" /></b>{' '}
{/* eslint-disable react/jsx-sort-props */}
<FormattedDate
value={new Date(2018, 6, 26)}
year="numeric"
month="long"
day="2-digit"
/>
{' - '}
<FormattedDate
value={new Date(2018, 6, 28)}
year="numeric"
month="long"
day="2-digit"
/>
{/* eslint-enable react/jsx-sort-props */}
<br />
<FormattedMessage id="conference-2018.dateDescMore" />
<br />
<b><FormattedMessage id="conference-2018.location" /></b>{' '}
<FormattedMessage id="conference-2018.locationDetails" />
</p>
</div>
</FlexRow>
<p className="conf2018-panel-desc">
<FormattedMessage id="conference-2018.registrationEarly" />
<br />
<FormattedMessage id="conference-2018.registrationStandard" />
</p>
</section>
<section className="conf2018-panel mod-questions">
<p className="conf2018-panel-desc">
<FormattedMessage
id="conference-2018.questions"
values={{
emailLink: (
<a href="mailto:conference@scratch.mit.edu">
conference@scratch.mit.edu
</a>
)
}}
/>
</p>
<FlexRow className="uneven">
<div className="long">
<h3 id="info"><FormattedMessage id="conference-2018.registrationTitle" /></h3>
<p className="conf2018-panel-desc">
<b><FormattedMessage id="conference-2018.registrationEarly" /></b>
<br />
<b><FormattedMessage id="conference-2018.registrationStandard" /></b>
</p>
<p><FormattedMessage id="conference-2018.registrationDate" /></p>
<h3 id="questions"><FormattedMessage id="conference-2018.questionsTitle" /></h3>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.submissionQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.submissionAns" />
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.regQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.regAns" />
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.accommodationsQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.accommodationsAns1"
values={{
marriottLink: (
<a href="http://www.marriott.com/hotels/travel/boscb-boston-marriott-cambridge/">
Boston Marriott Cambridge
</a>
),
holidayinnLink: (
<a href="http://www.hiexpress.com/hotels/us/en/reservation/searchresult?qAdlt=1&qBrs=6c.hi.ex.rs.ic.cp.in.sb.cw.cv.ul.vn&qChld=0&qDest=CAMBRIDGE%2CMA%2CUnited+States&qFRA=1&qGRM=0&qIta=99504425&qPSt=0&qRRSrt=rt&qRef=df&qRms=1&qRpn=1&qRpp=12&qSHp=1&qSmP=3&qSrt=sBR&qWch=0&srb_u=1&icdv=99504425&dp=true">
Holiday Inn Express and Suites
</a>
),
residenceinnLink: (
<a href="http://www.marriott.com/hotels/travel/boscm-residence-inn-boston-cambridge/">
Residence Inn
</a>
),
lemeridienLink: (
<a href="http://www.starwoodhotels.com/lemeridien/property/overview/index.html?propertyID=3253&language=en_US">
Le Meridien
</a>
)
}}
/>
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.accommodationsAns2"
values={{
acLink: (
<a href="http://www.marriott.com/meeting-event-hotels/group-corporate-travel/groupCorp.mi?resLinkData=Scratch%20Conference%5EBOSAR%60sccscca%7Csccsccb%60229%60USD%60false%604%607/25/18%607/28/18%607/4/18&app=resvlink&stop_mobi=yes">
AC Hotel Boston Cambridge
</a>
),
hotelbostonLink: (
<a href="https://www.hotelboston.com/">
Hotel Boston
</a>
),
mitLink: (
<a href="http://www.media.mit.edu/contact/accommodations">
<FormattedMessage id="conference-2018.here" />
</a>
)
}}
/>
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.accommodationsAns3"
values={{
neuLink: (
<a href="http://www.northeastern.edu/">
Northeastern University
</a>
)
}}
/>
</p>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.apartment" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.single" />
{' - $90.00'}
<FormattedMessage id="conference-2018.pp" />
<br />
<FormattedMessage id="conference-2018.double" />
{' - $65.00'}
<FormattedMessage id="conference-2018.pp" />
</p>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.suite" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.single" />
{' - $80.00'}
<FormattedMessage id="conference-2018.pp" />
<br />
<FormattedMessage id="conference-2018.double" />
{' - $65.00'}
<FormattedMessage id="conference-2018.pp" />
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.accommodationsAns4"
values={{
emailLink: (
<a href="mailto:conference@scratch.mit.edu">
conference@scratch.mit.edu
</a>
)
}}
/>
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.letterQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.letterAns"
values={{
emailLink: (
<a href="mailto:conference@scratch.mit.edu">
conference@scratch.mit.edu
</a>
)
}}
/>
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.preConfQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.preConfAns" />
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.bringQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.bringAns" />
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.moreQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.moreAns"
values={{
emailLink: (
<a href="mailto:conference@scratch.mit.edu">
conference@scratch.mit.edu
</a>
)
}}
/>
</p>
</div>
</div>
</FlexRow>
</section>
</div>
</div>

View file

@ -1,33 +1,123 @@
@import "../../../../colors";
@import "../../../../frameless";
.title-banner.mod-conference.mod-2018 {
padding-top: 0;
.index {
.title-banner {
margin-bottom: 0;
background-image: url("/images/conference/index/2018/title-banner.jpg");
background-position: top;
padding: 48px 0;
h1,
h3,
h4,
p {
margin: 0 auto;
padding: 5px 0;
text-align: center;
color: $type-white;
}
p {
margin-top: 3rem;
&.sub-button {
margin-top: 1rem;
}
b {
margin-top: 2rem;
a {
text-decoration: underline;
color: $type-white;
}
}
a {
button {
background-color: $ui-white;
color: $ui-blue;
font-size: 1rem;
}
}
}
@media only screen and (max-width: $mobile - 1) {
h3 {
display: none;
margin-top: 0;
}
p {
margin-top: .25rem;
}
}
@media only screen and (max-width: $desktop - 1) {
h1 {
font-size: 2.5rem;
}
p {
margin-top: 1.5rem;
}
}
}
.flex-row {
align-items: flex-start;
justify-content: space-between;
&.uneven {
img {
width: 100%;
}
@media only screen and (max-width: $tablet - 1) {
img {
width: 30%;
}
}
@media only screen and (min-width: $tablet) and (max-width: $desktop - 1) {
img {
width: 70%;
}
}
}
}
.info {
text-align: left;
.conf2018-question {
margin-bottom: 0;
font-weight: 500;
}
.conf2018-answer {
margin-top: 0;
}
@media only screen and (max-width: $desktop - 1) {
.uneven {
.short {
width: 70%;
}
}
}
}
}
.title-banner-image.mod-2018 {
opacity: .75;
margin-bottom: 1.75rem;
background-image: url("/images/conference/index/2018/title-banner.jpg");
background-position: center;
background-size: cover;
width: 100%;
height: 20rem;
}
.title-banner-h1.mod-2018 {
line-height: 1.25em;
}
.conf2018-panel,
.title-banner-h3.mod-2018 {
margin: auto;
width: 48.75rem;
}
.title-banner-h3.mod-2018 {
text-align: center;
color: $type-white;
@media only screen and (max-width: $tablet - 1) {
.index {
.flex-row {
align-items: center;
}
}
}
.conf2018-panel {

View file

@ -32,5 +32,29 @@
"conference-2018.registrationEarly": "Early Bird Registration (March 1-May 1): $200",
"conference-2018.registrationStandard": "Standard Registration (after May 1): $300",
"conference-2018.questions": "Questions? Contact the Scratch Team at {emailLink}"
"conference-2018.questions": "Questions? Contact the Scratch Team at {emailLink}",
"conference-2018.questionsTitle": "Questions:",
"conference-2018.submissionQ": "I missed the submission deadline. Can I still submit a proposal for the conference?",
"conference-2018.submissionAns": "We are no longer accepting proposal submissions. We will send out proposal acceptance notifications on February 28.",
"conference-2018.regQ": "I can only attend one day of the conference. Do you offer single-day registration?",
"conference-2018.regAns": "Sorry, we are not offering single-day tickets.",
"conference-2018.accommodationsQ": "I want to plan my visit. Do you have suggestions for accommodations?",
"conference-2018.accommodationsAns1": "Yes, MIT partners with several hotels in the area who offer discounts to participants attending MIT events, including: {marriottLink} (0.4 miles from the MIT Media Lab), {holidayinnLink} (1.6 miles), {residenceinnLink} (0.3 miles), and {lemeridienLink} (0.9 miles). To reserve a room at one of these hotels, call the hotel and request the MIT discount. Advance booking is strongly recommended, as summer is a busy time in Boston. All MIT rates are subject to availability.",
"conference-2018.accommodationsAns2": "If you are looking for lower-cost accommodations, we also recommend the {acLink} (7.1 miles). You might also consider home-share options such as Airbnb. Find an extended list of accommodations {mitLink}.",
"conference-2018.here": "here",
"conference-2018.accommodationsAns3": "Limited lodging is available in {neuLink} dorms rooms at the following rates:",
"conference-2018.apartment": "Apartment",
"conference-2018.suite": "Suite",
"conference-2018.single": "Single",
"conference-2018.double": "Double",
"conference-2018.pp": "/person/night",
"conference-2018.accommodationsAns4": "To request a dorm room, please email us at {emailLink} with the subject line “Dorm room.” Please note that Northeastern is located in Boston, two miles from the conference site at MIT. It is a half-hour commute via public transportation, accessible by subway via the Green Line (the Northeastern stop on the E line) or the Orange Line (Ruggles Station stop).",
"conference-2018.letterQ": "Can I get a visa letter?",
"conference-2018.letterAns": "Yes. Contact us at {emailLink}, and we can email you a letter.",
"conference-2018.preConfQ": "In previous years, there was an event on Wednesday evening before the conference. Will you be hosting something similar this year?",
"conference-2018.preConfAns": "There will be an informal, optional reception the evening of Wednesday, July 25. Participants may register early at this time as well.",
"conference-2018.bringQ": "What should I bring?",
"conference-2018.bringAns": "Plan to bring your personal device (laptops are preferred) and power cord. Presenters should plan to bring all additional presentation materials (we will provide projectors and screens). Snacks and beverages will be available throughout the day.",
"conference-2018.moreQ": "Have additional questions?",
"conference-2018.moreAns": "Contact the Scratch Team at {emailLink}."
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 KiB

After

Width:  |  Height:  |  Size: 884 KiB