1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 01:36:22 +00:00

update ui

This commit is contained in:
Rokt33r
2015-06-09 16:16:09 +09:00
parent f2daf5e9f4
commit 3b0dd3a188
17 changed files with 200 additions and 97 deletions

View File

@@ -15,6 +15,8 @@ angular.module('codexen')
vm.isLoaded = true
})
// TODO: When deletion occurs, switch the next snippet
// TODO: Add deletion confirmation modal
vm.delete = function () {
Snippet.delete(vm.snippet.id)
.success(function () {

View File

@@ -7,7 +7,7 @@ angular.module('codexen')
},
link: function (scope, el) {
el.on('click', function () {
Modal.editSnippet(scope.snippet)
Modal.editSnippet(angular.copy(scope.snippet))
.result.then(function (snippet) {
$rootScope.$broadcast('snippetUpdated', snippet)
}, function () {

View File

@@ -338,6 +338,10 @@ angular.module('ui.ace', [])
scope.addCommand = acee.commands.addCommand
elm.on('click', function () {
acee.focus()
})
}
};
}]);

View File

@@ -1,11 +1,36 @@
.alert
margin: 5px 0
input.form-control, textarea.form-control, input.inline-form-control
&::-webkit-input-placeholder
color $textColor
&:-moz-placeholder /* Firefox 18- */
color $textColor
&::-moz-placeholder /* Firefox 19+ */
color $textColor
&:-ms-input-placeholder
color $textColor
.inline-form-control
@extend .form-control
width: auto
display: inline-block
.btn.btn-default
border-style solid
border-width 1px
btn-color($btn-default-color, $btn-default-bg, $btn-default-border)
.btn.btn-primary
btn-color($btn-primary-color, $btn-primary-bg, $btn-primary-border)
.btn.btn-info
btn-color($btn-info-color, $btn-info-bg, $btn-info-border)
.btn.btn-success
btn-color($btn-success-color, $btn-success-bg, $btn-success-border)
.btn.btn-danger
btn-color($btn-danger-color, $btn-danger-bg, $btn-danger-border)
.btn.btn-warning
btn-color($btn-warning-color, $btn-warning-bg, $btn-warning-border)
textarea.form-control, .ace_editor
border-radius $input-border-radius

View File

@@ -42,7 +42,7 @@ $brand-danger= $btnError
$btn-default-bg= $buttonBackgroundColor
$btn-default-color= $textColor
$btn-default-border= $buttonBorderColor
$btn-default-border= $baseBorderColor
$link-color= $textColorHighlight
@@ -65,3 +65,22 @@ $modal-content-bg= $baseBackgroundColor
$modal-content-border-color= $modal-header-border-color= $modal-footer-border-color= $baseBorderColor
$jumbotron-bg= $backgroundColorHighlight
$alert-danger-bg= $textColorError
$alert-danger-border= dark($alert-danger-bg) ? darken($alert-danger-bg, 5%) : lighten($alert-danger-bg, 5%)
$alert-danger-text= $textColorSelected
$alert-info-bg= $textColorInfo
$alert-info-border= dark($alert-info-bg) ? darken($alert-info-bg, 5%) : lighten($alert-info-bg, 5%)
$alert-info-text= $textColorSelected
$alert-success-bg= $textColorSuccess
$alert-success-border= dark($alert-success-bg) ? darken($alert-success-bg, 5%) : lighten($alert-success-bg, 5%)
$alert-success-text= $textColorSelected
$alert-warning-bg= $textColorWarning
$alert-warning-border= dark($alert-warning-bg) ? darken($alert-warning-bg, 5%) : lighten($alert-warning-bg, 5%)
$alert-warning-text= $textColorSelected
$panel-bg= $baseBackgroundColor
$panel-default-border= $baseBorderColor

View File

@@ -87,6 +87,8 @@ body > .select2-container.open
.ui-select-bootstrap .ui-select-toggle
position: relative
border-radius $input-border-radius
.ui-select-placeholder
color $textColor
.ui-select-bootstrap .ui-select-toggle > .caret
@@ -104,7 +106,7 @@ body > .select2-container.open
.input-group > .ui-select-bootstrap > input.ui-select-search.form-control
border-radius: 4px /* FIXME hardcoded value :-/ */
border-radius: $input-border-radius
border-top-right-radius: 0
border-bottom-right-radius: 0
@@ -114,6 +116,7 @@ body > .select2-container.open
text-align: left !important
padding-right: 25px
border-radius $input-border-radius
border solid 1px $input-border
.ui-select-bootstrap > .ui-select-match > .caret

View File

@@ -0,0 +1,35 @@
btn-color($color, $background, $border)
color $color
background-color $background
border-color $border
&:hover,
&:focus,
&.focus,
&:active,
&.active,
.open > .dropdown-toggle&
color dark($background) ? lighten($color, 10%) : darken($color, 10%)
background-color dark($background) ? lighten($background, 10%) : darken($background, 10%)
border-color dark($border) ? lighten($border, 12%) : darken($border, 12%)
&:active,
&.active,
.open > .dropdown-toggle&
background-image none
&.disabled,
&[disabled],
fieldset[disabled] &
&,
&:hover,
&:focus,
&.focus,
&:active,
&.active
background-color $background
border-color $border
.badge
color $background
background-color $color

View File

@@ -0,0 +1,7 @@
.auth-state
.panel
margin-top 50px
h1
margin 15px 0
.auth-control
margin 10px 0

View File

@@ -44,11 +44,16 @@ $snippet-list-active-bg= $brand-primary
cursor: pointer
padding: 5px
border-right 1px solid $baseBorderColor
border-bottom 1px solid $baseBorderColor
&:nth-child(even)
background-color $baseBackgroundColor
&:nth-child(odd)
background-color lighten($baseBackgroundColor, 2%)
h4
margin: 0
&:hover
background-color: $snippet-list-item-hover-bg
background-color: $backgroundColorSelected
p
margin:0
@@ -78,17 +83,21 @@ $snippet-list-active-bg= $brand-primary
right: 0
overflow-x: hidden
overflow-y: auto
background-color lighten($baseBackgroundColor, 2%)
.snippets-detail-state
.detail-header
background-color lighten($baseBackgroundColor, 5%)
padding: 5px 10px
height: 50px
border-bottom: solid 1px $border-color
border-bottom: solid 1px $baseBorderColor
.detail-header-title
color: $textColorHighlight
small
font-size: 0.6em
color: $textColor
line-height: 40px
font-size: 1.2em

View File

@@ -3,25 +3,19 @@
<img width="30" class="img-circle" ng-src="http://www.gravatar.com/avatar/{{ vm.currentUser.email | gravatar }}">
<a href ng-bind="vm.currentUser.name"></a>
<span class="nav-control-group pull-right">
<a href class="btn btn-sm btn-default"><i class="fa fa-gears"></i></a>
<a href class="btn btn-sm btn-default" ng-click="vm.signOut()"><i class="fa fa-sign-out"></i></a>
<a href class="btn btn-sm btn-default"><i class="fa fa-gears fa-fw"></i></a>
<a href class="btn btn-sm btn-default" ng-click="vm.signOut()"><i class="fa fa-sign-out fa-fw"></i></a>
</span>
</div>
<div ng-if="!vm.currentUser">
<span>Guest</span>
<span class="dropdown" dropdown is-open>
<a type="button" name="button" dropdown-toggle class="btn btn-sm btn-default dropdown-toggle"><i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu">
<li>
<a ui-sref="auth.signin"><i class="fa fa-sign-in"></i> Sign In</a>
</li>
<li>
<a ui-sref="auth.register"><i class="fa fa-user-plus"></i> Register</a>
</li>
</ul>
<span class="nav-control-group pull-right">
<a class="btn btn-sm btn-default" ui-sref="auth.register"><i class="fa fa-user-plus fa-fw"></i></a>
<a class="btn btn-sm btn-default" ui-sref="auth.signin"><i class="fa fa-sign-in fa-fw"></i></a>
</span>
</div>
</div>

View File

@@ -8,7 +8,7 @@
<textarea ng-model="vm.snippet.description" name="description" class="form-control" placeholder="Description..."></textarea>
</div>
<div class="form-group">
<input ng-model="vm.snippet.callSign" type="text" name="callSign" class="inline-form-control" placeholder="Call sign">
<input ng-model="vm.snippet.callSign" type="text" name="callSign" class="inline-form-control" placeholder="Callsign">
<ui-select ng-model="vm.snippet.mode" style="display: inline-block;" theme="bootstrap">
<ui-select-match placeholder="Select Type">{{$select.selected}}</ui-select-match>
@@ -32,7 +32,7 @@
<div class="form-group">
<ui-select multiple tagging="vm.transform" tagging-tokens="SPACE|,|/" ng-model="vm.snippet.Tags" theme="bootstrap">
<ui-select-match placeholder="Write Tags">{{$item.name}}</ui-select-match>
<ui-select-match placeholder="Tags...">{{$item.name}}</ui-select-match>
<ui-select-choices repeat="tag in vm.tagCandidates" refresh="vm.refreshTagCandidates($select.search)"
refresh-delay="200">
<div><span ng-bind-html="tag.name | highlight: $select.search"></span><span ng-if="tag.isTag">(new)</span></div>

View File

@@ -8,7 +8,7 @@
<textarea ng-model="vm.description" name="description" class="form-control" placeholder="Description..."></textarea>
</div>
<div class="form-group">
<input ng-model="vm.callSign" type="text" name="callSign" class="inline-form-control" placeholder="Call sign">
<input ng-model="vm.callSign" type="text" name="callSign" class="inline-form-control" placeholder="Callsign">
<ui-select ng-model="vm.mode" style="display: inline-block;" on-select="vm.log(vm.mode.name.toLowerCase())" theme="bootstrap">
<ui-select-match placeholder="Select Type">{{$select.selected}}</ui-select-match>
@@ -32,7 +32,7 @@
<div class="form-group">
<ui-select multiple tagging="vm.transform" tagging-tokens="SPACE|,|/" ng-model="vm.tags" theme="bootstrap">
<ui-select-match placeholder="Write Tags">{{$item.name}}</ui-select-match>
<ui-select-match placeholder="Tags...">{{$item.name}}</ui-select-match>
<ui-select-choices repeat="tag in vm.tagCandidates" refresh="vm.refreshTagCandidates($select.search)"
refresh-delay="200">
<div><span ng-bind-html="tag.name | highlight: $select.search"></span><span ng-if="tag.isTag">(new)</span></div>

View File

@@ -1,56 +1,54 @@
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<form novalidate name="registerForm" ng-submit="vm.signup()">
<!-- Email -->
<div class="form-group">
<label for="email">E-mail</label>
<input ng-model="vm.email" type="text" id="email" name="email" class="form-control" placeholder="E-mail" required>
<form novalidate name="registerForm" ng-submit="registerForm.$valid?vm.signup():null">
<div class="alert alert-danger" ng-if="(registerForm.$submitted || registerForm.email.$touched) && !vm.isEmpty(registerForm.email.$error)">
<div ng-show="registerForm.email.$error.required">No E-mail given.</div>
<div ng-show="registerForm.email.$error.email">Invalid Address.</div>
</div>
</div>
<!-- Email -->
<div class="form-group">
<label for="email">E-mail</label>
<input ng-model="vm.email" type="email" id="email" name="email" class="form-control" placeholder="E-mail" required>
<!-- Password -->
<div class="form-group">
<label for="password">Password</label>
<input ng-model="vm.password" type="password" id="password" name="password" class="form-control" placeholder="Password" required>
<div class="alert alert-danger" ng-if="registerForm.$submitted && !vm.isEmpty(registerForm.email.$error)">
<div ng-show="registerForm.email.$error.required">No E-mail given.</div>
<div ng-show="registerForm.email.$error.email">Invalid Address.</div>
</div>
<div ng-click="vm.log(registerForm.password.$error)" class="alert alert-danger" ng-if="(registerForm.$submitted || registerForm.password.$touched) && !vm.isEmpty(registerForm.password.$error)">
<div ng-show="registerForm.password.$error.required">No password given.</div>
</div>
</div>
<hr>
<!-- Username -->
<div class="form-group">
<label for="name">Username</label>
<input ng-model="vm.name" ng-pattern="'^[A-Za-z0-9\-\_]+$'" type="text" id="name" name="name" class="form-control" required>
<div class="alert alert-danger" ng-if="(registerForm.$submitted || registerForm.name.$touched) && !vm.isEmpty(registerForm.name.$error)">
<div ng-show="registerForm.name.$error.required">No Username given.</div>
<div ng-show="registerForm.name.$error.pattern">Username should be ^[A-Za-z0-9\-\_]+$</div>
</div>
</div>
<!-- Profile name -->
<div class="form-group">
<label for="profileName">Profile name</label>
<input ng-model="vm.profileName" type="text" name="profileName" class="form-control" required>
<div class="alert alert-danger" ng-if="(registerForm.$submitted || registerForm.profileName.$touched) && !vm.isEmpty(registerForm.profileName.$error)">
<div ng-show="registerForm.profileName.$error.required">No Profile name given.</div>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary form-control">Register</button>
</div>
</form>
</div>
</div>
<!-- Password -->
<div class="form-group">
<label for="password">Password</label>
<input ng-model="vm.password" type="password" id="password" name="password" class="form-control" placeholder="Password" required>
<div class="alert alert-danger" ng-if="registerForm.$submitted && !vm.isEmpty(registerForm.password.$error)">
<div ng-show="registerForm.password.$error.required">No password given.</div>
</div>
</div>
<hr>
<!-- Username -->
<div class="form-group">
<label for="name">Username</label>
<input ng-model="vm.name" ng-pattern="'^[A-Za-z0-9\-\_]+$'" type="text" id="name" name="name" class="form-control" required>
<div class="alert alert-danger" ng-if="registerForm.$submitted && !vm.isEmpty(registerForm.name.$error)">
<div ng-show="registerForm.name.$error.required">No Username given.</div>
<div ng-show="registerForm.name.$error.pattern">Username should be ^[A-Za-z0-9\-\_]+$ (only alphanumeric, hyphen, underscore characters)</div>
</div>
</div>
<!-- Profile name -->
<div class="form-group">
<label for="profileName">Profile name</label>
<input ng-model="vm.profileName" type="text" name="profileName" class="form-control" required>
<div class="alert alert-danger" ng-if="registerForm.$submitted && !vm.isEmpty(registerForm.profileName.$error)">
<div ng-show="registerForm.profileName.$error.required">No Profile name given.</div>
</div>
</div>
<div class="form-group">
<button ng-class="{'btn-danger':registerForm.$invalid, 'btn-primary':registerForm.$valid}" type="submit" class="btn form-control">Register</button>
</div>
</form>

View File

@@ -1,19 +1,15 @@
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<form ng-submit="vm.signIn()">
<div class="form-group">
<label for="email">E-mail</label>
<input ng-model="vm.email" type="text" id="email" name="name" class="form-control" placeholder="E-mail">
</div>
<div class="form-group">
<label for="password">Password</label>
<input ng-model="vm.password" type="password" id="password" name="name" class="form-control" placeholder="Password">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary form-control">Sign In</button>
</div>
</form>
<form ng-submit="vm.signIn()">
<div class="form-group">
<label for="email">E-mail</label>
<input ng-model="vm.email" type="text" id="email" name="name" class="form-control" placeholder="E-mail">
</div>
</div>
<div class="form-group">
<label for="password">Password</label>
<input ng-model="vm.password" type="password" id="password" name="name" class="form-control" placeholder="Password">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary form-control">Sign In</button>
</div>
</form>

View File

@@ -1,9 +1,19 @@
<div class="container-fluid">
<div class="auth-state container-fluid">
<div class="row">
<div class="col-sm-6 col-sm-offset-3 panel panel-default">
<div class="text-center">
<h1>Auth</h1>
<a class="btn btn-default" ui-sref-active="active" ui-sref="auth.register">Register</a> or <a class="btn btn-default" ui-sref-active="active" ui-sref="auth.signin">Sign In</a>
<div class="text-center">
<h1>Authentication</h1>
<div class="auth-control">
<a class="btn btn-default" ui-sref-active="active" ui-sref="auth.register"><i class="fa fa-user-plus fa-fw"></i> Register</a> or <a class="btn btn-default" ui-sref-active="active" ui-sref="auth.signin"><i class="fa fa-sign-in fa-fw"></i> Sign In</a>
</div>
</div>
<ui-view></ui-view>
</div>
</div>
<ui-view></ui-view>
</div>

View File

@@ -2,6 +2,7 @@
<div class="detail-header">
<span class="detail-header-title">
<small>callsign</small>
<span ng-bind="vm.snippet.callSign"></span>
<small><span ng-bind="vm.snippet.updatedAt|fromNow"></span> <i class="fa fa-clock-o"></i></small>
</span>

View File

@@ -29,7 +29,7 @@
<li ng-repeat="snippet in vm.snippets | filter:vm.search" ui-sref="snippets.detail({id:snippet.id})" ui-sref-active="active">
<div class="media">
<div class="media-left">
<img width="25" height="25" src="http://www.gravatar.com/avatar/ea0b6ad1c11700120d1af08810caa19d" alt="" />
<img width="25" height="25" class="img-circle" src="http://www.gravatar.com/avatar/ea0b6ad1c11700120d1af08810caa19d" alt="" />
</div>
<div class="media-body">
<p ng-bind="snippet.callSign" class="call-sign">