Merge branch 'develop' into chore-show-login-name
This commit is contained in:
11 files changed
+39
-25
No files matched your search
@@ -1,6 +1,8 @@
|
||||
@use '../../variables/sizing';
|
||||
@use '../../utilities/type';
|
||||
|
||||
$xxxs: sizing.rems(xxxs); // 2
|
||||
|
||||
.rose-card-link {
|
||||
@include type.type(s);
|
||||
border: sizing.rems(xxxxs) solid var(--ui-gray-subtler-2);
|
||||
@@ -9,6 +11,8 @@
|
||||
display: inline-flex;
|
||||
flex-direction: column;
|
||||
margin: 0 sizing.rems(m) sizing.rems(m) 0;
|
||||
box-shadow: 0 $xxxs $xxxs rgba(var(--stark-components), var(--opacity-4)),
|
||||
0 $xxxs $xxxs rgba(var(--stark-components), var(--opacity-4));
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
|
||||
@@ -12,7 +12,12 @@
|
||||
display: grid;
|
||||
grid-template-areas: 'brand nav utilities';
|
||||
grid-template-columns: 0.01fr auto 1fr;
|
||||
background: var(--black) linear-gradient(90deg, #191a1c 0%, #1b212d 100%);
|
||||
background: var(--black);
|
||||
box-shadow: inset 0 -#{sizing.rems(xxxxs)} 0 var(--ui-border-subtler-1);
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: media.width(small)) {
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
&.active {
|
||||
color: var(--action);
|
||||
border-color: currentColor;
|
||||
background-color: var(--action-subtler-1h);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
// poles
|
||||
--subtle: #{darken(color(ui-gray, 900), 3%)};
|
||||
--subtle: var(--black);
|
||||
--stark: #{color(ui-gray, 100)};
|
||||
--stark-components: 255, 255, 255;
|
||||
|
||||
|
||||
@@ -9,6 +9,17 @@ export default class ScopesScopeAuthenticateRoute extends Route {
|
||||
|
||||
// =methods
|
||||
|
||||
beforeModel() {
|
||||
if (this.session.isAuthenticated) {
|
||||
const scope = this.modelFor('scopes.scope');
|
||||
if (scope.isGlobal) {
|
||||
this.transitionTo('scopes.scope.orgs');
|
||||
} else {
|
||||
this.transitionTo('scopes.scope.projects');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all auth methods for the current scope, along with the current
|
||||
* scope and all scopes (for org navigation).
|
||||
@@ -28,15 +39,4 @@ export default class ScopesScopeAuthenticateRoute extends Route {
|
||||
// }])
|
||||
});
|
||||
}
|
||||
|
||||
redirect() {
|
||||
if (this.session.isAuthenticated) {
|
||||
const scope = this.modelFor('scopes.scope');
|
||||
if (scope.isGlobal) {
|
||||
this.transitionTo('scopes.scope.orgs');
|
||||
} else {
|
||||
this.transitionTo('scopes.scope.projects');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -76,7 +76,7 @@
|
||||
&::after {
|
||||
animation: gradient 1s linear infinite;
|
||||
background: repeating-linear-gradient(to right, var(--subtle), var(--subtle), var(--info), var(--subtle), var(--subtle));
|
||||
background-position: 0 100%;
|
||||
background-position: -100% 0;
|
||||
background-size: 200% auto;
|
||||
content: ' ';
|
||||
height: 3px;
|
||||
@@ -86,7 +86,7 @@
|
||||
top: 100%;
|
||||
|
||||
@keyframes gradient {
|
||||
0% { background-position: 0 0; }
|
||||
0% { background-position: -100% 0; }
|
||||
100% { background-position: -200% 0; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
{{#each @model as |org|}}
|
||||
<cards.link
|
||||
@title={{org.name}}
|
||||
@subtitle={{org.id}}
|
||||
@description={{org.description}}
|
||||
@subtitle={{org.description}}
|
||||
@description={{org.id}}
|
||||
@route="scopes.scope"
|
||||
@model={{org.id}}
|
||||
/>
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
{{#each @model as |project|}}
|
||||
<cards.link
|
||||
@title={{project.name}}
|
||||
@subtitle={{project.id}}
|
||||
@description={{project.description}}
|
||||
@subtitle={{project.description}}
|
||||
@description={{project.id}}
|
||||
@route="scopes.scope.projects.project"
|
||||
@model={{project.id}}
|
||||
/>
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
import factory from '../generated/factories/org';
|
||||
|
||||
export default factory.extend();
|
||||
@@ -1,3 +0,0 @@
|
||||
import factory from '../generated/factories/project';
|
||||
|
||||
export default factory.extend();
|
||||
@@ -5,6 +5,16 @@ export default factory.extend({
|
||||
|
||||
type: 'global',
|
||||
|
||||
/**
|
||||
* Generates realistic-ish IDs while still being deterministic.
|
||||
*/
|
||||
id(i) {
|
||||
let id = 'tv6fv3yz8p';
|
||||
if (i % 3) id = 'xk1i4dk50v';
|
||||
if (i % 2) id = 's9n819zgko';
|
||||
return `s_${id}${i}`;
|
||||
},
|
||||
|
||||
withChildren: trait({
|
||||
afterCreate(record, server) {
|
||||
if (record.type === 'global') {
|
||||
|
||||
Reference in new issue
Block a user