mirror of
https://github.com/philomena-dev/philomena.git
synced 2025-02-08 07:06:44 +01:00
work on buttons and tags
This commit is contained in:
parent
db237a9853
commit
59a5f583b3
21 changed files with 121 additions and 48 deletions
|
@ -45,6 +45,7 @@ $fa-font-path: '~@fortawesome/fontawesome-free/webfonts';
|
||||||
@import "~views/communication";
|
@import "~views/communication";
|
||||||
@import "~views/footer";
|
@import "~views/footer";
|
||||||
@import "~views/header";
|
@import "~views/header";
|
||||||
|
@import "~views/image";
|
||||||
@import "~views/markdown";
|
@import "~views/markdown";
|
||||||
@import "~views/metabar";
|
@import "~views/metabar";
|
||||||
@import "~views/pagination";
|
@import "~views/pagination";
|
||||||
|
|
|
@ -24,14 +24,19 @@ $font-family-monospace: "Droid Sans Mono", monospace;
|
||||||
--navbar-input-width: 18vw;
|
--navbar-input-width: 18vw;
|
||||||
--navbar-input-max-width: 22rem;
|
--navbar-input-max-width: 22rem;
|
||||||
|
|
||||||
|
--button-height: 2rem;
|
||||||
--button-group-height: 2rem;
|
--button-group-height: 2rem;
|
||||||
--button-group-tall-height: 2.5rem;
|
--button-group-tall-height: 2.5rem;
|
||||||
--button-group-small-height: 1.5rem;
|
--button-group-small-height: 1.5rem;
|
||||||
|
|
||||||
|
--tag-height: calc(1em * 2);
|
||||||
|
--tag-border-width: 0;
|
||||||
|
|
||||||
--column-left-width: 360px;
|
--column-left-width: 360px;
|
||||||
|
|
||||||
--border-radius-outer: 0.35rem;
|
--border-radius-outer: 0.35rem;
|
||||||
--border-radius-inner: 0.25rem;
|
--border-radius-inner: 0.25rem;
|
||||||
|
--border-radius-tag: 0.2rem;
|
||||||
|
|
||||||
--media-container-width: 225px;
|
--media-container-width: 225px;
|
||||||
--media-tiny-container-width: 50px;
|
--media-tiny-container-width: 50px;
|
||||||
|
@ -54,6 +59,7 @@ $font-family-monospace: "Droid Sans Mono", monospace;
|
||||||
--font-size: 14px;
|
--font-size: 14px;
|
||||||
--font-tiny-size: 12px;
|
--font-tiny-size: 12px;
|
||||||
--font-header-size: 16px;
|
--font-header-size: 16px;
|
||||||
|
--font-icon-size: 2rem;
|
||||||
--font-h1-size: 1.75rem;
|
--font-h1-size: 1.75rem;
|
||||||
--font-h2-size: 1.5rem;
|
--font-h2-size: 1.5rem;
|
||||||
--font-h3-size: 1.35rem;
|
--font-h3-size: 1.35rem;
|
||||||
|
|
|
@ -85,6 +85,7 @@
|
||||||
line-height: var(--block-header-height);
|
line-height: var(--block-header-height);
|
||||||
padding: 0 var(--padding-normal);
|
padding: 0 var(--padding-normal);
|
||||||
font-size: var(--font-header-size);
|
font-size: var(--font-header-size);
|
||||||
|
margin-bottom: var(--padding-small);
|
||||||
|
|
||||||
& > .fa {
|
& > .fa {
|
||||||
margin-right: var(--padding-normal);
|
margin-right: var(--padding-normal);
|
||||||
|
@ -100,6 +101,14 @@
|
||||||
color: var(--link-color) !important;
|
color: var(--link-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.block__header__buttons {
|
||||||
|
display: flex;
|
||||||
|
gap: var(--padding-normal);
|
||||||
|
line-height: var(--block-header-height);
|
||||||
|
font-size: var(--font-size);
|
||||||
|
padding: 0 var(--padding-normal);
|
||||||
|
}
|
||||||
|
|
||||||
.block--fixed {
|
.block--fixed {
|
||||||
padding: var(--padding-normal);
|
padding: var(--padding-normal);
|
||||||
border-radius: var(--border-radius-inner);
|
border-radius: var(--border-radius-inner);
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
@mixin button-type($type) {
|
@mixin button-type($type) {
|
||||||
.button--#{$type} {
|
.button--#{$type} {
|
||||||
|
color: var(--#{$type}-link-color) !important;
|
||||||
border-color: var(--#{$type}-border-color);
|
border-color: var(--#{$type}-border-color);
|
||||||
|
background: var(--#{$type}-dark-color);
|
||||||
|
|
||||||
&.button--important {
|
&.button--important {
|
||||||
background: var(--#{$type}-color) !important;
|
color: var(--text-color) !important;
|
||||||
|
background: var(--#{$type}-color);
|
||||||
box-shadow: 0 -1px var(--#{$type}-dark-color) inset;
|
box-shadow: 0 -1px var(--#{$type}-dark-color) inset;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.button:hover {
|
&:hover {
|
||||||
background: var(--#{$type}-dark-color) !important;
|
background: var(--#{$type}-muted-color) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,25 +33,31 @@
|
||||||
|
|
||||||
.button {
|
.button {
|
||||||
@include animated-transition;
|
@include animated-transition;
|
||||||
display: block;
|
display: flex;
|
||||||
|
flex: 0 1 auto;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background: var(--background-color);
|
font-size: var(--font-size);
|
||||||
color: var(--text-color) !important;
|
background: var(--primary-dark-color);
|
||||||
font-size: var(--padding-normal);
|
color: var(--text-color);
|
||||||
padding: var(--padding-small);
|
|
||||||
border: 1px solid var(--primary-border-color);
|
border: 1px solid var(--primary-border-color);
|
||||||
border-radius: var(--border-radius-inner);
|
border-radius: var(--border-radius-inner);
|
||||||
box-sizing: border-box;
|
padding: 0 var(--padding-small);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
line-height: var(--button-height);
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@include animated-transition;
|
@include animated-transition;
|
||||||
background: var(--primary-dark-color);
|
background: var(--primary-muted-color);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.button > i {
|
||||||
|
margin-right: var(--padding-small);
|
||||||
|
}
|
||||||
|
|
||||||
.button--important {
|
.button--important {
|
||||||
background: var(--primary-color);
|
background: var(--primary-color);
|
||||||
box-shadow: 0 -1px var(--primary-dark-color) inset;
|
box-shadow: 0 -1px var(--primary-dark-color) inset;
|
||||||
|
@ -116,6 +125,16 @@
|
||||||
border-width: 0;
|
border-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.block__header__buttons .button {
|
||||||
|
color: var(--link-color);
|
||||||
|
border-width: 0 !important;
|
||||||
|
background: 0;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: var(--primary-muted-color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@include button-type(success);
|
@include button-type(success);
|
||||||
@include button-type(warning);
|
@include button-type(warning);
|
||||||
@include button-type(danger);
|
@include button-type(danger);
|
||||||
|
|
17
assets/css/views/_image.scss
Normal file
17
assets/css/views/_image.scss
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
.image-description {
|
||||||
|
margin-top: var(--padding-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
.image_sources {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: var(--font-icon-size) auto;
|
||||||
|
gap: var(--padding-small);
|
||||||
|
}
|
||||||
|
|
||||||
|
.image_source__icon, .image_source__link {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image_source__icon {
|
||||||
|
justify-self: center;
|
||||||
|
}
|
|
@ -14,13 +14,17 @@
|
||||||
|
|
||||||
.pagination a {
|
.pagination a {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: auto auto;
|
grid-template-columns: auto;
|
||||||
gap: var(--padding-tiny);
|
gap: var(--padding-tiny);
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0 var(--padding-small);
|
padding: 0 var(--padding-small);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.pagination .with-icon {
|
||||||
|
grid-template-columns: auto auto;
|
||||||
|
}
|
||||||
|
|
||||||
.page__info {
|
.page__info {
|
||||||
align-self: center;
|
align-self: center;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,18 +21,18 @@
|
||||||
.tag-list {
|
.tag-list {
|
||||||
@extend .flex__row;
|
@extend .flex__row;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
gap: var(--padding-small);
|
||||||
margin-bottom: var(--padding-normal);
|
margin-bottom: var(--padding-normal);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tag {
|
.tag {
|
||||||
display: inline-table;
|
display: inline-table;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
line-height: var(--padding-large);
|
line-height: var(--tag-height);
|
||||||
margin-right: var(--padding-small);
|
|
||||||
margin-bottom: var(--padding-small);
|
|
||||||
color: var(--tag-default-text-color);
|
color: var(--tag-default-text-color);
|
||||||
background: var(--tag-default-color);
|
background: var(--tag-default-color);
|
||||||
border: 1px solid var(--tag-default-border-color);
|
border-radius: var(--border-radius-tag);
|
||||||
|
border: var(--tag-border-width) solid var(--tag-default-border-color);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
|
@ -70,6 +70,9 @@
|
||||||
background: var(--tag-default-border-color);
|
background: var(--tag-default-border-color);
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
padding: 0 var(--padding-small);
|
padding: 0 var(--padding-small);
|
||||||
|
overflow: hidden;
|
||||||
|
border-top-right-radius: var(--border-radius-tag);
|
||||||
|
border-bottom-right-radius: var(--border-radius-tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tag__dropdown__link {
|
.tag__dropdown__link {
|
||||||
|
@ -86,3 +89,15 @@
|
||||||
font-size: var(--font-tiny-size);
|
font-size: var(--font-tiny-size);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tag-info__controls {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag-info__controls > .tag {
|
||||||
|
margin-right: var(--padding-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
.js-imagelist-info {
|
||||||
|
margin-bottom: var(--padding-normal);
|
||||||
|
}
|
||||||
|
|
|
@ -26,9 +26,9 @@
|
||||||
span = pretty_time(image.created_at)
|
span = pretty_time(image.created_at)
|
||||||
.approval-items--footer
|
.approval-items--footer
|
||||||
= if can?(@conn, :approve, image) do
|
= if can?(@conn, :approve, image) do
|
||||||
= button_to "Approve", Routes.image_approve_path(@conn, :create, image), method: "post", class: "button button--state-success"
|
= button_to "Approve", Routes.image_approve_path(@conn, :create, image), method: "post", class: "button button--success"
|
||||||
= if can?(@conn, :hide, image) do
|
= if can?(@conn, :hide, image) do
|
||||||
= form_for :image, Routes.image_delete_path(@conn, :create, image), [method: "post"], fn f ->
|
= form_for :image, Routes.image_delete_path(@conn, :create, image), [method: "post"], fn f ->
|
||||||
.field.field--inline
|
.field.field--inline
|
||||||
= text_input f, :deletion_reason, class: "input input--wide", placeholder: "Rule violation", required: true
|
= text_input f, :deletion_reason, class: "input input--wide", placeholder: "Rule violation", required: true
|
||||||
= submit "Delete", class: "button button--state-danger button--separate-left"
|
= submit "Delete", class: "button button--danger button--separate-left"
|
||||||
|
|
|
@ -6,4 +6,4 @@ h1
|
||||||
.field
|
.field
|
||||||
=> text_input f, :forced_filter_id, placeholder: "Filter ID", class: "input", required: true
|
=> text_input f, :forced_filter_id, placeholder: "Filter ID", class: "input", required: true
|
||||||
.field
|
.field
|
||||||
= submit "Force", class: "button button--state-primary"
|
= submit "Force", class: "button button--primary"
|
||||||
|
|
|
@ -27,7 +27,7 @@ elixir:
|
||||||
=> select f, :sd, ["Descending": "desc", "Ascending": "asc"], class: "input"
|
=> select f, :sd, ["Descending": "desc", "Ascending": "asc"], class: "input"
|
||||||
|
|
||||||
.field
|
.field
|
||||||
= submit "Search", class: "button button--state-primary"
|
= submit "Search", class: "button button--primary"
|
||||||
.block
|
.block
|
||||||
.block__header
|
.block__header
|
||||||
a href="/galleries/new" title="Create Gallery"
|
a href="/galleries/new" title="Create Gallery"
|
||||||
|
|
|
@ -98,32 +98,32 @@
|
||||||
= label f, :deletion_reason, "Deletion reason (cannot be empty)"
|
= label f, :deletion_reason, "Deletion reason (cannot be empty)"
|
||||||
.field.field--inline
|
.field.field--inline
|
||||||
= text_input f, :deletion_reason, class: "input input--wide", placeholder: "Rule violation", required: true
|
= text_input f, :deletion_reason, class: "input input--wide", placeholder: "Rule violation", required: true
|
||||||
= submit "Delete", class: "button button--state-danger button--separate-left"
|
= submit "Delete", class: "button button--danger button--separate-left"
|
||||||
- else
|
- else
|
||||||
= form_for @changeset, Routes.image_delete_path(@conn, :update, @image), [method: "put"], fn f ->
|
= form_for @changeset, Routes.image_delete_path(@conn, :update, @image), [method: "put"], fn f ->
|
||||||
= label f, :deletion_reason, "Deletion reason (cannot be empty)"
|
= label f, :deletion_reason, "Deletion reason (cannot be empty)"
|
||||||
.field.field--inline
|
.field.field--inline
|
||||||
= text_input f, :deletion_reason, class: "input input--wide", placeholder: "Rule violation", required: true
|
= text_input f, :deletion_reason, class: "input input--wide", placeholder: "Rule violation", required: true
|
||||||
= submit "Change hide reason", class: "button button--state-danger button--separate-left"
|
= submit "Change hide reason", class: "button button--danger button--separate-left"
|
||||||
|
|
||||||
.flex.flex--spaced-out.flex--wrap
|
.flex.flex--spaced-out.flex--wrap
|
||||||
= if not @image.hidden_from_users do
|
= if not @image.hidden_from_users do
|
||||||
= form_for @changeset, Routes.image_feature_path(@conn, :create, @image), [method: "post"], fn _f ->
|
= form_for @changeset, Routes.image_feature_path(@conn, :create, @image), [method: "post"], fn _f ->
|
||||||
.field
|
.field
|
||||||
p Marks the image as featured
|
p Marks the image as featured
|
||||||
= submit "Feature", data: [confirm: "Are you really, really sure?"], class: "button button--state-success"
|
= submit "Feature", data: [confirm: "Are you really, really sure?"], class: "button button--success"
|
||||||
- else
|
- else
|
||||||
= button_to "Restore", Routes.image_delete_path(@conn, :delete, @image), method: "delete", class: "button button--state-success"
|
= button_to "Restore", Routes.image_delete_path(@conn, :delete, @image), method: "delete", class: "button button--success"
|
||||||
|
|
||||||
= form_for @changeset, Routes.image_repair_path(@conn, :create, @image), [method: "post"], fn _f ->
|
= form_for @changeset, Routes.image_repair_path(@conn, :create, @image), [method: "post"], fn _f ->
|
||||||
.field
|
.field
|
||||||
= submit "Repair", class: "button button--state-success"
|
= submit "Repair", class: "button button--success"
|
||||||
|
|
||||||
= form_for @changeset, Routes.image_hash_path(@conn, :delete, @image), [method: "delete"], fn _f ->
|
= form_for @changeset, Routes.image_hash_path(@conn, :delete, @image), [method: "delete"], fn _f ->
|
||||||
.field
|
.field
|
||||||
p Allows reuploading the image
|
p Allows reuploading the image
|
||||||
.flex.flex--end-bunched
|
.flex.flex--end-bunched
|
||||||
= submit "Clear hash", data: [confirm: "Are you really, really sure?"], class: "button button--state-danger"
|
= submit "Clear hash", data: [confirm: "Are you really, really sure?"], class: "button button--danger"
|
||||||
|
|
||||||
br
|
br
|
||||||
.flex.flex--spaced-out
|
.flex.flex--spaced-out
|
||||||
|
@ -146,6 +146,6 @@
|
||||||
.flex.flex--spaced-out
|
.flex.flex--spaced-out
|
||||||
= link "Lock specific tags", to: Routes.image_tag_lock_path(@conn, :show, @image), class: "button"
|
= link "Lock specific tags", to: Routes.image_tag_lock_path(@conn, :show, @image), class: "button"
|
||||||
= if not @image.approved and can?(@conn, :approve, @image) do
|
= if not @image.approved and can?(@conn, :approve, @image) do
|
||||||
= button_to "Approve image", Routes.image_approve_path(@conn, :create, @image), method: "post", class: "button button--state-success", data: [confirm: "Are you sure?"]
|
= button_to "Approve image", Routes.image_approve_path(@conn, :create, @image), method: "post", class: "button button--success", data: [confirm: "Are you sure?"]
|
||||||
= if @image.hidden_from_users and can?(@conn, :destroy, @image) do
|
= if @image.hidden_from_users and can?(@conn, :destroy, @image) do
|
||||||
= button_to "Destroy image", Routes.image_destroy_path(@conn, :create, @image), method: "post", class: "button button--state-danger", data: [confirm: "This action is IRREVERSIBLE. Are you sure?"]
|
= button_to "Destroy image", Routes.image_destroy_path(@conn, :create, @image), method: "post", class: "button button--danger", data: [confirm: "This action is IRREVERSIBLE. Are you sure?"]
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
| )
|
| )
|
||||||
= if can?(@conn, :hide, @image) and not hide_staff_tools?(@conn) do
|
= if can?(@conn, :hide, @image) and not hide_staff_tools?(@conn) do
|
||||||
= form_for @changeset, Routes.image_source_history_path(@conn, :delete, @image), [method: "delete"], fn _f ->
|
= form_for @changeset, Routes.image_source_history_path(@conn, :delete, @image), [method: "delete"], fn _f ->
|
||||||
a.button.button--state-danger.button--inline type="submit" data-confirm="Are you really, really sure?" title="Wipe sources"
|
a.button.button--danger.button--inline type="submit" data-confirm="Are you really, really sure?" title="Wipe sources"
|
||||||
i.fas.fa-eraser>
|
i.fas.fa-eraser>
|
||||||
' Wipe
|
' Wipe
|
||||||
.block__content.flex.flex--wrap.flex--column
|
.block__content.flex.flex--wrap.flex--column
|
||||||
|
|
|
@ -24,6 +24,7 @@ elixir:
|
||||||
.flex__row
|
.flex__row
|
||||||
.button__group--standalone
|
.button__group--standalone
|
||||||
= random_button @conn, params
|
= random_button @conn, params
|
||||||
|
.separator--vertical.separator--secondary
|
||||||
= hidden_toggle @conn, route, params
|
= hidden_toggle @conn, route, params
|
||||||
= deleted_toggle @conn, route, params
|
= deleted_toggle @conn, route, params
|
||||||
= if can?(@conn, :batch_update, Tag) do
|
= if can?(@conn, :batch_update, Tag) do
|
||||||
|
|
|
@ -67,9 +67,9 @@
|
||||||
= render PhilomenaWeb.TagView, "_tag_editor.html", f: f, name: :tag_input, type: :upload
|
= render PhilomenaWeb.TagView, "_tag_editor.html", f: f, name: :tag_input, type: :upload
|
||||||
= error_tag f, :tag_input
|
= error_tag f, :tag_input
|
||||||
|
|
||||||
button.button.button--state-success.button--separate-left.button--bold id="tagsinput-save" type="button" title="This button saves the tags listed above to your browser, allowing you to retrieve them again by clicking the Load button" Save
|
button.button.button--success.button--separate-left.button--bold id="tagsinput-save" type="button" title="This button saves the tags listed above to your browser, allowing you to retrieve them again by clicking the Load button" Save
|
||||||
button.button.button--state-warning.button--separate-left.button--bold id="tagsinput-load" type="button" title="This button loads any saved tags from your browser" Load
|
button.button.button--warning.button--separate-left.button--bold id="tagsinput-load" type="button" title="This button loads any saved tags from your browser" Load
|
||||||
button.button.button--state-danger.button--separate-left.button--bold id="tagsinput-clear" type="button" title="This button will clear the list of tags above" Clear
|
button.button.button--danger.button--separate-left.button--bold id="tagsinput-clear" type="button" title="This button will clear the list of tags above" Clear
|
||||||
|
|
||||||
p You can mouse over tags below to view a description, and click to add. Short tag names can be used and will expand to full.
|
p You can mouse over tags below to view a description, and click to add. Short tag names can be used and will expand to full.
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
= if @page.total_pages > 1 do
|
= if @page.total_pages > 1 do
|
||||||
nav.pagination.hidden--mobile
|
nav.pagination.hidden--mobile
|
||||||
= if not first_page?(@page) do
|
= if not first_page?(@page) do
|
||||||
= link to: first_page_path(@page, @route, params) do
|
= link to: first_page_path(@page, @route, params), class: "with-icon" do
|
||||||
i.fa.fa-backward>
|
i.fa.fa-backward>
|
||||||
' First
|
' First
|
||||||
.separator--vertical.separator--secondary
|
.separator--vertical.separator--secondary
|
||||||
= link to: prev_page_path(@page, @route, params), class: "js-prev" do
|
= link to: prev_page_path(@page, @route, params), class: "js-prev with-icon" do
|
||||||
i.fa.fa-chevron-left>
|
i.fa.fa-chevron-left>
|
||||||
' Prev
|
' Prev
|
||||||
.separator--vertical.separator--secondary
|
.separator--vertical.separator--secondary
|
||||||
|
@ -30,11 +30,11 @@
|
||||||
|
|
||||||
= if not last_page?(@page) do
|
= if not last_page?(@page) do
|
||||||
.separator--vertical.separator--secondary
|
.separator--vertical.separator--secondary
|
||||||
= link to: next_page_path(@page, @route, params), class: "js-next" do
|
= link to: next_page_path(@page, @route, params), class: "js-next with-icon" do
|
||||||
' Next
|
' Next
|
||||||
i.fa.fa-chevron-right
|
i.fa.fa-chevron-right
|
||||||
.separator--vertical.separator--secondary
|
.separator--vertical.separator--secondary
|
||||||
= link to: last_page_path(@page, @route, params) do
|
= link to: last_page_path(@page, @route, params), class: "with-icon" do
|
||||||
' Last
|
' Last
|
||||||
i.fa.fa-fast-forward
|
i.fa.fa-fast-forward
|
||||||
|
|
||||||
|
@ -49,10 +49,10 @@
|
||||||
' Prev
|
' Prev
|
||||||
.separator--vertical.separator--secondary
|
.separator--vertical.separator--secondary
|
||||||
- else
|
- else
|
||||||
= link to: first_page_path(@page, @route, params) do
|
= link to: first_page_path(@page, @route, params), class: "with-icon" do
|
||||||
i.fa.fa-backward>
|
i.fa.fa-backward>
|
||||||
' First
|
' First
|
||||||
= link to: prev_page_path(@page, @route, params), class: "js-prev" do
|
= link to: prev_page_path(@page, @route, params), class: "js-prev with-icon" do
|
||||||
i.fa.fa-chevron-left>
|
i.fa.fa-chevron-left>
|
||||||
' Prev
|
' Prev
|
||||||
|
|
||||||
|
@ -89,10 +89,10 @@
|
||||||
i.fa.fa-fast-forward
|
i.fa.fa-fast-forward
|
||||||
- else
|
- else
|
||||||
.separator--vertical.separator--secondary
|
.separator--vertical.separator--secondary
|
||||||
= link to: next_page_path(@page, @route, params), class: "js-next" do
|
= link to: next_page_path(@page, @route, params), class: "js-next with-icon" do
|
||||||
' Next
|
' Next
|
||||||
i.fa.fa-chevron-right
|
i.fa.fa-chevron-right
|
||||||
.separator--vertical.separator--secondary
|
.separator--vertical.separator--secondary
|
||||||
= link to: last_page_path(@page, @route, params) do
|
= link to: last_page_path(@page, @route, params), class: "with-icon" do
|
||||||
' Last
|
' Last
|
||||||
i.fa.fa-fast-forward
|
i.fa.fa-fast-forward
|
||||||
|
|
|
@ -120,7 +120,7 @@ h1 Search
|
||||||
= PhilomenaWeb.TagView.quick_tags(@conn)
|
= PhilomenaWeb.TagView.quick_tags(@conn)
|
||||||
|
|
||||||
.field.field--inline.flex-wrap
|
.field.field--inline.flex-wrap
|
||||||
= submit "Search", class: "button button--state-primary"
|
= submit "Search", class: "button button--primary"
|
||||||
/= submit_tag "I'm Feeling Poni", class: 'button button--separate-left spacing-right', name: 'random_image'
|
/= submit_tag "I'm Feeling Poni", class: 'button button--separate-left spacing-right', name: 'random_image'
|
||||||
|
|
||||||
elixir:
|
elixir:
|
||||||
|
|
|
@ -10,8 +10,8 @@ elixir:
|
||||||
= textarea @f, @name, html_options
|
= textarea @f, @name, html_options
|
||||||
.js-taginput.input.input--wide.tagsinput.hidden class="js-taginput-fancy" data-click-focus=".js-taginput-input.js-taginput-#{@name}"
|
.js-taginput.input.input--wide.tagsinput.hidden class="js-taginput-fancy" data-click-focus=".js-taginput-input.js-taginput-#{@name}"
|
||||||
input.input class="js-taginput-input js-taginput-#{@name}" id="taginput-fancy-#{@name}" type="text" placeholder="add a tag" autocomplete="off" autocapitalize="none" data-ac="true" data-ac-min-length="3" data-ac-source="/autocomplete/tags?term="
|
input.input class="js-taginput-input js-taginput-#{@name}" id="taginput-fancy-#{@name}" type="text" placeholder="add a tag" autocomplete="off" autocapitalize="none" data-ac="true" data-ac-min-length="3" data-ac-source="/autocomplete/tags?term="
|
||||||
button.button.button--state-primary.button--bold class="js-taginput-show" data-click-show=".js-taginput-fancy,.js-taginput-hide" data-click-hide=".js-taginput-plain,.js-taginput-show" data-click-focus=".js-taginput-input.js-taginput-#{@name}"
|
button.button.button--primary.button--bold class="js-taginput-show" data-click-show=".js-taginput-fancy,.js-taginput-hide" data-click-hide=".js-taginput-plain,.js-taginput-show" data-click-focus=".js-taginput-input.js-taginput-#{@name}"
|
||||||
= hidden_input :fuck_ie, :fuck_ie, value: "fuck_ie"
|
= hidden_input :fuck_ie, :fuck_ie, value: "fuck_ie"
|
||||||
' Fancy Editor
|
' Fancy Editor
|
||||||
button.hidden.button.button--state-primary.button--bold class="js-taginput-hide" data-click-show=".js-taginput-plain,.js-taginput-show" data-click-hide=".js-taginput-fancy,.js-taginput-hide" data-click-focus=".js-taginput-plain.js-taginput-#{@name}"
|
button.hidden.button.button--primary.button--bold class="js-taginput-hide" data-click-show=".js-taginput-plain,.js-taginput-show" data-click-hide=".js-taginput-fancy,.js-taginput-hide" data-click-focus=".js-taginput-plain.js-taginput-#{@name}"
|
||||||
' Plain Editor
|
' Plain Editor
|
||||||
|
|
|
@ -6,13 +6,14 @@
|
||||||
| no spoiler image
|
| no spoiler image
|
||||||
|
|
||||||
.flex__grow
|
.flex__grow
|
||||||
= render PhilomenaWeb.TagView, "_tag.html", tag: @tag, conn: @conn
|
.tag-info__controls
|
||||||
.flex__row
|
= render PhilomenaWeb.TagView, "_tag.html", tag: @tag, conn: @conn
|
||||||
.button__group--standalone
|
.button__group--standalone
|
||||||
= link "Tag changes", to: Routes.tag_tag_change_path(@conn, :index, @tag), class: "detail-link"
|
= link "Tag changes", to: Routes.tag_tag_change_path(@conn, :index, @tag), class: "detail-link"
|
||||||
= if manages_tags?(@conn) do
|
= if manages_tags?(@conn) do
|
||||||
.button__group--standalone.button__group--warning
|
.button__group--standalone.button__group--warning
|
||||||
= link "Edit details", to: Routes.tag_path(@conn, :edit, @tag), class: "detail-link"
|
= link "Edit details", to: Routes.tag_path(@conn, :edit, @tag), class: "detail-link"
|
||||||
|
.separator--vertical.separator--warning
|
||||||
= link "Usage", to: Routes.tag_detail_path(@conn, :index, @tag), class: "detail-link"
|
= link "Usage", to: Routes.tag_detail_path(@conn, :index, @tag), class: "detail-link"
|
||||||
= if manages_dnp?(@conn) do
|
= if manages_dnp?(@conn) do
|
||||||
.button__group--standalone.button__group--danger
|
.button__group--standalone.button__group--danger
|
||||||
|
|
|
@ -35,7 +35,7 @@ p = link "Edit image", to: Routes.tag_image_path(@conn, :edit, @tag)
|
||||||
= render PhilomenaWeb.TagView, "_tag_editor.html", f: f, name: :implied_tag_list, type: :edit, conn: @conn
|
= render PhilomenaWeb.TagView, "_tag_editor.html", f: f, name: :implied_tag_list, type: :edit, conn: @conn
|
||||||
|
|
||||||
br
|
br
|
||||||
= submit "Save Tag", class: "button button--state-primary"
|
= submit "Save Tag", class: "button button--primary"
|
||||||
|
|
||||||
br
|
br
|
||||||
br
|
br
|
||||||
|
@ -47,7 +47,7 @@ br
|
||||||
= button_to "Rebuild index", Routes.tag_reindex_path(@conn, :create, @tag), method: "post", class: "button", data: [confirm: "Are you really, really sure?", disable_with: raw("Reindexing…")]
|
= button_to "Rebuild index", Routes.tag_reindex_path(@conn, :create, @tag), method: "post", class: "button", data: [confirm: "Are you really, really sure?", disable_with: raw("Reindexing…")]
|
||||||
p Use this if the tag displays the wrong number of images or returns the wrong search results.
|
p Use this if the tag displays the wrong number of images or returns the wrong search results.
|
||||||
|
|
||||||
= button_to "Destroy tag", Routes.tag_path(@conn, :delete, @tag), method: "delete", class: "button button--state-danger", data: [confirm: "Are you really, really sure?", disable_with: raw("Deleting…")]
|
= button_to "Destroy tag", Routes.tag_path(@conn, :delete, @tag), method: "delete", class: "button button--danger", data: [confirm: "Are you really, really sure?", disable_with: raw("Deleting…")]
|
||||||
p
|
p
|
||||||
strong Irreversible. Use with extreme caution!
|
strong Irreversible. Use with extreme caution!
|
||||||
ul
|
ul
|
||||||
|
|
|
@ -31,6 +31,6 @@
|
||||||
.block__tab.hidden data-tab="voters"
|
.block__tab.hidden data-tab="voters"
|
||||||
p Loading…
|
p Loading…
|
||||||
.block__tab.hidden data-tab="administration"
|
.block__tab.hidden data-tab="administration"
|
||||||
a.button.button--state-warning.js-staff-action> href=Routes.forum_topic_poll_path(@conn, :edit, @forum, @topic)
|
a.button.button--warning.js-staff-action> href=Routes.forum_topic_poll_path(@conn, :edit, @forum, @topic)
|
||||||
i.fa.fa-edit>
|
i.fa.fa-edit>
|
||||||
| Edit
|
| Edit
|
||||||
|
|
|
@ -19,6 +19,6 @@
|
||||||
' Voting ends
|
' Voting ends
|
||||||
= pretty_time(@poll.active_until)
|
= pretty_time(@poll.active_until)
|
||||||
|
|
||||||
button.button.button--state-success>
|
button.button.button--success>
|
||||||
i.fa.fa-check>
|
i.fa.fa-check>
|
||||||
' Vote
|
' Vote
|
||||||
|
|
Loading…
Reference in a new issue