Skip to content
GitLab
Menu
Why GitLab
Pricing
Contact Sales
Explore
Why GitLab
Pricing
Contact Sales
Explore
Sign in
Get free trial
Commits on Source (2)
(feat): use consistent class names
· a6a060b0
Marcelo Rivera
authored
Sep 16, 2019
a6a060b0
(fix): reset error when trying to save again
· 8fa9d973
Marcelo Rivera
authored
Sep 16, 2019
8fa9d973
Hide whitespace changes
Inline
Side-by-side
src/app/modules/pro/channel/channel.component.html
View file @
8fa9d973
<div
class=
"m-pro
--
channel"
*ngIf=
"channel"
>
<div
class=
"m-pro
__
channel"
*ngIf=
"channel"
>
<div
class=
"m-proChannel__topbar"
>
<img
class=
"m-proChannelTopbar__logo"
...
...
@@ -6,7 +6,7 @@
[routerLink]=
"homeRouterLink"
/>
<div
class=
"m-proChannelTopbar__
S
earchBox"
>
<div
class=
"m-proChannelTopbar__
s
earchBox"
>
<m-pro__searchBox
[(query)]=
"query"
(onSearch)=
"search()"
...
...
src/app/modules/pro/channel/channel.component.scss
View file @
8fa9d973
...
...
@@ -59,8 +59,8 @@ m-pro--channel {
}
@media
screen
and
(
max-width
:
$max-mobile
)
{
.m-pro
--
channel
{
.m-proChannelTopbar__
S
earchBox
{
.m-pro
__
channel
{
.m-proChannelTopbar__
s
earchBox
{
display
:
none
;
}
...
...
@@ -70,7 +70,7 @@ m-pro--channel {
}
}
.m-pro
--
channel
{
.m-pro
__
channel
{
max-width
:
1296px
;
margin
:
0
auto
;
display
:
grid
;
...
...
@@ -107,7 +107,7 @@ m-pro--channel {
padding
:
0
16px
0
0
;
}
.m-proChannelTopbar__
S
earchBox
{
.m-proChannelTopbar__
s
earchBox
{
margin
:
0
16px
;
@media
screen
and
(
max-width
:
1081px
)
{
...
...
src/app/modules/pro/channel/hamburger-menu/hamburger-menu.component.html
View file @
8fa9d973
<a
class=
"m-pro
__h
amburger
-m
enu__trigger"
(click)=
"toggleMenu()"
>
<a
class=
"m-pro
H
amburger
M
enu__trigger"
(click)=
"toggleMenu()"
>
<i
class=
"material-icons"
>
menu
</i>
</a>
<div
class=
"m-pro
__h
amburger
-m
enu__menu"
>
<a
class=
"m-pro
__h
amburger
-m
enu__close"
(click)=
"closeMenu()"
>
<div
class=
"m-pro
H
amburger
M
enu__menu"
>
<a
class=
"m-pro
H
amburger
M
enu__close"
(click)=
"closeMenu()"
>
<i
class=
"material-icons"
>
close
</i>
</a>
<ul>
<li
class=
"m-pro
__h
amburger
-menu-m
enu__logo"
*ngIf=
"channel"
>
<li
class=
"m-pro
H
amburger
M
enu__logo"
*ngIf=
"channel"
>
<img
[routerLink]=
"homeRouterLink"
[src]=
"channel.pro_settings.logo_image"
...
...
@@ -17,7 +17,7 @@
</li>
<li
class=
"m-pro
__h
amburger
-menu-m
enu__subscribe"
class=
"m-pro
H
amburger
M
enu__subscribe"
*ngIf=
"currentUser?.guid != channel?.guid"
>
<m-pro__subscribeButton
(onAction)=
"closeMenu()"
></m-pro__subscribeButton>
...
...
@@ -26,7 +26,7 @@
<li>
<a
[routerLink]=
"feedRouterLink"
routerLinkActive=
"m-pro
__h
amburger
-menu-m
enu__item--active"
routerLinkActive=
"m-pro
H
amburger
M
enu__item--active"
(click)=
"closeMenu()"
i18n
>
Feed
</a
...
...
@@ -36,7 +36,7 @@
<li>
<a
[routerLink]=
"videosRouterLink"
routerLinkActive=
"m-pro
__h
amburger
-menu-m
enu__item--active"
routerLinkActive=
"m-pro
H
amburger
M
enu__item--active"
(click)=
"closeMenu()"
i18n
>
Videos
</a
...
...
@@ -46,7 +46,7 @@
<li>
<a
[routerLink]=
"imagesRouterLink"
routerLinkActive=
"m-pro
__h
amburger
-menu-m
enu__item--active"
routerLinkActive=
"m-pro
H
amburger
M
enu__item--active"
(click)=
"closeMenu()"
i18n
>
Images
</a
...
...
@@ -56,7 +56,7 @@
<li>
<a
[routerLink]=
"articlesRouterLink"
routerLinkActive=
"m-pro
__h
amburger
-menu-m
enu__item--active"
routerLinkActive=
"m-pro
H
amburger
M
enu__item--active"
(click)=
"closeMenu()"
i18n
>
Articles
</a
...
...
@@ -66,7 +66,7 @@
<li>
<a
[routerLink]=
"groupsRouterLink"
routerLinkActive=
"m-pro
__h
amburger
-menu-m
enu__item--active"
routerLinkActive=
"m-pro
H
amburger
M
enu__item--active"
(click)=
"closeMenu()"
i18n
>
Groups
</a
...
...
@@ -79,7 +79,7 @@
</a>
</li>
<li
class=
"m-pro
__h
amburger
-menu-m
enu__search
-b
ox"
>
<li
class=
"m-pro
H
amburger
M
enu__search
B
ox"
>
<m-pro__searchBox
[query]=
"query"
(queryChange)=
"queryChange.emit($event)"
...
...
@@ -88,18 +88,18 @@
></m-pro__searchBox>
</li>
<li
class=
"m-pro
__h
amburger
-menu-m
enu__spacer"
></li>
<li
class=
"m-pro
H
amburger
M
enu__spacer"
></li>
<ng-container
*ngIf=
"items && items.length"
>
<li
*ngFor=
"let item of items"
>
<a
[class.m-pro
__h
amburger
-menu-m
enu__item--active]=
"item.isActive()"
[class.m-pro
H
amburger
M
enu__item--active]=
"item.isActive()"
(click)=
"item.onClick(); closeMenu()"
>
{{ item.label }}
</a
>
</li>
<li
class=
"m-pro
__h
amburger
-menu-m
enu__spacer"
></li>
<li
class=
"m-pro
H
amburger
M
enu__spacer"
></li>
</ng-container>
</ul>
...
...
src/app/modules/pro/channel/hamburger-menu/hamburger-menu.component.scss
View file @
8fa9d973
m-pro__hamburger-menu
{
position
:
relative
;
.m-pro
__h
amburger
-m
enu__menu
{
.m-pro
H
amburger
M
enu__menu
{
right
:
-110%
;
visibility
:
hidden
;
...
...
@@ -21,7 +21,7 @@ m-pro__hamburger-menu {
visibility
:
visible
;
}
.m-pro
__h
amburger
-m
enu__close
{
.m-pro
H
amburger
M
enu__close
{
position
:
absolute
;
top
:
30px
;
right
:
40px
;
...
...
@@ -49,7 +49,7 @@ m-pro__hamburger-menu {
font-weight
:
700
;
letter-spacing
:
1px
;
&
.m-pro
__h
amburger
-menu-m
enu__logo
{
&
.m-pro
H
amburger
M
enu__logo
{
height
:
100px
;
>
img
{
...
...
@@ -59,7 +59,7 @@ m-pro__hamburger-menu {
}
}
&
.m-pro
__h
amburger
-menu-m
enu__subscribe
{
&
.m-pro
H
amburger
M
enu__subscribe
{
padding
:
0
0
16px
;
text-align
:
center
;
...
...
@@ -69,7 +69,7 @@ m-pro__hamburger-menu {
}
}
&
.m-pro
__h
amburger
-menu-m
enu__search
-b
ox
{
&
.m-pro
H
amburger
M
enu__search
B
ox
{
>
m-pro__searchbox
{
width
:
100%
;
display
:
block
;
...
...
@@ -82,7 +82,7 @@ m-pro__hamburger-menu {
}
}
&
.m-pro
__h
amburger
-menu-m
enu__spacer
{
&
.m-pro
H
amburger
M
enu__spacer
{
height
:
0
;
border-top
:
1px
solid
var
(
--
m-pro--text-color
);
margin
:
16px
0
;
...
...
@@ -94,7 +94,7 @@ m-pro__hamburger-menu {
padding
:
12px
0
;
display
:
block
;
&
.m-pro
__h
amburger
-menu-m
enu__item--active
{
&
.m-pro
H
amburger
M
enu__item--active
{
color
:
var
(
--
m-pro--primary-color
)
!
important
;
}
}
...
...
src/app/modules/pro/channel/home/home.component.html
View file @
8fa9d973
<div
class=
"m-pro
--c
hannel
-
home"
>
<div
class=
"m-pro
C
hannel
__
home"
>
<m-pro--channel--categories
[showAllTag]=
"false"
[selectedHashtag]=
"''"
(onSelectTag)=
"navigateToCategory($event)"
></m-pro--channel--categories>
<div
class=
"m-pro
--c
hannel
-h
ome
--
section"
*ngIf=
"featuredContent?.length"
>
<div
class=
"m-pro
--c
hannel
-h
ome
--
featured
-c
ontent"
>
<div
class=
"m-pro
C
hannel
H
ome
__
section"
*ngIf=
"featuredContent?.length"
>
<div
class=
"m-pro
C
hannel
H
ome
__
featured
C
ontent"
>
<m-pro--channel-tile
*ngFor=
"let entity of featuredContent"
[entity]=
"entity"
...
...
@@ -15,14 +15,14 @@
</div>
</div>
<div
class=
"m-pro
--c
hannel
-h
ome
--
section"
*ngFor=
"let category of categories"
>
<div
class=
"m-pro
C
hannel
H
ome
__
section"
*ngFor=
"let category of categories"
>
<h2
i18n
>
<a
[routerLink]=
"getCategoryRoute(category.tag?.tag)"
>
{{
category.tag?.label
}}
</a>
</h2>
<div
class=
"m-pro
--c
hannel
-h
ome
--
category
-c
ontent"
>
<div
class=
"m-pro
C
hannel
H
ome
__
category
C
ontent"
>
<ng-container
*ngFor=
"let entity$ of category?.content"
>
<m-pro--channel-tile
*ngIf=
"entity$ | async as entity"
...
...
@@ -33,7 +33,7 @@
</div>
</div>
<div
class=
"m-pro
--c
hannel
-h
ome
--
loader"
*ngIf=
"inProgress"
>
<div
class=
"m-pro
C
hannel
H
ome
__
loader"
*ngIf=
"inProgress"
>
<div
class=
"mdl-spinner mdl-js-spinner is-active"
[
mdl
]
></div>
</div>
</div>
src/app/modules/pro/channel/home/home.component.scss
View file @
8fa9d973
m-pro
--c
hannel
-
home
{
m-pro
C
hannel
__
home
{
display
:
block
;
padding
:
0
32px
;
}
.m-pro
--c
hannel
-
home
{
.m-pro
C
hannel
__
home
{
m-pro--channel--categories
{
margin
:
16px
0
32px
;
...
...
@@ -12,7 +12,7 @@ m-pro--channel-home {
}
}
.m-pro
--c
hannel
-h
ome
--
section
{
.m-pro
C
hannel
H
ome
__
section
{
margin-bottom
:
72px
;
&
:last-child
{
...
...
@@ -36,13 +36,13 @@ m-pro--channel-home {
}
}
.m-pro
--c
hannel
-h
ome
--
loader
{
.m-pro
C
hannel
H
ome
__
loader
{
text-align
:
center
;
margin
:
32px
auto
;
}
.m-pro
--c
hannel
-h
ome
--
featured
-c
ontent
,
.m-pro
--c
hannel
-h
ome
--
category
-c
ontent
{
.m-pro
C
hannel
H
ome
__
featured
C
ontent
,
.m-pro
C
hannel
H
ome
__
category
C
ontent
{
width
:
80%
;
margin
:
0
auto
;
display
:
grid
;
...
...
@@ -53,7 +53,7 @@ m-pro--channel-home {
}
}
.m-pro
--c
hannel
-h
ome
--
featured
-c
ontent
{
.m-pro
C
hannel
H
ome
__
featured
C
ontent
{
grid-template-columns
:
repeat
(
2
,
1fr
);
*
:nth-child
(
1
)
{
...
...
@@ -69,7 +69,7 @@ m-pro--channel-home {
}
}
.m-pro
--c
hannel
-h
ome
--
category
-c
ontent
{
.m-pro
C
hannel
H
ome
__
category
C
ontent
{
grid-template-columns
:
repeat
(
2
,
1fr
);
@media
screen
and
(
max-width
:
$max-mobile
)
{
...
...
src/app/modules/pro/channel/login/login.component.html
View file @
8fa9d973
<section
class=
"m-
P
roChannelLogin
--
hero"
>
<div
class=
"m-
P
roChannelLogin
--h
ero
--
inner"
>
<div
class=
"m-
P
roChannelLogin
--h
ero
--
slogans"
>
<section
class=
"m-
p
roChannelLogin
__
hero"
>
<div
class=
"m-
p
roChannelLogin
H
ero
__
inner"
>
<div
class=
"m-
p
roChannelLogin
H
ero
__
slogans"
>
<h2>
{{ settings?.headline }}
</h2>
</div>
<div
class=
"m-
P
roChannelLogin
--login
"
>
<div
class=
"m-
p
roChannelLogin
__form
"
>
<ng-container
*ngIf=
"currentSection === 'login'"
>
<span
class=
"m-proChannelLogin
--
subtext"
>
<span
class=
"m-proChannelLogin
__
subtext"
>
Not on {{ settings?.title }}?
<a
(click)=
"currentSection = 'register'"
>
Start a Minds channel
</a>
</span>
...
...
@@ -15,7 +15,7 @@
</ng-container>
<ng-container
*ngIf=
"currentSection === 'register'"
>
<span
class=
"m-proChannelLogin
--
subtext"
>
<span
class=
"m-proChannelLogin
__
subtext"
>
<a
(click)=
"currentSection = 'login'"
>
I already have a Minds account
</a>
...
...
src/app/modules/pro/channel/login/login.component.scss
View file @
8fa9d973
...
...
@@ -9,11 +9,11 @@ m-pro--channel-login {
}
}
.m-
P
roChannelLogin
--
hero
{
.m-
p
roChannelLogin
__
hero
{
position
:
relative
;
width
:
100%
;
.m-
P
roChannelLogin
--h
ero
--
inner
{
.m-
p
roChannelLogin
H
ero
__
inner
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
...
...
@@ -55,7 +55,7 @@ m-pro--channel-login {
}
}
.m-
P
roChannelLogin
--
hero--video
{
.m-
p
roChannelLogin
__
hero--video
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
...
...
@@ -71,7 +71,7 @@ m-pro--channel-login {
}
}
.m-
P
roChannelLogin
--
hero--overlay
{
.m-
p
roChannelLogin
__
hero--overlay
{
position
:
absolute
;
top
:
0
;
left
:
0
;
...
...
@@ -83,7 +83,7 @@ m-pro--channel-login {
}
}
.m-
P
roChannelLogin
--h
ero
--
slogans
{
.m-
p
roChannelLogin
H
ero
__
slogans
{
flex-grow
:
1
;
z-index
:
2
;
...
...
@@ -137,7 +137,7 @@ m-pro--channel-login {
}
}
.m-
P
roChannelLogin
--login
{
.m-
p
roChannelLogin
__form
{
flex
:
1
;
margin-left
:
16px
;
z-index
:
2
;
...
...
@@ -149,7 +149,7 @@ m-pro--channel-login {
min-width
:
initial
;
}
.m-proChannelLogin
--
subtext
{
.m-proChannelLogin
__
subtext
{
display
:
block
;
margin
:
0
8px
;
font-size
:
20px
;
...
...
src/app/modules/pro/channel/subscribe-button/subscribe-button.component.html
View file @
8fa9d973
...
...
@@ -3,7 +3,7 @@
[class.m-pro__subscribeButton--subscribed]=
"subscribed"
(click)=
"toggleSubscription(); $event.preventDefault()"
>
<span
class=
"m-pro
__s
ubscribeButton
--
label"
>
<span
class=
"m-pro
S
ubscribeButton
__
label"
>
<ng-container
*ngIf=
"!subscribed; else subscribedActionButton"
i18n
>
Subscribe
</ng-container>
...
...
@@ -12,7 +12,7 @@
</ng-template>
</span>
<span
class=
"m-pro
__s
ubscribeButton
--
counter"
>
<span
class=
"m-pro
S
ubscribeButton
__
counter"
>
{{ count | abbr: 0 }}
</span>
</button>
src/app/modules/pro/channel/subscribe-button/subscribe-button.component.scss
View file @
8fa9d973
...
...
@@ -18,11 +18,11 @@
color
:
var
(
--
m-pro--text-color
);
}
.m-pro
__s
ubscribeButton
--
label
{
.m-pro
S
ubscribeButton
__
label
{
opacity
:
0
.85
;
}
.m-pro
__s
ubscribeButton
--
counter
{
.m-pro
S
ubscribeButton
__
counter
{
margin-left
:
0
.65em
;
}
}
src/app/modules/pro/channel/subscription/subscription.component.html
View file @
8fa9d973
...
...
@@ -19,13 +19,13 @@
Cancel Pro
</button>
<span
*ngIf=
"error"
class=
"m-pro
-s
ubscription
--
error"
>
<span
*ngIf=
"error"
class=
"m-pro
S
ubscription
__
error"
>
{{ error }}
</span>
</ng-container>
<ng-template
#inProgressSpinner
>
<div
class=
"m-pro
-s
ubscription
--in-p
rogress"
>
<div
class=
"m-pro
S
ubscription
__inP
rogress"
>
<div
class=
"mdl-spinner mdl-js-spinner is-active"
[
mdl
]
></div>
</div>
</ng-template>
...
...
src/app/modules/pro/channel/subscription/subscription.components.scss
View file @
8fa9d973
m-pro--subscription
{
.m-pro
-s
ubscription
--
error
{
.m-pro
S
ubscription
__
error
{
display
:
block
;
font-weight
:
bold
;
color
:
#fff
;
...
...
src/app/modules/pro/channel/unsubscribe-modal/modal.component.html
View file @
8fa9d973
<div
class=
"m-pro
--
unsubscribe
-m
odal"
>
<div
class=
"m-pro
__
unsubscribe
M
odal"
>
<div
class=
"m-ProUnsubscribeModal__body"
>
<span>
Do you wish to unsubscribe from
<strong>
{{ channelName }}
</strong
...
...
src/app/modules/pro/channel/unsubscribe-modal/modal.component.scss
View file @
8fa9d973
m-pro
--
unsubscribe
-m
odal
{
m-pro
__
unsubscribe
M
odal
{
@include
m-theme
()
{
background-color
:
rgba
(
themed
(
$m-black-always
)
,
0
.95
);
}
}
.m-pro
--
unsubscribe
-m
odal
{
.m-pro
__
unsubscribe
M
odal
{
>
*
{
color
:
var
(
--
m-pro--text-color
);
font-size
:
16px
;
...
...
src/app/modules/pro/settings/settings.component.html
View file @
8fa9d973
<div
class=
"m-pro
--
settings"
>
<div
class=
"m-pro
__
settings"
>
<div
class=
"m-toolbar"
*ngIf=
"settings"
>
<div
class=
"m-topbar--row"
>
<div
class=
"m-topbar--navigation m-topbar--navigation--text-only"
>
...
...
@@ -73,7 +73,7 @@
</div>
<div
class=
"m-page"
>
<div
class=
"m-page--main m-pro
--s
ettings
--
page m-border"
>
<div
class=
"m-page--main m-pro
S
ettings
__
page m-border"
>
<div
*ngIf=
"inProgress && !settings"
>
<div
class=
"mdl-spinner mdl-js-spinner is-active"
[
mdl
]
></div>
</div>
...
...
@@ -84,12 +84,12 @@
<!-- General -->
<ng-template
ngSwitchCase=
"general"
>
<p
class=
"m-pro
--s
ettings
--
note"
i18n
>
<p
class=
"m-pro
S
ettings
__
note"
i18n
>
Customize your title and headline. This will be used as your SEO
tags as well.
</p>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
for=
"title"
i18n
>
Title
</label>
<input
type=
"text"
...
...
@@ -99,7 +99,7 @@
/>
</div>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
for=
"headline"
i18n
>
Headline (can be multi-line)
</label>
<textarea
id=
"headline"
...
...
@@ -112,11 +112,11 @@
<!-- Theme -->
<ng-template
ngSwitchCase=
"theme"
>
<p
class=
"m-pro
--s
ettings
--
note"
i18n
>
<p
class=
"m-pro
S
ettings
__
note"
i18n
>
Set up your color scheme below.
</p>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
for=
"text_color"
i18n
>
Text Color
</label>
<input
type=
"color"
...
...
@@ -126,7 +126,7 @@
/>
</div>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
for=
"primary_color"
i18n
>
Primary Color
</label>
<input
type=
"color"
...
...
@@ -136,7 +136,7 @@
/>
</div>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
for=
"plain_background_color"
i18n
>
Plain Background Color
</label>
...
...
@@ -148,7 +148,7 @@
/>
</div>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
i18n
>
Color Schema
</label>
...
...
@@ -160,7 +160,7 @@
value=
"light"
[(ngModel)]=
"settings.scheme"
/>
<label
for=
"scheme_light"
class=
"m-pro
--s
ettings
--
inline
-l
abel"
>
<label
for=
"scheme_light"
class=
"m-pro
S
ettings
__
inline
L
abel"
>
Light
</label>
...
...
@@ -171,12 +171,12 @@
value=
"dark"
[(ngModel)]=
"settings.scheme"
/>
<label
for=
"scheme_dark"
class=
"m-pro
--s
ettings
--
inline
-l
abel"
>
<label
for=
"scheme_dark"
class=
"m-pro
S
ettings
__
inline
L
abel"
>
Dark
</label>
</div>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
i18n
>
Tiles Aspect Ratio
</label>
<ng-container
*ngFor=
"let ratio of ratios"
>
...
...
@@ -189,14 +189,14 @@
/>
<label
[for]=
"'tile_ratio_' + ratio"
class=
"m-pro
--s
ettings
--
inline
-l
abel"
class=
"m-pro
S
ettings
__
inline
L
abel"
>
{{ ratio }}
</label>
</ng-container>
</div>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
for=
"logo_guid"
i18n
>
Logo Asset GUID
</label>
<input
type=
"text"
...
...
@@ -210,16 +210,16 @@
<!-- Tags -->
<ng-template
ngSwitchCase=
"hashtags"
>
<p
class=
"m-pro
--s
ettings
--
note"
i18n
>
<p
class=
"m-pro
S
ettings
__
note"
i18n
>
Set up your category filter hashtags here.
</p>
<m-draggable-list
[data]=
"settings.tag_list"
[id]=
"'tag'"
>
<ng-template
let-tag=
"item"
let-i=
"i"
>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
i18n
>
Hashtag #{{ i + 1 }}
</label>
<div
class=
"m-pro
--s
ettings
--
flex
-i
nputs"
>
<div
class=
"m-pro
S
ettings
__
flex
I
nputs"
>
<input
type=
"text"
placeholder=
"Label"
...
...
@@ -244,7 +244,7 @@
</ng-template>
</m-draggable-list>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<button
class=
"m-btn m-btn--slim"
type=
"button"
...
...
@@ -260,11 +260,11 @@
<!-- Footer -->
<ng-template
ngSwitchCase=
"footer"
>
<p
class=
"m-pro
--s
ettings
--
note"
i18n
>
<p
class=
"m-pro
S
ettings
__
note"
i18n
>
Set up your footer links below.
</p>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
for=
"footer_text"
i18n
>
Text
</label>
<input
type=
"text"
...
...
@@ -276,10 +276,10 @@
<m-draggable-list
[data]=
"settings.footer_links"
[id]=
"'title'"
>
<ng-template
let-link=
"item"
let-i=
"i"
>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
i18n
>
Link #{{ i + 1 }}
</label>
<div
class=
"m-pro
--s
ettings
--
flex
-i
nputs"
>
<div
class=
"m-pro
S
ettings
__
flex
I
nputs"
>
<input
type=
"text"
placeholder=
"Title"
...
...
@@ -304,7 +304,7 @@
</ng-template>
</m-draggable-list>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<button
class=
"m-btn m-btn--slim"
type=
"button"
...
...
@@ -320,11 +320,11 @@
<!-- Domain -->
<ng-template
ngSwitchCase=
"domain"
>
<p
class=
"m-pro
--s
ettings
--
note"
i18n
>
<p
class=
"m-pro
S
ettings
__
note"
i18n
>
Customize your domain and setup your HTTPS certificates.
</p>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
for=
"domain"
i18n
>
Domain
</label>
<input
type=
"text"
...
...
@@ -334,17 +334,17 @@
/>
</div>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<label
for=
"custom_head"
i18n
>
Custom
<
head
>
Code
</label>
<textarea
class=
"m-pro
--s
ettings
--
code
-t
extarea"
class=
"m-pro
S
ettings
__
code
T
extarea"
id=
"custom_head"
name=
"custom_head"
[(ngModel)]=
"settings.custom_head"
[readOnly]=
"!isAdmin"
></textarea>
<p
*ngIf=
"!isAdmin"
class=
"m-pro
--s
ettings
--
note"
i18n
>
<p
*ngIf=
"!isAdmin"
class=
"m-pro
S
ettings
__
note"
i18n
>
In order to customize this field, please contact a Minds admin
or email info@minds.com.
</p>
...
...
@@ -354,12 +354,12 @@
<!-- Cancel -->
<ng-template
ngSwitchCase=
"cancel"
>
<p
class=
"m-pro
--s
ettings
--
note"
i18n
>
<p
class=
"m-pro
S
ettings
__
note"
i18n
>
Clicking the button below will take you to Minds Pro page, where
you can cancel your subscription.
</p>
<div
class=
"m-pro
--s
ettings
--
field"
>
<div
class=
"m-pro
S
ettings
__
field"
>
<a
class=
"m-btn m-link-btn m-btn--slim m-btn--destructive"
routerLink=
"/pro"
...
...
@@ -370,14 +370,14 @@
</ng-container>
<div
class=
"m-pro
--s
ettings
--
error"
class=
"m-pro
S
ettings
__
error"
*ngIf=
"!!error"
>
{{ error }}
</div>
<div
class=
"m-pro
--s
ettings
--
field m-pro
--s
ettings
--
field
-a
ctions"
class=
"m-pro
S
ettings
__
field m-pro
S
ettings
__
field
A
ctions"
*ngIf=
"currentTab !== 'cancel'"
>
<button
...
...
@@ -389,12 +389,12 @@
Save
</button>
<div
class=
"m-pro
--s
ettings
--
field
-s
pinner"
*ngIf=
"inProgress"
>
<div
class=
"m-pro
S
ettings
__
field
S
pinner"
*ngIf=
"inProgress"
>
<div
class=
"mdl-spinner mdl-js-spinner is-active"
[
mdl
]
></div>
</div>
<a
class=
"m-btn m-link-btn m-btn--slim m-pro
--s
ettings
--
preview
-b
tn"
class=
"m-btn m-link-btn m-btn--slim m-pro
S
ettings
__
preview
B
tn"
[routerLink]=
"previewRoute"
i18n
>
View your Pro channel
</a
...
...
src/app/modules/pro/settings/settings.component.scss
View file @
8fa9d973
.m-pro
--
settings
{
.m-pro
__
settings
{
max-width
:
1280px
;
margin
:
auto
;
...
...
@@ -7,7 +7,7 @@
}
}
.m-pro
--s
ettings
--
page
{
.m-pro
S
ettings
__
page
{
padding-bottom
:
24px
;
@include
m-theme
()
{
...
...
@@ -23,7 +23,7 @@
padding
:
0
;
}
.m-pro
--s
ettings
--
field
{
.m-pro
S
ettings
__
field
{
margin
:
0
0
24px
;
&
:last-child
{
...
...
@@ -39,7 +39,7 @@
color
:
themed
(
$m-grey-800
);
}
&
.m-pro
--s
ettings
--
inline
-l
abel
{
&
.m-pro
S
ettings
__
inline
L
abel
{
display
:
inline-block
;
padding
:
0
;
margin
:
0
0
.35em
;
...
...
@@ -72,7 +72,7 @@
height
:
6em
;
resize
:
none
;
&
.m-pro
--s
ettings
--
code
-t
extarea
{
&
.m-pro
S
ettings
__
code
T
extarea
{
font-family
:
monospace
;
font-size
:
13px
;
max-width
:
49em
;
...
...
@@ -84,7 +84,7 @@
}
}
&
.m-pro
--s
ettings
--
field
-a
ctions
{
&
.m-pro
S
ettings
__
field
A
ctions
{
display
:
flex
;
flex-direction
:
row
;
...
...
@@ -94,7 +94,7 @@
}
}
.m-pro
--s
ettings
--
preview
-b
tn
{
.m-pro
S
ettings
__
preview
B
tn
{
margin-left
:
0
.35em
;
@include
m-theme
()
{
...
...
@@ -103,13 +103,13 @@
}
}
.m-pro
--s
ettings
--
note
{
.m-pro
S
ettings
__
note
{
@include
m-theme
()
{
color
:
themed
(
$m-grey-400
);
}
}
.m-pro
--s
ettings
--
flex
-i
nputs
{
.m-pro
S
ettings
__
flex
I
nputs
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
...
...
@@ -129,11 +129,11 @@
}
}
.m-pro
--s
ettings
--
field
-s
pinner
{
.m-pro
S
ettings
__
field
S
pinner
{
margin-left
:
0
.65em
;
}
.m-pro
--s
ettings
--
error
{
.m-pro
S
ettings
__
error
{
margin
:
16px
0
;
font-size
:
20px
;
@include
m-theme
()
{
...
...
src/app/modules/pro/settings/settings.component.ts
View file @
8fa9d973
...
...
@@ -46,7 +46,8 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
protected
cd
:
ChangeDetectorRef
,
protected
title
:
MindsTitle
,
protected
site
:
SiteService
)
{}
)
{
}
ngOnInit
()
{
this
.
param$
=
this
.
route
.
params
.
subscribe
(
params
=>
{
...
...
@@ -82,6 +83,7 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
}
async
save
()
{
this
.
error
=
null
;
this
.
inProgress
=
true
;
this
.
detectChanges
();
...
...