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> <NavigationBox>
<ul className="ul mod-2018"> <ul className="ul mod-2018">
<li className="li-left mod-logo mod-2018"> <li className="li-left mod-logo mod-2018">
<a <ul className="li-left-ul mod-2018">
className="logo-a" <li>
href="/" <a
> className="logo-a"
<img href="/"
alt="Scratch Logo" >
className="logo-a-image" <img
src="/images/logo_sm.png" alt="Scratch Logo"
/> className="logo-a-image"
<p className="logo-a-title">Conferences</p> src="/images/logo_sm.png"
</a> />
</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> </li>
</ul> </ul>
</NavigationBox> </NavigationBox>

View file

@ -2,15 +2,23 @@
@import "../../../../frameless"; @import "../../../../frameless";
#navigation { #navigation {
.ul.mod-2018 { .ul.mod-2018,
.li-right-ul.mod-2018,
.li-left-ul.mod-2018 {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
flex-flow: row nowrap; flex-flow: row nowrap;
align-items: center; align-items: center;
list-style-type: none; 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-top: 0;
margin-right: 10px; margin-right: 10px;
color: $type-white; color: $type-white;
@ -36,4 +44,47 @@
font-size: .85rem; font-size: .85rem;
font-weight: bold; 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 = () => ( const ConferenceSplash = () => (
<div className="index mod-2018"> <div className="index mod-2018">
<TitleBanner className="mod-conference mod-2018"> <TitleBanner className="mod-conference">
<div className="title-banner-image mod-2018" /> <h1>
<h1 className="title-banner-h1 mod-2018"> <FormattedMessage id="conference-2018.subtitle" />
<center>
<FormattedMessage id="conference-2018.title" />
<br />
<FormattedMessage id="conference-2018.subtitle" />
</center>
</h1> </h1>
<h3 className="title-banner-h3 mod-2018"> <h3>
<FormattedMessage id="conference-2018.dateDesc" /> <FormattedMessage id="conference-2018.dateDesc" />
</h3> </h3>
<h3>
<FormattedMessage id="conference-2018.registrationDate" />
</h3>
</TitleBanner> </TitleBanner>
<div className="inner"> <div className="inner">
<section className="conf2018-panel mod-desc"> <section className="info">
<p className="conf2018-panel-desc"> <FlexRow className="uneven">
<FormattedMessage id="conference-2018.desc1" /> <div className="long">
<br /> <p>
<br /> <FormattedMessage id="conference-2018.desc1" />
<FormattedMessage id="conference-2018.desc2" /> </p>
</p>
<table className="conf2018-panel-details"> <p>
<tbody> <FormattedMessage id="conference-2018.desc2" />
<tr className="conf2018-panel-row"> </p>
<td className="conf2018-panel-row-icon"> </div>
<img <div className="short">
alt="Calendar Icon" <p>
className="conf2018-panel-row-icon-image" <b><FormattedMessage id="conference-2018.date" /></b>{' '}
src="/svgs/conference/index/calendar-icon.svg" {/* eslint-disable react/jsx-sort-props */}
/> <FormattedDate
</td> value={new Date(2018, 6, 26)}
<td><FormattedMessage id="conference-2018.date" /></td> year="numeric"
<td> month="long"
<FormattedDate day="2-digit"
day="2-digit" />
month="long" {' - '}
value={new Date(2018, 6, 26)} <FormattedDate
year="numeric" value={new Date(2018, 6, 28)}
/> year="numeric"
{' - '} month="long"
<FormattedDate day="2-digit"
day="2-digit" />
month="long" {/* eslint-enable react/jsx-sort-props */}
value={new Date(2018, 6, 28)} <br />
year="numeric" <FormattedMessage id="conference-2018.dateDescMore" />
/> <br />
<FormattedMessage id="conference-2018.dateDescMore" /> <b><FormattedMessage id="conference-2018.location" /></b>{' '}
</td> <FormattedMessage id="conference-2018.locationDetails" />
</tr> </p>
<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>
</div> </div>
</FlexRow> </FlexRow>
<p className="conf2018-panel-desc"> <FlexRow className="uneven">
<FormattedMessage id="conference-2018.registrationEarly" /> <div className="long">
<br /> <h3 id="info"><FormattedMessage id="conference-2018.registrationTitle" /></h3>
<FormattedMessage id="conference-2018.registrationStandard" /> <p className="conf2018-panel-desc">
</p> <b><FormattedMessage id="conference-2018.registrationEarly" /></b>
</section> <br />
<section className="conf2018-panel mod-questions"> <b><FormattedMessage id="conference-2018.registrationStandard" /></b>
<p className="conf2018-panel-desc"> </p>
<FormattedMessage <p><FormattedMessage id="conference-2018.registrationDate" /></p>
id="conference-2018.questions" <h3 id="questions"><FormattedMessage id="conference-2018.questionsTitle" /></h3>
values={{ <div>
emailLink: ( <p className="conf2018-question">
<a href="mailto:conference@scratch.mit.edu"> <FormattedMessage id="conference-2018.submissionQ" />
conference@scratch.mit.edu </p>
</a> <p className="conf2018-answer">
) <FormattedMessage id="conference-2018.submissionAns" />
}} </p>
/> </div>
</p> <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> </section>
</div> </div>
</div> </div>

View file

@ -1,33 +1,123 @@
@import "../../../../colors"; @import "../../../../colors";
@import "../../../../frameless"; @import "../../../../frameless";
.title-banner.mod-conference.mod-2018 { .index {
padding-top: 0; .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 { @media only screen and (max-width: $tablet - 1) {
opacity: .75; .index {
margin-bottom: 1.75rem; .flex-row {
background-image: url("/images/conference/index/2018/title-banner.jpg"); align-items: center;
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;
} }
.conf2018-panel { .conf2018-panel {

View file

@ -32,5 +32,29 @@
"conference-2018.registrationEarly": "Early Bird Registration (March 1-May 1): $200", "conference-2018.registrationEarly": "Early Bird Registration (March 1-May 1): $200",
"conference-2018.registrationStandard": "Standard Registration (after May 1): $300", "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