Skip to content

Commit d6d1519

Browse files
authored
Merge pull request #170 from creativecommons/locale-chooser
Make LocaleChooser responsive
2 parents 5f14a68 + 08d46fc commit d6d1519

File tree

2 files changed

+65
-80
lines changed

2 files changed

+65
-80
lines changed

src/App.vue

+25-37
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
{{ $t('select-license.instructions') }}
1515
</p>
1616
</div>
17-
<LocaleChooser />
17+
<LocaleChooser class="locale-chooser" />
1818
</div>
1919
<div class="columns">
2020
<Stepper v-model="currentStepId" />
@@ -113,19 +113,19 @@ export default {
113113
counter-reset: step-counter;
114114
}
115115
#site-container {
116-
padding-top: 2rem;
117-
padding-bottom: 2%;
116+
padding: 0.75rem;
118117
}
119118
.page-head {
120119
display: grid;
121-
grid-template-columns: repeat(2, 1fr);
120+
grid-template-columns: 1fr;
122121
grid-gap: 1.5rem;
123-
.select-license-column {
124-
grid-column: 1;
125-
}
126-
.locale-chooser {
127-
grid-column: 2;
128-
}
122+
grid-template-areas: "localechooser" "heading";
123+
}
124+
.selected-license-column {
125+
grid-area: heading;
126+
}
127+
.locale-chooser {
128+
grid-area: localechooser;
129129
}
130130
.stepper-instructions {
131131
margin-bottom: 14px;
@@ -135,43 +135,31 @@ export default {
135135
top: 10px;
136136
}
137137
.selected-license-card {
138-
// Margin is added to make the left column long enough for the right column to stay sticky when scrolling
138+
// Margin is added to make the left column long enough
139+
// for the right column to stay sticky when scrolling
139140
margin-bottom: 32px;
140141
}
141-
@media only screen and (max-width: 1025px) {
142-
#site-container {
143-
margin-left: 2%;
144-
margin-right: 2%;
145-
}
146-
.mobile-hide {
147-
display: none;
148-
}
149-
.mobile-show {
150-
display: block;
151-
}
142+
footer.footer.chooser-footer {
143+
margin-top: 2rem;
152144
}
153-
@media only screen and (max-width: 768px) {
145+
@media only screen and (min-width: 769px) {
154146
#site-container {
155-
padding-top: 0;
147+
padding-top: 2rem;
156148
}
157149
.page-head {
158-
grid-template-columns: 100%;
159-
grid-gap: 1rem;
150+
grid-template-columns: 1fr 1fr;
151+
grid-gap: 1.5rem;
152+
grid-template-areas: "heading localechooser";
160153
}
161-
.select-license-column {
162-
order: 2;
163-
}
164-
.locale-chooser {
165-
padding-top: 1rem;
166-
height: auto;
167-
grid-column: auto;
168-
order: 1;
154+
footer {
155+
margin-top: 5rem;
169156
}
170157
}
171-
@media only screen and (max-width: 670px) {
158+
@media only screen and (min-width: 1025px) {
172159
#site-container {
173-
margin-left: 3%;
174-
margin-right: 3%;
160+
padding-left: 0;
161+
padding-right: 0;
175162
}
176163
}
164+
177165
</style>

src/components/LocaleChooser.vue

+40-43
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="locale-chooser">
2+
<div>
33
<b-field
44
:label="this.$t('locale-selector.label')"
55
:class="'locale-chooser-field'"
@@ -40,51 +40,48 @@ export default {
4040
</script>
4141

4242
<style>
43-
.locale-chooser {
44-
height: 132px;
45-
}
46-
.locale-chooser-field {
47-
width: 100%;
48-
display: grid;
49-
grid-template-columns: 1fr 1fr;
50-
}
51-
.locale-chooser-field .label {
52-
justify-self: end;
53-
font-weight: normal;
54-
font-size: 16px;
55-
line-height: 36px;
56-
padding-right: 16px;
57-
}
58-
.locale-chooser-field .control,
59-
.locale-chooser-field .select,
60-
.locale-chooser-field select {
61-
width: 100%;
62-
}
63-
.locale-chooser-field .control .select select {
64-
padding-left: 2.5em;
65-
z-index: -1;
66-
}
67-
.locale-chooser-field .control .select::before {
68-
content: url("../assets/language.png");
69-
position: absolute;
70-
left:10px;
71-
top:8px;
72-
}
73-
.locale-chooser .select:not(.is-multiple):not(.is-loading)::after {
74-
z-index: 0;
75-
}
76-
@media only screen and (max-width: 768px) {
77-
.locale-chooser {
78-
height: auto;
79-
margin-bottom: 1rem;
80-
}
8143
.locale-chooser-field {
82-
width: 100%;
8344
display: grid;
84-
grid-template-columns: 100%;
45+
grid-template-columns: 1fr;
8546
}
8647
.locale-chooser-field .label {
87-
justify-self: auto;
48+
padding-right: 1rem;
49+
}
50+
.locale-chooser-field .control .select::before {
51+
content: url("../assets/language.png");
52+
position: absolute;
53+
left: 10px;
54+
top: 8px;
55+
z-index: 1;
56+
}
57+
.locale-chooser-field .control,
58+
.locale-chooser-field .select,
59+
.locale-chooser-field select {
60+
width: 100%;
61+
}
62+
.locale-chooser-field .control .select select {
63+
padding-left: 2.5em;
64+
}
65+
.locale-chooser-field label.label {
66+
font-weight: normal;
67+
font-size: 1rem;
68+
line-height: 2.25rem;
69+
margin-bottom: 0;
70+
}
71+
@media only screen and (min-width:769px) {
72+
.locale-chooser {
73+
justify-self: end;
74+
}
75+
}
76+
@media only screen and (min-width:1024px) {
77+
.locale-chooser-field {
78+
padding-top:0.5rem;
79+
display: grid;
80+
grid-template-columns: 1fr minmax(210px, 1fr);
81+
}
82+
.locale-chooser-field .label {
83+
padding-right: 0.5rem;
84+
justify-self: end;
85+
}
8886
}
89-
}
9087
</style>

0 commit comments

Comments
 (0)