diff --git a/Gemfile b/Gemfile index 1aa209c..996fcab 100644 --- a/Gemfile +++ b/Gemfile @@ -5,6 +5,8 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } gem 'rails', '~> 7.0.2' # Use Puma as the app server gem 'puma', '~> 4.1' +# View components +gem "view_component" # Separate dependency since Rails 7.0 gem 'sprockets-rails' # Allows custom JS build tasks to integrate with the asset pipeline diff --git a/Gemfile.lock b/Gemfile.lock index 1af58be..d3f0d47 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -282,6 +282,9 @@ GEM railties (>= 6.0.0) tzinfo (2.0.4) concurrent-ruby (~> 1.0) + view_component (2.49.0) + activesupport (>= 5.0.0, < 8.0) + method_source (~> 1.0) warden (1.2.9) rack (>= 2.0.9) web-console (4.2.0) @@ -331,6 +334,10 @@ DEPENDENCIES stimulus-rails turbo-rails tzinfo-data + view_component warden web-console (>= 3.3.0) webmock + +BUNDLED WITH + 2.3.7 diff --git a/README.md b/README.md index ba27fc0..cc306ee 100644 --- a/README.md +++ b/README.md @@ -45,11 +45,6 @@ manual LDIF imports etc. (or provide a staging instance) * [Tailwind CSS](https://tailwindcss.com/) -**Caveat:** if you only add Tailwind classes/directives to templates or -helpers, but there's no change in the stylesheet files, then the new directives -won't be compiled in production. In this case, count up the version comment at -the top of `app/javascript/stylesheets/application.scss` to trigger compilation. - ### Testing * [RSpec](https://rspec.info/documentation/) diff --git a/app/assets/stylesheets/application.tailwind.css b/app/assets/stylesheets/application.tailwind.css index f7380bf..7cdbcd5 100644 --- a/app/assets/stylesheets/application.tailwind.css +++ b/app/assets/stylesheets/application.tailwind.css @@ -6,3 +6,4 @@ @import "components/buttons"; @import "components/forms"; @import "components/links"; +@import "components/notifications"; diff --git a/app/assets/stylesheets/components/base.css b/app/assets/stylesheets/components/base.css index bcfaea0..5bb472c 100644 --- a/app/assets/stylesheets/components/base.css +++ b/app/assets/stylesheets/components/base.css @@ -3,9 +3,9 @@ @apply leading-none } - h1, h2, h3 { - @apply font-light; - } + /* h1, h2, h3 { */ + /* @apply font-light; */ + /* } */ h1 { @apply text-3xl uppercase; @@ -18,4 +18,12 @@ h3 { @apply text-xl mb-6; } + + main section { + @apply pt-8 sm:pt-12; + } + + main section:first-of-type { + @apply pt-0; + } } diff --git a/app/assets/stylesheets/components/buttons.css b/app/assets/stylesheets/components/buttons.css index 75fd400..a89203b 100644 --- a/app/assets/stylesheets/components/buttons.css +++ b/app/assets/stylesheets/components/buttons.css @@ -1,6 +1,6 @@ @layer components { .btn { - @apply font-semibold rounded-md leading-none cursor-pointer + @apply font-semibold rounded-md leading-none cursor-pointer text-center transition-colors duration-75 focus:outline-none focus:ring-4; } diff --git a/app/assets/stylesheets/components/forms.css b/app/assets/stylesheets/components/forms.css index 8d46873..6c68083 100644 --- a/app/assets/stylesheets/components/forms.css +++ b/app/assets/stylesheets/components/forms.css @@ -2,7 +2,8 @@ input[type=text], input[type=email], input[type=password], input[type=number], select { @apply mt-1 rounded-md bg-gray-100 focus:bg-white - border-transparent focus:border-gray-500 focus:ring-0; + border-transparent focus:border-transparent focus:ring-2 + focus:ring-blue-600 focus:ring-opacity-75; } .field_with_errors { diff --git a/app/assets/stylesheets/components/notifications.css b/app/assets/stylesheets/components/notifications.css new file mode 100644 index 0000000..8af9c8f --- /dev/null +++ b/app/assets/stylesheets/components/notifications.css @@ -0,0 +1,39 @@ +@layer components { + @keyframes notification-countdown { + from { width: 100%; } + to { width: 0; } + } + + .notification-enter { + @apply transform ease-out duration-300 transition; + } + + .notification-enter-from { + @apply translate-y-2 opacity-0; + } + + .notification-enter-to { + @apply translate-y-0 opacity-100; + } + + @screen sm { + .notification-enter-from { + @apply translate-y-0 translate-x-2; + } + .notification-enter-to { + @apply translate-x-0; + } + } + + .notification-leave { + @apply transition ease-in duration-100; + } + + .notification-leave-from { + @apply opacity-100; + } + + .notification-leave-to { + @apply opacity-0; + } +} diff --git a/app/assets/stylesheets/legacy/_layout.scss b/app/assets/stylesheets/legacy/_layout.scss index a9575aa..222b34e 100644 --- a/app/assets/stylesheets/legacy/_layout.scss +++ b/app/assets/stylesheets/legacy/_layout.scss @@ -1,6 +1,29 @@ @import "variables"; @import "mediaqueries"; +body { + background: linear-gradient(35deg, rgba(255,0,255,0.2) 0, rgba(13,79,153,0.8) 100%), + url('/img/bg-1.jpg'); + background-size: cover; + background-attachment: fixed; +} + +body#admin { + background: linear-gradient(35deg, rgba(255,0,255,0.2) 0, rgba(153,12,14,0.9) 100%), + url('/img/bg-1.jpg'); + background-size: cover; + background-attachment: fixed; +} + +.ks-site-icon { + svg { + display: inline-block; + height: 1.875rem; + vertical-align: top; + width: auto; + } +} + #wrapper { width: 100%; text-align: center; @@ -23,17 +46,6 @@ span.project-name { display: none; } - - span.icon { - svg { - display: inline-block; - height: 1.875rem; - vertical-align: top; - width: auto; - } - - margin-right: 0.5rem; - } } p.current-user { @@ -55,58 +67,7 @@ } } -body#admin-panel { - #wrapper { - > header { - background: $color-red-bright; - background: linear-gradient(35deg, rgba(255,0,255,0.2) 0, rgba(153,12,14,0.9) 100%), - url('/img/bg-1.jpg'); - } - } - - #main-nav { - ul { - grid-template-columns: repeat(4, 1fr); - - li { - a { - &.active { - border-bottom: 2px solid $color-red-bright; - } - } - } - } - } -} - -.flash-msg { - width: 100%; - text-align: center; - padding: 2rem 0; - - &.notice { - background: $background-color-notice; - } - - &.alert { - background: $background-color-alert; - } -} - main { - width: $content-width; - max-width: $content-max-width; - margin: 4rem auto 6rem auto; - text-align: left; - - @include media-max(medium) { - max-width: 90%; - } - - @include media-max(small) { - margin: 3rem auto; - } - p { line-height: 1.5rem; margin-bottom: 1rem; @@ -124,25 +85,9 @@ main { } } - section { - margin-bottom: 3rem; - - h2 { - display: none; - } - } - table { width: 100%; - th, td { - &.hide-small { - @include media-max(small) { - display: none; - } - } - } - th { color: $text-color-discreet; font-weight: normal; diff --git a/app/components/header_compact_component.html.erb b/app/components/header_compact_component.html.erb new file mode 100644 index 0000000..e460a5e --- /dev/null +++ b/app/components/header_compact_component.html.erb @@ -0,0 +1,7 @@ +
+
+

+ <%= @title %> +

+
+
diff --git a/app/components/header_compact_component.rb b/app/components/header_compact_component.rb new file mode 100644 index 0000000..99cc981 --- /dev/null +++ b/app/components/header_compact_component.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class HeaderCompactComponent < ViewComponent::Base + def initialize(title:) + @title = title + end +end diff --git a/app/components/header_component.html.erb b/app/components/header_component.html.erb new file mode 100644 index 0000000..6597ad4 --- /dev/null +++ b/app/components/header_component.html.erb @@ -0,0 +1,7 @@ +
+
+

+ <%= @title %> +

+
+
diff --git a/app/components/header_component.rb b/app/components/header_component.rb new file mode 100644 index 0000000..905277f --- /dev/null +++ b/app/components/header_component.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class HeaderComponent < ViewComponent::Base + def initialize(title:) + @title = title + end +end diff --git a/app/components/main_compact_component.html.erb b/app/components/main_compact_component.html.erb new file mode 100644 index 0000000..80161b6 --- /dev/null +++ b/app/components/main_compact_component.html.erb @@ -0,0 +1,5 @@ +
+
+ <%= content %> +
+
diff --git a/app/components/main_compact_component.rb b/app/components/main_compact_component.rb new file mode 100644 index 0000000..60df354 --- /dev/null +++ b/app/components/main_compact_component.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +class MainCompactComponent < ViewComponent::Base + +end diff --git a/app/components/main_simple_component.html.erb b/app/components/main_simple_component.html.erb new file mode 100644 index 0000000..b72b31d --- /dev/null +++ b/app/components/main_simple_component.html.erb @@ -0,0 +1,5 @@ +
+
+ <%= content %> +
+
diff --git a/app/components/main_simple_component.rb b/app/components/main_simple_component.rb new file mode 100644 index 0000000..105ea0e --- /dev/null +++ b/app/components/main_simple_component.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +class MainSimpleComponent < ViewComponent::Base + +end diff --git a/app/components/main_with_sidenav_component.html.erb b/app/components/main_with_sidenav_component.html.erb new file mode 100644 index 0000000..efdc28b --- /dev/null +++ b/app/components/main_with_sidenav_component.html.erb @@ -0,0 +1,15 @@ +
+
+
+ +
+ <%= content %> +
+
+
+
+ diff --git a/app/components/main_with_sidenav_component.rb b/app/components/main_with_sidenav_component.rb new file mode 100644 index 0000000..90fb8c2 --- /dev/null +++ b/app/components/main_with_sidenav_component.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class MainWithSidenavComponent < ViewComponent::Base + def initialize(sidenav_partial:) + @sidenav_partial = sidenav_partial + end +end diff --git a/app/components/notification_component.html.erb b/app/components/notification_component.html.erb new file mode 100644 index 0000000..a436550 --- /dev/null +++ b/app/components/notification_component.html.erb @@ -0,0 +1,49 @@ + diff --git a/app/components/notification_component.rb b/app/components/notification_component.rb new file mode 100644 index 0000000..7b3bc84 --- /dev/null +++ b/app/components/notification_component.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# @param type [String] Classic notification type `error`, `alert` and `info` + custom `success` +# @param data [String, Hash] `String` for backward compatibility, +# `Hash` for the new functionality `{title: '', body: '', timeout: 5, countdown: false, action: { url: '', method: '', name: ''}}`. +# The `title` attribute for `Hash` is mandatory. +class NotificationComponent < ViewComponent::Base + def initialize(type:, data:) + @type = type + @data = prepare_data(data) + @icon_name = icon_name + @icon_color_class = icon_color_class + + @data[:timeout] ||= 5 + @data[:action][:method] ||= "get" if @data[:action] + end + + private + + def prepare_data(data) + case data + when Hash + data + else + { title: data } + end + end + + def icon_name + case @type + when 'success' + 'check-circle' + when 'error' + 'alert-octagon' + when 'alert' + 'alert-octagon' + else + 'info' + end + end + + def icon_color_class + case @type + when 'success' + 'text-emerald-500' + when 'error' + 'text-rose-600' + when 'alert' + 'text-rose-600' + else + 'text-gray-400' + end + end +end diff --git a/app/components/sidenav_link_component.html.erb b/app/components/sidenav_link_component.html.erb new file mode 100644 index 0000000..2d27b29 --- /dev/null +++ b/app/components/sidenav_link_component.html.erb @@ -0,0 +1,4 @@ +<%= link_to @path, class: @link_class do %> + <%= render partial: "icons/#{@icon}", locals: { custom_class: @icon_class } %> + <%= @name %> +<% end %> diff --git a/app/components/sidenav_link_component.rb b/app/components/sidenav_link_component.rb new file mode 100644 index 0000000..999871b --- /dev/null +++ b/app/components/sidenav_link_component.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +class SidenavLinkComponent < ViewComponent::Base + def initialize(name:, path:, icon:, active: false, disabled: false) + @name = name + @path = path + @icon = icon + @active = active + @disabled = disabled + @link_class = class_names_link(path) + @icon_class = class_names_icon(path) + end + + def class_names_link(path) + if @active + "bg-teal-50 border-teal-500 text-teal-700 hover:bg-teal-50 hover:text-teal-700 group border-l-4 px-4 py-2 flex items-center text-base font-medium" + elsif @disabled + "border-transparent text-gray-400 hover:bg-gray-50 group border-l-4 px-4 py-2 flex items-center text-base font-medium" + else + "border-transparent text-gray-900 hover:bg-gray-50 hover:text-gray-900 group border-l-4 px-4 py-2 flex items-center text-base font-medium" + end + end + + def class_names_icon(path) + if @active + "text-teal-500 group-hover:text-teal-500 flex-shrink-0 -ml-1 mr-3 h-6 w-6" + elsif @disabled + "text-gray-300 group-hover:text-gray-300 flex-shrink-0 -ml-1 mr-3 h-6 w-6" + else + "text-gray-400 group-hover:text-gray-500 flex-shrink-0 -ml-1 mr-3 h-6 w-6" + end + end +end diff --git a/app/controllers/admin/base_controller.rb b/app/controllers/admin/base_controller.rb index 8688535..957328e 100644 --- a/app/controllers/admin/base_controller.rb +++ b/app/controllers/admin/base_controller.rb @@ -2,7 +2,10 @@ class Admin::BaseController < ApplicationController before_action :authenticate_user! before_action :authorize_admin + before_action :set_context - layout "admin" + def set_context + @context = :admin + end end diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index 72743e5..147cb6a 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -2,8 +2,6 @@ class InvitationsController < ApplicationController before_action :require_user_signed_in, except: ["show"] before_action :require_user_signed_out, only: ["show"] - layout "signup", only: ["show"] - # GET /invitations def index @invitations_unused = current_user.invitations.unused diff --git a/app/controllers/signup_controller.rb b/app/controllers/signup_controller.rb index a355b75..bfbf02e 100644 --- a/app/controllers/signup_controller.rb +++ b/app/controllers/signup_controller.rb @@ -3,8 +3,7 @@ class SignupController < ApplicationController before_action :require_invitation before_action :set_invitation before_action :set_new_user, only: ["steps", "validate"] - - layout "signup" + before_action :set_context def index @invited_by_name = @invitation.user.address @@ -105,4 +104,8 @@ class SignupController < ApplicationController invitation: @invitation ) end + + def set_context + @context = :signup + end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index e2ff699..248d897 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2,4 +2,13 @@ module ApplicationHelper def sats_to_btc(sats) sats.to_f / 100000000 end + + def main_nav_class(current_section, link_to_section) + if current_section == link_to_section + "bg-gray-900/50 text-white px-3 py-2 rounded-md font-medium text-base md:text-sm block md:inline-block" + else + "text-gray-300 hover:bg-gray-900/30 hover:text-white active:bg-gray-900/30 active:text-white px-3 py-2 rounded-md font-medium text-base md:text-sm block md:inline-block" + end + end end + diff --git a/app/javascript/application.js b/app/javascript/application.js index 1621348..0d7b494 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -1,3 +1,3 @@ // Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails import "@hotwired/turbo-rails" -// import "controllers" +import "controllers" diff --git a/app/javascript/controllers/hello_controller.js b/app/javascript/controllers/hello_controller.js deleted file mode 100644 index 5975c07..0000000 --- a/app/javascript/controllers/hello_controller.js +++ /dev/null @@ -1,7 +0,0 @@ -import { Controller } from "@hotwired/stimulus" - -export default class extends Controller { - connect() { - this.element.textContent = "Hello World!" - } -} diff --git a/app/javascript/controllers/notification_controller.js b/app/javascript/controllers/notification_controller.js new file mode 100644 index 0000000..e0291ce --- /dev/null +++ b/app/javascript/controllers/notification_controller.js @@ -0,0 +1,110 @@ +import { Controller } from "@hotwired/stimulus" + +export default class extends Controller { + static targets = ["buttons", "countdown"] + + connect() { + const timeoutSeconds = parseInt(this.data.get("timeout")); + + setTimeout(() => { + this.element.classList.remove('hidden'); + this.element.classList.add('notification-enter', 'notification-enter-from'); + + // Trigger transition + setTimeout(() => { + this.element.classList.add('notification-enter-to'); + }, 100); + + // Trigger countdown + if (this.hasCountdownTarget) { + this.countdownTarget.style.animation = 'notification-countdown linear ' + timeoutSeconds + 's'; + } + + }, 500); + this.timeoutId = setTimeout(() => { + this.close(); + }, timeoutSeconds * 1000 + 500); + } + + run(e) { + e.preventDefault(); + this.stop(); + let _this = this; + this.buttonsTarget.innerHTML = 'Processing...'; + + // Call the action + fetch(this.data.get("action-url"), { + method: this.data.get("action-method").toUpperCase(), + dataType: 'script', + credentials: "include", + headers: { + "X-CSRF-Token": this.csrfToken + }, + }) + .then(response => { + if (!response.ok) { + throw Error(response.statusText); + } + return response; + }) + .then(response => response.json()) + .then(data => { + // Set new content + _this.buttonsTarget.innerHTML = '' + data.message + ''; + + // Remove hidden class and display the record + if (data.inline) { + document.getElementById(data.dom_id).classList.toggle('hidden'); + } + + // Close + setTimeout(() => { + if (data.inline) { + // Just close the notification + _this.close(); + } else { + // Reload the page using Turbo + window.Turbo.visit(window.location.toString(), {action: 'replace'}) + } + }, 1000); + }) + .catch(error => { + console.log(error); + _this.buttonsTarget.innerHTML = 'Error!'; + setTimeout(() => { + _this.close(); + }, 1000); + }); + } + + stop() { + clearTimeout(this.timeoutId) + this.timeoutId = null + } + + continue() { + this.timeoutId = setTimeout(() => { + this.close(); + }, parseInt(this.data.get("timeout"))); + } + + close() { + this.element.classList.remove('notification-enter', 'notification-enter-from', 'notification-enter-to'); + this.element.classList.add('notification-leave', 'notification-leave-from') + + // Trigger transition + setTimeout(() => { + this.element.classList.add('notification-leave-to'); + }, 100); + + // Remove element after transition + setTimeout(() => { + this.element.remove(); + }, 300); + } + + get csrfToken() { + const element = document.head.querySelector('meta[name="csrf-token"]') + return element.getAttribute("content") + } +} diff --git a/app/javascript/controllers/topbar_controller.js b/app/javascript/controllers/topbar_controller.js new file mode 100644 index 0000000..a3e74d5 --- /dev/null +++ b/app/javascript/controllers/topbar_controller.js @@ -0,0 +1,31 @@ +import { Controller } from "@hotwired/stimulus" + +function show (element) { + element.classList.add('block'); + element.classList.remove('hidden'); +} + +function hide (element) { + element.classList.remove('block'); + element.classList.add('hidden'); +} + +export default class extends Controller { + static targets = [ 'mobileMenu', 'iconMobileMenuOpen', 'iconMobileMenuClose' ]; + + connect() { + this.mobileMenuTarget.classList.add('hidden'); + } + + toggleMobileNav() { + if (this.mobileMenuTarget.classList.contains('hidden')) { + show(this.mobileMenuTarget); + show(this.iconMobileMenuCloseTarget); + hide(this.iconMobileMenuOpenTarget); + } else { + hide(this.mobileMenuTarget); + hide(this.iconMobileMenuCloseTarget); + show(this.iconMobileMenuOpenTarget); + } + } +} diff --git a/app/views/admin/dashboard/index.html.erb b/app/views/admin/dashboard/index.html.erb index e7f405a..bb66283 100644 --- a/app/views/admin/dashboard/index.html.erb +++ b/app/views/admin/dashboard/index.html.erb @@ -1,3 +1,7 @@ -

- With great power comes great responsibility. -

+<%= render HeaderComponent.new(title: "Admin Panel") %> + +<%= render MainSimpleComponent.new do %> +

+ With great power comes great responsibility. +

+<% end %> diff --git a/app/views/admin/donations/edit.html.erb b/app/views/admin/donations/edit.html.erb index 5042797..ba590b2 100644 --- a/app/views/admin/donations/edit.html.erb +++ b/app/views/admin/donations/edit.html.erb @@ -1,8 +1,12 @@ -

Editing Donation

+<%= render HeaderComponent.new(title: "Donations") %> -<%= render 'form', donation: @donation, url: admin_donation_path(@donation) %> +<%= render MainSimpleComponent.new do %> +

Editing Donation

-

- <%= link_to 'Show', admin_donation_path(@donation), class: 'ks-text-link' %> | - <%= link_to 'Back', admin_donations_path, class: 'ks-text-link' %> -

+ <%= render 'form', donation: @donation, url: admin_donation_path(@donation) %> + +

+ <%= link_to 'Show', admin_donation_path(@donation), class: 'ks-text-link' %> | + <%= link_to 'Back', admin_donations_path, class: 'ks-text-link' %> +

+<% end %> diff --git a/app/views/admin/donations/index.html.erb b/app/views/admin/donations/index.html.erb index 3325d1c..2285a6a 100644 --- a/app/views/admin/donations/index.html.erb +++ b/app/views/admin/donations/index.html.erb @@ -1,41 +1,44 @@ -

Donations

+<%= render HeaderComponent.new(title: "Donations") %> -<% if @donations.any? %> - - - - - - - - - - - - - - - <% @donations.each do |donation| %> - - - - - - - - - - +<%= render MainSimpleComponent.new do %> + <% if @donations.any? %> +
UserAmount BTCin EURin USDPublic nameDate
<%= donation.user.cn %><%= sats_to_btc donation.amount_sats %> BTC<%= number_to_currency donation.amount_eur / 100, unit: "" %><%= number_to_currency donation.amount_usd / 100, unit: "" %><%= donation.public_name %><%= donation.paid_at ? donation.paid_at.strftime("%Y-%m-%d") : "" %><%= link_to 'Show', admin_donation_path(donation), class: 'btn btn-sm btn-gray' %><%= link_to 'Edit', edit_admin_donation_path(donation), class: 'btn btn-sm btn-gray' %><%= link_to 'Destroy', admin_donation_path(donation), class: 'btn btn-sm btn-red', method: :delete, data: { confirm: 'Are you sure?' } %>
+ + + + + + + + + - <% end %> - -
UserAmount BTCin EURin USDPublic nameDate
-<% else %> -

- No donations yet. + + + + <% @donations.each do |donation| %> + + <%= donation.user.address %> + <%= sats_to_btc donation.amount_sats %> BTC + <% if donation.amount_eur.present? %><%= number_to_currency donation.amount_eur / 100, unit: "" %><% end %> + <% if donation.amount_usd.present? %><%= number_to_currency donation.amount_usd / 100, unit: "" %><% end %> + <%= donation.public_name %> + <%= donation.paid_at ? donation.paid_at.strftime("%Y-%m-%d") : "" %> + <%= link_to 'Show', admin_donation_path(donation), class: 'btn btn-sm btn-gray' %> + <%= link_to 'Edit', edit_admin_donation_path(donation), class: 'btn btn-sm btn-gray' %> + <%= link_to 'Destroy', admin_donation_path(donation), class: 'btn btn-sm btn-red', + data: { turbo_method: :delete, turbo_confirm: 'Are you sure?' } %> + + <% end %> + + + <% else %> +

+ No donations yet. +

+ <% end %> + +

+ <%= link_to 'Record an out-of-system donation', new_admin_donation_path, class: 'btn-md btn-gray' %>

<% end %> - -

- <%= link_to 'Record an out-of-system donation', new_admin_donation_path, class: 'btn-md btn-gray' %> -

diff --git a/app/views/admin/donations/new.html.erb b/app/views/admin/donations/new.html.erb index ca10ca3..d831813 100644 --- a/app/views/admin/donations/new.html.erb +++ b/app/views/admin/donations/new.html.erb @@ -1,7 +1,11 @@ -

New Donation

+<%= render HeaderComponent.new(title: "Donations") %> -<%= render 'form', donation: @donation, url: admin_donations_path %> +<%= render MainSimpleComponent.new do %> +

New Donation

-

- <%= link_to 'Back', admin_donations_path, class: 'ks-text-link' %> -

+ <%= render 'form', donation: @donation, url: admin_donations_path %> + +

+ <%= link_to 'Back', admin_donations_path, class: 'ks-text-link' %> +

+<% end %> diff --git a/app/views/admin/donations/show.html.erb b/app/views/admin/donations/show.html.erb index dd929f2..0c1d54c 100644 --- a/app/views/admin/donations/show.html.erb +++ b/app/views/admin/donations/show.html.erb @@ -1,36 +1,38 @@ -

<%= notice %>

+<%= render HeaderComponent.new(title: "Donations") %> -

- User: - <%= @donation.user_id %> -

+<%= render MainSimpleComponent.new do %> +

+ User: + <%= @donation.user.address %> +

-

- Amount sats: - <%= @donation.amount_sats %> -

+

+ Amount sats: + <%= @donation.amount_sats %> +

-

- Amount eur: - <%= @donation.amount_eur %> -

+

+ Amount eur: + <%= @donation.amount_eur %> +

-

- Amount usd: - <%= @donation.amount_usd %> -

+

+ Amount usd: + <%= @donation.amount_usd %> +

-

- Public name: - <%= @donation.public_name %> -

+

+ Public name: + <%= @donation.public_name %> +

-

- Date: - <%= @donation.paid_at %> -

+

+ Date: + <%= @donation.paid_at %> +

-

- <%= link_to 'Edit', edit_admin_donation_path(@donation), class: 'ks-text-link' %> | - <%= link_to 'Back', admin_donations_path, class: 'ks-text-link' %> -

+

+ <%= link_to 'Edit', edit_admin_donation_path(@donation), class: 'ks-text-link' %> | + <%= link_to 'Back', admin_donations_path, class: 'ks-text-link' %> +

+<% end %> diff --git a/app/views/admin/invitations/index.html.erb b/app/views/admin/invitations/index.html.erb index fa2e981..e0cea28 100644 --- a/app/views/admin/invitations/index.html.erb +++ b/app/views/admin/invitations/index.html.erb @@ -1,32 +1,35 @@ -
-

Invitations

-

- There are currently <%= @invitations_unused_count %> - unused invitations available to existing users. - <%= @users_with_referrals_count %> users have successfully - invited new users. -

-
-<% if @invitations_used.any? %> +<%= render HeaderComponent.new(title: "Invitations") %> + +<%= render MainSimpleComponent.new do %>
-

Accepted (<%= @invitations_used.length %>)

- - - - - - - - - - <% @invitations_used.each do |invitation| %> - - - - - - <% end %> - -
TokenAcceptedInvited user
<%= invitation.token %><%= invitation.used_at.strftime("%Y-%m-%d") %><%= User.find(invitation.invited_user_id).address %>
+

+ There are currently <%= @invitations_unused_count %> + unused invitations available to existing users. + <%= @users_with_referrals_count %> users have successfully + invited new users. +

+ <% if @invitations_used.any? %> +
+

Accepted (<%= @invitations_used.length %>)

+ + + + + + + + + + <% @invitations_used.each do |invitation| %> + + + + + + <% end %> + +
TokenAcceptedInvited user
<%= invitation.token %><%= invitation.used_at.strftime("%Y-%m-%d") %><%= User.find(invitation.invited_user_id).address %>
+
+ <% end %> <% end %> diff --git a/app/views/admin/ldap_users/index.html.erb b/app/views/admin/ldap_users/index.html.erb index 930199c..fa69197 100644 --- a/app/views/admin/ldap_users/index.html.erb +++ b/app/views/admin/ldap_users/index.html.erb @@ -1,32 +1,34 @@ -

LDAP users: <%= @ou %>

+<%= render HeaderComponent.new(title: "LDAP Users: #{@ou}") %> - - +<%= render MainSimpleComponent.new do %> + + - - - - - - - - - - - <% @entries.each do |entry| %> - - - - - - - <% end %> - -
UIDE-MailAdmin
<%= entry[:uid] %><%= entry[:mail] %><%= entry[:admin] %>
+ + + + + + + + + + + <% @entries.each do |entry| %> + + + + + + + <% end %> + +
UIDE-MailAdmin
<%= entry[:uid] %><%= entry[:mail] %><%= entry[:admin] %>
+<% end %> diff --git a/app/views/dashboard/index.html.erb b/app/views/dashboard/index.html.erb index 1e1d321..3d98b91 100644 --- a/app/views/dashboard/index.html.erb +++ b/app/views/dashboard/index.html.erb @@ -1,58 +1,61 @@ -
-

Services

-

- Your Kosmos account and password currently give you access to these - services: -

-
-
-

- <%= link_to "Chat", "https://wiki.kosmos.org/Services:Chat", class: "ks-text-link" %> -

-

- Chat rooms and instant messaging (XMPP/Jabber) -

+<%= render HeaderComponent.new(title: "Services") %> + +<%= render MainSimpleComponent.new do %> +
+

+ Your Kosmos account and password currently give you access to these + services: +

+
+
+

+ <%= link_to "Chat", "https://wiki.kosmos.org/Services:Chat", class: "ks-text-link" %> +

+

+ Chat rooms and instant messaging (XMPP/Jabber) +

+
+
+

+ <%= link_to "Discourse", "https://community.kosmos.org", class: "ks-text-link" %> +

+

+ Kosmos community forums and user support/help site +

+
+
+

+ 🗲 + <%= link_to "Lightning Wallet", wallet_path, class: "ks-text-link" %> +

+

+ Send and receive sats over the Bitcoin Lightning Network +

+
+
+

+ <%= link_to "Wiki", "https://wiki.kosmos.org", class: "ks-text-link" %> +

+

+ Kosmos documentation and knowledge base +

+
+
+

+ <%= link_to "Gitea", "https://gitea.kosmos.org", class: "ks-text-link" %> +

+

+ Code hosting and collaboration for software projects +

+
+
+

+ <%= link_to "Drone CI", "https://drone.kosmos.org", class: "ks-text-link" %> +

+

+ Continuous integration for software projects on Gitea +

+
-
-

- <%= link_to "Discourse", "https://community.kosmos.org", class: "ks-text-link" %> -

-

- Kosmos community forums and user support/help site -

-
-
-

- 🗲 - <%= link_to "Lightning Wallet", wallet_path, class: "ks-text-link" %> -

-

- Send and receive sats over the Bitcoin Lightning Network -

-
-
-

- <%= link_to "Wiki", "https://wiki.kosmos.org", class: "ks-text-link" %> -

-

- Kosmos documentation and knowledge base -

-
-
-

- <%= link_to "Gitea", "https://gitea.kosmos.org", class: "ks-text-link" %> -

-

- Code hosting and collaboration for software projects -

-
-
-

- <%= link_to "Drone CI", "https://drone.kosmos.org", class: "ks-text-link" %> -

-

- Continuous integration for software projects on Gitea -

-
-
-
+ +<% end %> diff --git a/app/views/devise/confirmations/new.html.erb b/app/views/devise/confirmations/new.html.erb index 40c840d..4f51d90 100644 --- a/app/views/devise/confirmations/new.html.erb +++ b/app/views/devise/confirmations/new.html.erb @@ -1,14 +1,22 @@ -

Resend confirmation instructions

+<%= render HeaderCompactComponent.new(title: "Log in") %> -<%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %> - <%= render "devise/shared/error_messages", resource: resource %> -

- <%= f.label :email, 'Email address', class: 'block mb-1' %> - <%= f.email_field :email, required: true, autofocus: true, autocomplete: "email", value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %> -

-

- <%= f.submit "Resend confirmation instructions", class: 'btn-md btn-blue' %> -

+<%= render MainCompactComponent.new do %> +

Resend confirmation instructions

+ + <%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %> + <%= render "devise/shared/error_messages", resource: resource %> +

+ <%= f.label :email, 'Email address', class: 'block mb-1 w-full' %> + <%= f.email_field :email, + required: true, autofocus: true, autocomplete: "email", + value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email), + class: "w-full" %> +

+

+ <%= f.submit "Resend confirmation link", + class: 'btn-md btn-blue w-full sm:w-auto' %> +

+ <% end %> + + <%= render "devise/shared/links" %> <% end %> - -<%= render "devise/shared/links" %> diff --git a/app/views/devise/passwords/edit.html.erb b/app/views/devise/passwords/edit.html.erb index 7419237..adc8816 100644 --- a/app/views/devise/passwords/edit.html.erb +++ b/app/views/devise/passwords/edit.html.erb @@ -1,27 +1,31 @@ -

Change your password

+<%= render HeaderCompactComponent.new(title: "Log in") %> -<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %> - <%= render "devise/shared/error_messages", resource: resource %> - <%= f.hidden_field :reset_password_token %> +<%= render MainCompactComponent.new do %> +

Change your password

-

- <%= f.label :password, "New password" %> -

-

- <%= f.password_field :password, autofocus: true, autocomplete: "new-password" %> - <% if @minimum_password_length %> -
(<%= @minimum_password_length %> characters minimum) - <% end %> -

-

- <%= f.label :password_confirmation, "Confirm new password" %> -

-

- <%= f.password_field :password_confirmation, autocomplete: "new-password" %> -

-

- <%= f.submit "Change my password", class: 'btn-md btn-blue' %> -

+ <%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %> + <%= render "devise/shared/error_messages", resource: resource %> + <%= f.hidden_field :reset_password_token %> + +

+ <%= f.label :password, "New password" %> +

+

+ <%= f.password_field :password, autofocus: true, autocomplete: "new-password" %> + <% if @minimum_password_length %> +
(<%= @minimum_password_length %> characters minimum) + <% end %> +

+

+ <%= f.label :password_confirmation, "Confirm new password" %> +

+

+ <%= f.password_field :password_confirmation, autocomplete: "new-password" %> +

+

+ <%= f.submit "Change my password", class: 'btn-md btn-blue' %> +

+ <% end %> + + <%= render "devise/shared/links" %> <% end %> - -<%= render "devise/shared/links" %> diff --git a/app/views/devise/passwords/new.html.erb b/app/views/devise/passwords/new.html.erb index 65006f9..622f238 100644 --- a/app/views/devise/passwords/new.html.erb +++ b/app/views/devise/passwords/new.html.erb @@ -1,18 +1,25 @@ -

Forgot your password?

+<%= render HeaderCompactComponent.new(title: "Log in") %> -<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %> - <%= render "devise/shared/error_messages", resource: resource %> -

- <%= f.label :cn, 'User', class: 'block' %> - <%= f.text_field :cn, autofocus: true, autocomplete: "username", required: true %> @ kosmos.org -

-

- <%= f.label :email, 'Email address', class: 'block' %> - <%= f.email_field :email, autocomplete: "email", required: true %> -

-

- <%= f.submit "Send me reset password instructions", class: 'btn-md btn-blue' %> -

+<%= render MainCompactComponent.new do %> +

Forgot your password?

+ + <%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %> + <%= render "devise/shared/error_messages", resource: resource %> +

+ <%= f.label :cn, 'User', class: 'block' %> + <%= f.text_field :cn, autofocus: true, autocomplete: "username", + required: true, class: "w-full md:w-3/5"%> + @ kosmos.org +

+

+ <%= f.label :email, 'Email address', class: 'block' %> + <%= f.email_field :email, autocomplete: "email", required: true, + class: "w-full md:w-3/5"%> +

+

+ <%= f.submit "Send me a reset link", class: 'btn-md btn-blue w-full sm:w-auto' %> +

+ <% end %> + + <%= render "devise/shared/links" %> <% end %> - -<%= render "devise/shared/links" %> diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb index da446c8..607edb3 100644 --- a/app/views/devise/sessions/new.html.erb +++ b/app/views/devise/sessions/new.html.erb @@ -1,18 +1,23 @@ -

Log in

+<%= render HeaderCompactComponent.new(title: "Log in") %> -<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %> - <%= render "devise/shared/error_messages", resource: resource %> -

- <%= f.label :cn, 'User', class: 'block' %> - <%= f.text_field :cn, autofocus: true, autocomplete: "username" %> @ kosmos.org -

-

- <%= f.label :password, class: 'block' %> - <%= f.password_field :password, autocomplete: "current-password" %> -

-

- <%= f.submit "Log in", class: 'btn-md btn-blue' %> -

+<%= render MainCompactComponent.new do %> + <%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %> + <%= render "devise/shared/error_messages", resource: resource %> +

+ <%= f.label :cn, 'User', class: 'block' %> + <%= f.text_field :cn, autofocus: true, autocomplete: "username", + class: "w-full md:w-3/5"%> + @ kosmos.org +

+

+ <%= f.label :password, class: 'block' %> + <%= f.password_field :password, autocomplete: "current-password", + class: "w-full md:w-3/5"%> +

+

+ <%= f.submit "Log in", class: 'btn-md btn-blue w-full sm:w-auto' %> +

+ <% end %> + + <%= render "devise/shared/links" %> <% end %> - -<%= render "devise/shared/links" %> diff --git a/app/views/donations/index.html.erb b/app/views/donations/index.html.erb index d3b252b..bbb4f3c 100644 --- a/app/views/donations/index.html.erb +++ b/app/views/donations/index.html.erb @@ -1,41 +1,41 @@ -
-

Donations

-

- Your financial contributions to the development and - upkeep of Kosmos software and services. -

-
+<%= render HeaderComponent.new(title: "Donations") %> -
- <% if @donations.any? %> - - <% else %> -

- No donations to show. +<%= render MainSimpleComponent.new do %> +

+

+ Your financial contributions to the development and upkeep of Kosmos + software and services.

- <% end %> -
+ <% if @donations.any? %> + + <% else %> +

+ No donations to show. +

+ <% end %> +
+<% end %> diff --git a/app/views/icons/_activity.html.erb b/app/views/icons/_activity.html.erb new file mode 100644 index 0000000..669a57a --- /dev/null +++ b/app/views/icons/_activity.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_airplay.html.erb b/app/views/icons/_airplay.html.erb new file mode 100644 index 0000000..7ce7302 --- /dev/null +++ b/app/views/icons/_airplay.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_alert-circle.html.erb b/app/views/icons/_alert-circle.html.erb new file mode 100644 index 0000000..8d02b7d --- /dev/null +++ b/app/views/icons/_alert-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_alert-octagon.html.erb b/app/views/icons/_alert-octagon.html.erb new file mode 100644 index 0000000..de9b03f --- /dev/null +++ b/app/views/icons/_alert-octagon.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_alert-triangle.html.erb b/app/views/icons/_alert-triangle.html.erb new file mode 100644 index 0000000..6dcb096 --- /dev/null +++ b/app/views/icons/_alert-triangle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_align-center.html.erb b/app/views/icons/_align-center.html.erb new file mode 100644 index 0000000..5b8842e --- /dev/null +++ b/app/views/icons/_align-center.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_align-justify.html.erb b/app/views/icons/_align-justify.html.erb new file mode 100644 index 0000000..0539876 --- /dev/null +++ b/app/views/icons/_align-justify.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_align-left.html.erb b/app/views/icons/_align-left.html.erb new file mode 100644 index 0000000..9ac852a --- /dev/null +++ b/app/views/icons/_align-left.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_align-right.html.erb b/app/views/icons/_align-right.html.erb new file mode 100644 index 0000000..ef139ff --- /dev/null +++ b/app/views/icons/_align-right.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_anchor.html.erb b/app/views/icons/_anchor.html.erb new file mode 100644 index 0000000..e01627a --- /dev/null +++ b/app/views/icons/_anchor.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_aperture.html.erb b/app/views/icons/_aperture.html.erb new file mode 100644 index 0000000..9936e86 --- /dev/null +++ b/app/views/icons/_aperture.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_archive.html.erb b/app/views/icons/_archive.html.erb new file mode 100644 index 0000000..428882c --- /dev/null +++ b/app/views/icons/_archive.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-down-circle.html.erb b/app/views/icons/_arrow-down-circle.html.erb new file mode 100644 index 0000000..3238091 --- /dev/null +++ b/app/views/icons/_arrow-down-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-down-left.html.erb b/app/views/icons/_arrow-down-left.html.erb new file mode 100644 index 0000000..7248358 --- /dev/null +++ b/app/views/icons/_arrow-down-left.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-down-right.html.erb b/app/views/icons/_arrow-down-right.html.erb new file mode 100644 index 0000000..81d9822 --- /dev/null +++ b/app/views/icons/_arrow-down-right.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-down.html.erb b/app/views/icons/_arrow-down.html.erb new file mode 100644 index 0000000..4f84f62 --- /dev/null +++ b/app/views/icons/_arrow-down.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-left-circle.html.erb b/app/views/icons/_arrow-left-circle.html.erb new file mode 100644 index 0000000..3b19ff8 --- /dev/null +++ b/app/views/icons/_arrow-left-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-left.html.erb b/app/views/icons/_arrow-left.html.erb new file mode 100644 index 0000000..a5058fc --- /dev/null +++ b/app/views/icons/_arrow-left.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-right-circle.html.erb b/app/views/icons/_arrow-right-circle.html.erb new file mode 100644 index 0000000..ff01dd5 --- /dev/null +++ b/app/views/icons/_arrow-right-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-right.html.erb b/app/views/icons/_arrow-right.html.erb new file mode 100644 index 0000000..939b57c --- /dev/null +++ b/app/views/icons/_arrow-right.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-up-circle.html.erb b/app/views/icons/_arrow-up-circle.html.erb new file mode 100644 index 0000000..044a75d --- /dev/null +++ b/app/views/icons/_arrow-up-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-up-left.html.erb b/app/views/icons/_arrow-up-left.html.erb new file mode 100644 index 0000000..cea55e8 --- /dev/null +++ b/app/views/icons/_arrow-up-left.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-up-right.html.erb b/app/views/icons/_arrow-up-right.html.erb new file mode 100644 index 0000000..95678e0 --- /dev/null +++ b/app/views/icons/_arrow-up-right.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_arrow-up.html.erb b/app/views/icons/_arrow-up.html.erb new file mode 100644 index 0000000..16b13ab --- /dev/null +++ b/app/views/icons/_arrow-up.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_at-sign.html.erb b/app/views/icons/_at-sign.html.erb new file mode 100644 index 0000000..5a5e5d0 --- /dev/null +++ b/app/views/icons/_at-sign.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_award.html.erb b/app/views/icons/_award.html.erb new file mode 100644 index 0000000..be70d5a --- /dev/null +++ b/app/views/icons/_award.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_bar-chart-2.html.erb b/app/views/icons/_bar-chart-2.html.erb new file mode 100644 index 0000000..864167a --- /dev/null +++ b/app/views/icons/_bar-chart-2.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_bar-chart.html.erb b/app/views/icons/_bar-chart.html.erb new file mode 100644 index 0000000..074d7c1 --- /dev/null +++ b/app/views/icons/_bar-chart.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_battery-charging.html.erb b/app/views/icons/_battery-charging.html.erb new file mode 100644 index 0000000..644cb59 --- /dev/null +++ b/app/views/icons/_battery-charging.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_battery.html.erb b/app/views/icons/_battery.html.erb new file mode 100644 index 0000000..7fe8771 --- /dev/null +++ b/app/views/icons/_battery.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_bell-off.html.erb b/app/views/icons/_bell-off.html.erb new file mode 100644 index 0000000..4b07c84 --- /dev/null +++ b/app/views/icons/_bell-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_bell.html.erb b/app/views/icons/_bell.html.erb new file mode 100644 index 0000000..bba561c --- /dev/null +++ b/app/views/icons/_bell.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_bluetooth.html.erb b/app/views/icons/_bluetooth.html.erb new file mode 100644 index 0000000..cebed7b --- /dev/null +++ b/app/views/icons/_bluetooth.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_bold.html.erb b/app/views/icons/_bold.html.erb new file mode 100644 index 0000000..d1a4efd --- /dev/null +++ b/app/views/icons/_bold.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_book-open.html.erb b/app/views/icons/_book-open.html.erb new file mode 100644 index 0000000..5e0ca0a --- /dev/null +++ b/app/views/icons/_book-open.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_book.html.erb b/app/views/icons/_book.html.erb new file mode 100644 index 0000000..12ffcbc --- /dev/null +++ b/app/views/icons/_book.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_bookmark.html.erb b/app/views/icons/_bookmark.html.erb new file mode 100644 index 0000000..2239cc5 --- /dev/null +++ b/app/views/icons/_bookmark.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_box.html.erb b/app/views/icons/_box.html.erb new file mode 100644 index 0000000..d89be30 --- /dev/null +++ b/app/views/icons/_box.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_briefcase.html.erb b/app/views/icons/_briefcase.html.erb new file mode 100644 index 0000000..e3af050 --- /dev/null +++ b/app/views/icons/_briefcase.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_calendar.html.erb b/app/views/icons/_calendar.html.erb new file mode 100644 index 0000000..6c7fd87 --- /dev/null +++ b/app/views/icons/_calendar.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_camera-off.html.erb b/app/views/icons/_camera-off.html.erb new file mode 100644 index 0000000..daa3e25 --- /dev/null +++ b/app/views/icons/_camera-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_camera.html.erb b/app/views/icons/_camera.html.erb new file mode 100644 index 0000000..0e7f060 --- /dev/null +++ b/app/views/icons/_camera.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_cast.html.erb b/app/views/icons/_cast.html.erb new file mode 100644 index 0000000..63c954d --- /dev/null +++ b/app/views/icons/_cast.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_check-circle.html.erb b/app/views/icons/_check-circle.html.erb new file mode 100644 index 0000000..f2f4fd1 --- /dev/null +++ b/app/views/icons/_check-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_check-square.html.erb b/app/views/icons/_check-square.html.erb new file mode 100644 index 0000000..72ab7a8 --- /dev/null +++ b/app/views/icons/_check-square.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_check.html.erb b/app/views/icons/_check.html.erb new file mode 100644 index 0000000..1c20989 --- /dev/null +++ b/app/views/icons/_check.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_chevron-down.html.erb b/app/views/icons/_chevron-down.html.erb new file mode 100644 index 0000000..278c6a3 --- /dev/null +++ b/app/views/icons/_chevron-down.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_chevron-left.html.erb b/app/views/icons/_chevron-left.html.erb new file mode 100644 index 0000000..747d46d --- /dev/null +++ b/app/views/icons/_chevron-left.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_chevron-right.html.erb b/app/views/icons/_chevron-right.html.erb new file mode 100644 index 0000000..258de41 --- /dev/null +++ b/app/views/icons/_chevron-right.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_chevron-up.html.erb b/app/views/icons/_chevron-up.html.erb new file mode 100644 index 0000000..4eb5ecc --- /dev/null +++ b/app/views/icons/_chevron-up.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_chevrons-down.html.erb b/app/views/icons/_chevrons-down.html.erb new file mode 100644 index 0000000..e67ef2f --- /dev/null +++ b/app/views/icons/_chevrons-down.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_chevrons-left.html.erb b/app/views/icons/_chevrons-left.html.erb new file mode 100644 index 0000000..c32e398 --- /dev/null +++ b/app/views/icons/_chevrons-left.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_chevrons-right.html.erb b/app/views/icons/_chevrons-right.html.erb new file mode 100644 index 0000000..f506814 --- /dev/null +++ b/app/views/icons/_chevrons-right.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_chevrons-up.html.erb b/app/views/icons/_chevrons-up.html.erb new file mode 100644 index 0000000..0eaf518 --- /dev/null +++ b/app/views/icons/_chevrons-up.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_chrome.html.erb b/app/views/icons/_chrome.html.erb new file mode 100644 index 0000000..9189815 --- /dev/null +++ b/app/views/icons/_chrome.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_circle.html.erb b/app/views/icons/_circle.html.erb new file mode 100644 index 0000000..b009088 --- /dev/null +++ b/app/views/icons/_circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_clipboard.html.erb b/app/views/icons/_clipboard.html.erb new file mode 100644 index 0000000..ccee454 --- /dev/null +++ b/app/views/icons/_clipboard.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_clock.html.erb b/app/views/icons/_clock.html.erb new file mode 100644 index 0000000..ea3f5e5 --- /dev/null +++ b/app/views/icons/_clock.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_cloud-drizzle.html.erb b/app/views/icons/_cloud-drizzle.html.erb new file mode 100644 index 0000000..13af6bb --- /dev/null +++ b/app/views/icons/_cloud-drizzle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_cloud-lightning.html.erb b/app/views/icons/_cloud-lightning.html.erb new file mode 100644 index 0000000..32d154c --- /dev/null +++ b/app/views/icons/_cloud-lightning.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_cloud-off.html.erb b/app/views/icons/_cloud-off.html.erb new file mode 100644 index 0000000..1e1e7d6 --- /dev/null +++ b/app/views/icons/_cloud-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_cloud-rain.html.erb b/app/views/icons/_cloud-rain.html.erb new file mode 100644 index 0000000..3e0b85b --- /dev/null +++ b/app/views/icons/_cloud-rain.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_cloud-snow.html.erb b/app/views/icons/_cloud-snow.html.erb new file mode 100644 index 0000000..e4eb820 --- /dev/null +++ b/app/views/icons/_cloud-snow.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_cloud.html.erb b/app/views/icons/_cloud.html.erb new file mode 100644 index 0000000..0ee0c63 --- /dev/null +++ b/app/views/icons/_cloud.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_code.html.erb b/app/views/icons/_code.html.erb new file mode 100644 index 0000000..c4954b5 --- /dev/null +++ b/app/views/icons/_code.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_codepen.html.erb b/app/views/icons/_codepen.html.erb new file mode 100644 index 0000000..ab2a815 --- /dev/null +++ b/app/views/icons/_codepen.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_codesandbox.html.erb b/app/views/icons/_codesandbox.html.erb new file mode 100644 index 0000000..49848f5 --- /dev/null +++ b/app/views/icons/_codesandbox.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_coffee.html.erb b/app/views/icons/_coffee.html.erb new file mode 100644 index 0000000..32905e5 --- /dev/null +++ b/app/views/icons/_coffee.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_columns.html.erb b/app/views/icons/_columns.html.erb new file mode 100644 index 0000000..d264b55 --- /dev/null +++ b/app/views/icons/_columns.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_command.html.erb b/app/views/icons/_command.html.erb new file mode 100644 index 0000000..93f554c --- /dev/null +++ b/app/views/icons/_command.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_compass.html.erb b/app/views/icons/_compass.html.erb new file mode 100644 index 0000000..3296260 --- /dev/null +++ b/app/views/icons/_compass.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_copy.html.erb b/app/views/icons/_copy.html.erb new file mode 100644 index 0000000..4e0b09f --- /dev/null +++ b/app/views/icons/_copy.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_corner-down-left.html.erb b/app/views/icons/_corner-down-left.html.erb new file mode 100644 index 0000000..9fffb3e --- /dev/null +++ b/app/views/icons/_corner-down-left.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_corner-down-right.html.erb b/app/views/icons/_corner-down-right.html.erb new file mode 100644 index 0000000..b27d408 --- /dev/null +++ b/app/views/icons/_corner-down-right.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_corner-left-down.html.erb b/app/views/icons/_corner-left-down.html.erb new file mode 100644 index 0000000..24b8375 --- /dev/null +++ b/app/views/icons/_corner-left-down.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_corner-left-up.html.erb b/app/views/icons/_corner-left-up.html.erb new file mode 100644 index 0000000..e54527c --- /dev/null +++ b/app/views/icons/_corner-left-up.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_corner-right-down.html.erb b/app/views/icons/_corner-right-down.html.erb new file mode 100644 index 0000000..a49e6d6 --- /dev/null +++ b/app/views/icons/_corner-right-down.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_corner-right-up.html.erb b/app/views/icons/_corner-right-up.html.erb new file mode 100644 index 0000000..a5c5dce --- /dev/null +++ b/app/views/icons/_corner-right-up.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_corner-up-left.html.erb b/app/views/icons/_corner-up-left.html.erb new file mode 100644 index 0000000..0a1ffd6 --- /dev/null +++ b/app/views/icons/_corner-up-left.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_corner-up-right.html.erb b/app/views/icons/_corner-up-right.html.erb new file mode 100644 index 0000000..0b8f961 --- /dev/null +++ b/app/views/icons/_corner-up-right.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_cpu.html.erb b/app/views/icons/_cpu.html.erb new file mode 100644 index 0000000..2ed16ef --- /dev/null +++ b/app/views/icons/_cpu.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_credit-card.html.erb b/app/views/icons/_credit-card.html.erb new file mode 100644 index 0000000..1b7fd02 --- /dev/null +++ b/app/views/icons/_credit-card.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_crop.html.erb b/app/views/icons/_crop.html.erb new file mode 100644 index 0000000..ffbfd04 --- /dev/null +++ b/app/views/icons/_crop.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_crosshair.html.erb b/app/views/icons/_crosshair.html.erb new file mode 100644 index 0000000..ba39401 --- /dev/null +++ b/app/views/icons/_crosshair.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_database.html.erb b/app/views/icons/_database.html.erb new file mode 100644 index 0000000..c296fbc --- /dev/null +++ b/app/views/icons/_database.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_delete.html.erb b/app/views/icons/_delete.html.erb new file mode 100644 index 0000000..8c6074b --- /dev/null +++ b/app/views/icons/_delete.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_disc.html.erb b/app/views/icons/_disc.html.erb new file mode 100644 index 0000000..2595b44 --- /dev/null +++ b/app/views/icons/_disc.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_divide-circle.html.erb b/app/views/icons/_divide-circle.html.erb new file mode 100644 index 0000000..03a50b7 --- /dev/null +++ b/app/views/icons/_divide-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_divide-square.html.erb b/app/views/icons/_divide-square.html.erb new file mode 100644 index 0000000..852f776 --- /dev/null +++ b/app/views/icons/_divide-square.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_divide.html.erb b/app/views/icons/_divide.html.erb new file mode 100644 index 0000000..3cbff3a --- /dev/null +++ b/app/views/icons/_divide.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_dollar-sign.html.erb b/app/views/icons/_dollar-sign.html.erb new file mode 100644 index 0000000..1a124d2 --- /dev/null +++ b/app/views/icons/_dollar-sign.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_download-cloud.html.erb b/app/views/icons/_download-cloud.html.erb new file mode 100644 index 0000000..f3126fc --- /dev/null +++ b/app/views/icons/_download-cloud.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_download.html.erb b/app/views/icons/_download.html.erb new file mode 100644 index 0000000..76767a9 --- /dev/null +++ b/app/views/icons/_download.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_dribbble.html.erb b/app/views/icons/_dribbble.html.erb new file mode 100644 index 0000000..bb8577d --- /dev/null +++ b/app/views/icons/_dribbble.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_droplet.html.erb b/app/views/icons/_droplet.html.erb new file mode 100644 index 0000000..ca09301 --- /dev/null +++ b/app/views/icons/_droplet.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_edit-2.html.erb b/app/views/icons/_edit-2.html.erb new file mode 100644 index 0000000..06830c9 --- /dev/null +++ b/app/views/icons/_edit-2.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_edit-3.html.erb b/app/views/icons/_edit-3.html.erb new file mode 100644 index 0000000..d728efc --- /dev/null +++ b/app/views/icons/_edit-3.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_edit.html.erb b/app/views/icons/_edit.html.erb new file mode 100644 index 0000000..ec7b4ca --- /dev/null +++ b/app/views/icons/_edit.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_external-link.html.erb b/app/views/icons/_external-link.html.erb new file mode 100644 index 0000000..6236df3 --- /dev/null +++ b/app/views/icons/_external-link.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_eye-off.html.erb b/app/views/icons/_eye-off.html.erb new file mode 100644 index 0000000..77c54cb --- /dev/null +++ b/app/views/icons/_eye-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_eye.html.erb b/app/views/icons/_eye.html.erb new file mode 100644 index 0000000..9cde243 --- /dev/null +++ b/app/views/icons/_eye.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_facebook.html.erb b/app/views/icons/_facebook.html.erb new file mode 100644 index 0000000..2570f56 --- /dev/null +++ b/app/views/icons/_facebook.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_fast-forward.html.erb b/app/views/icons/_fast-forward.html.erb new file mode 100644 index 0000000..fa39877 --- /dev/null +++ b/app/views/icons/_fast-forward.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_feather.html.erb b/app/views/icons/_feather.html.erb new file mode 100644 index 0000000..ac3b868 --- /dev/null +++ b/app/views/icons/_feather.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_figma.html.erb b/app/views/icons/_figma.html.erb new file mode 100644 index 0000000..66fd217 --- /dev/null +++ b/app/views/icons/_figma.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_file-minus.html.erb b/app/views/icons/_file-minus.html.erb new file mode 100644 index 0000000..345756e --- /dev/null +++ b/app/views/icons/_file-minus.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_file-plus.html.erb b/app/views/icons/_file-plus.html.erb new file mode 100644 index 0000000..eed1200 --- /dev/null +++ b/app/views/icons/_file-plus.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_file-text.html.erb b/app/views/icons/_file-text.html.erb new file mode 100644 index 0000000..4197ddd --- /dev/null +++ b/app/views/icons/_file-text.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_file.html.erb b/app/views/icons/_file.html.erb new file mode 100644 index 0000000..378519a --- /dev/null +++ b/app/views/icons/_file.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_film.html.erb b/app/views/icons/_film.html.erb new file mode 100644 index 0000000..ac46360 --- /dev/null +++ b/app/views/icons/_film.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_filter.html.erb b/app/views/icons/_filter.html.erb new file mode 100644 index 0000000..38a47e0 --- /dev/null +++ b/app/views/icons/_filter.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_flag.html.erb b/app/views/icons/_flag.html.erb new file mode 100644 index 0000000..037737c --- /dev/null +++ b/app/views/icons/_flag.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_folder-minus.html.erb b/app/views/icons/_folder-minus.html.erb new file mode 100644 index 0000000..d5b7af6 --- /dev/null +++ b/app/views/icons/_folder-minus.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_folder-plus.html.erb b/app/views/icons/_folder-plus.html.erb new file mode 100644 index 0000000..898f2fc --- /dev/null +++ b/app/views/icons/_folder-plus.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_folder.html.erb b/app/views/icons/_folder.html.erb new file mode 100644 index 0000000..134458b --- /dev/null +++ b/app/views/icons/_folder.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_framer.html.erb b/app/views/icons/_framer.html.erb new file mode 100644 index 0000000..3e66347 --- /dev/null +++ b/app/views/icons/_framer.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_frown.html.erb b/app/views/icons/_frown.html.erb new file mode 100644 index 0000000..f312254 --- /dev/null +++ b/app/views/icons/_frown.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_gift.html.erb b/app/views/icons/_gift.html.erb new file mode 100644 index 0000000..d2c14bd --- /dev/null +++ b/app/views/icons/_gift.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_git-branch.html.erb b/app/views/icons/_git-branch.html.erb new file mode 100644 index 0000000..4400372 --- /dev/null +++ b/app/views/icons/_git-branch.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_git-commit.html.erb b/app/views/icons/_git-commit.html.erb new file mode 100644 index 0000000..e959d72 --- /dev/null +++ b/app/views/icons/_git-commit.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_git-merge.html.erb b/app/views/icons/_git-merge.html.erb new file mode 100644 index 0000000..c65fffd --- /dev/null +++ b/app/views/icons/_git-merge.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_git-pull-request.html.erb b/app/views/icons/_git-pull-request.html.erb new file mode 100644 index 0000000..fc80bdf --- /dev/null +++ b/app/views/icons/_git-pull-request.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_github.html.erb b/app/views/icons/_github.html.erb new file mode 100644 index 0000000..ff0af48 --- /dev/null +++ b/app/views/icons/_github.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_gitlab.html.erb b/app/views/icons/_gitlab.html.erb new file mode 100644 index 0000000..85d54a1 --- /dev/null +++ b/app/views/icons/_gitlab.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_globe.html.erb b/app/views/icons/_globe.html.erb new file mode 100644 index 0000000..0a0586d --- /dev/null +++ b/app/views/icons/_globe.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_grid.html.erb b/app/views/icons/_grid.html.erb new file mode 100644 index 0000000..8ef2e9d --- /dev/null +++ b/app/views/icons/_grid.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_hard-drive.html.erb b/app/views/icons/_hard-drive.html.erb new file mode 100644 index 0000000..8e90fa1 --- /dev/null +++ b/app/views/icons/_hard-drive.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_hash.html.erb b/app/views/icons/_hash.html.erb new file mode 100644 index 0000000..c9c8d41 --- /dev/null +++ b/app/views/icons/_hash.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_headphones.html.erb b/app/views/icons/_headphones.html.erb new file mode 100644 index 0000000..fd8915b --- /dev/null +++ b/app/views/icons/_headphones.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_heart.html.erb b/app/views/icons/_heart.html.erb new file mode 100644 index 0000000..a083b7e --- /dev/null +++ b/app/views/icons/_heart.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_help-circle.html.erb b/app/views/icons/_help-circle.html.erb new file mode 100644 index 0000000..51fddd8 --- /dev/null +++ b/app/views/icons/_help-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_hexagon.html.erb b/app/views/icons/_hexagon.html.erb new file mode 100644 index 0000000..eae7f25 --- /dev/null +++ b/app/views/icons/_hexagon.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_home.html.erb b/app/views/icons/_home.html.erb new file mode 100644 index 0000000..7bb31b2 --- /dev/null +++ b/app/views/icons/_home.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_image.html.erb b/app/views/icons/_image.html.erb new file mode 100644 index 0000000..a7d84b9 --- /dev/null +++ b/app/views/icons/_image.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_inbox.html.erb b/app/views/icons/_inbox.html.erb new file mode 100644 index 0000000..03a13b4 --- /dev/null +++ b/app/views/icons/_inbox.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_info.html.erb b/app/views/icons/_info.html.erb new file mode 100644 index 0000000..a09fa5f --- /dev/null +++ b/app/views/icons/_info.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_instagram.html.erb b/app/views/icons/_instagram.html.erb new file mode 100644 index 0000000..9fdb8e3 --- /dev/null +++ b/app/views/icons/_instagram.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_italic.html.erb b/app/views/icons/_italic.html.erb new file mode 100644 index 0000000..a123d37 --- /dev/null +++ b/app/views/icons/_italic.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_key.html.erb b/app/views/icons/_key.html.erb new file mode 100644 index 0000000..de4730e --- /dev/null +++ b/app/views/icons/_key.html.erb @@ -0,0 +1 @@ + diff --git a/app/views/icons/_layers.html.erb b/app/views/icons/_layers.html.erb new file mode 100644 index 0000000..ea788c2 --- /dev/null +++ b/app/views/icons/_layers.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_layout.html.erb b/app/views/icons/_layout.html.erb new file mode 100644 index 0000000..28743d9 --- /dev/null +++ b/app/views/icons/_layout.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_life-buoy.html.erb b/app/views/icons/_life-buoy.html.erb new file mode 100644 index 0000000..54c2bd7 --- /dev/null +++ b/app/views/icons/_life-buoy.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_link-2.html.erb b/app/views/icons/_link-2.html.erb new file mode 100644 index 0000000..8cc7f6d --- /dev/null +++ b/app/views/icons/_link-2.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_link.html.erb b/app/views/icons/_link.html.erb new file mode 100644 index 0000000..c89dd41 --- /dev/null +++ b/app/views/icons/_link.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_linkedin.html.erb b/app/views/icons/_linkedin.html.erb new file mode 100644 index 0000000..3953109 --- /dev/null +++ b/app/views/icons/_linkedin.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_list.html.erb b/app/views/icons/_list.html.erb new file mode 100644 index 0000000..5ce38ea --- /dev/null +++ b/app/views/icons/_list.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_loader.html.erb b/app/views/icons/_loader.html.erb new file mode 100644 index 0000000..e1a70c1 --- /dev/null +++ b/app/views/icons/_loader.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_lock.html.erb b/app/views/icons/_lock.html.erb new file mode 100644 index 0000000..de09d9d --- /dev/null +++ b/app/views/icons/_lock.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_log-in.html.erb b/app/views/icons/_log-in.html.erb new file mode 100644 index 0000000..ba0da59 --- /dev/null +++ b/app/views/icons/_log-in.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_log-out.html.erb b/app/views/icons/_log-out.html.erb new file mode 100644 index 0000000..c9002c9 --- /dev/null +++ b/app/views/icons/_log-out.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_mail.html.erb b/app/views/icons/_mail.html.erb new file mode 100644 index 0000000..2af169e --- /dev/null +++ b/app/views/icons/_mail.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_map-pin.html.erb b/app/views/icons/_map-pin.html.erb new file mode 100644 index 0000000..d5548e9 --- /dev/null +++ b/app/views/icons/_map-pin.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_map.html.erb b/app/views/icons/_map.html.erb new file mode 100644 index 0000000..ecebd7b --- /dev/null +++ b/app/views/icons/_map.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_maximize-2.html.erb b/app/views/icons/_maximize-2.html.erb new file mode 100644 index 0000000..e41fc0b --- /dev/null +++ b/app/views/icons/_maximize-2.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_maximize.html.erb b/app/views/icons/_maximize.html.erb new file mode 100644 index 0000000..fc30518 --- /dev/null +++ b/app/views/icons/_maximize.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_meh.html.erb b/app/views/icons/_meh.html.erb new file mode 100644 index 0000000..6f57fff --- /dev/null +++ b/app/views/icons/_meh.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_menu.html.erb b/app/views/icons/_menu.html.erb new file mode 100644 index 0000000..e8a84a9 --- /dev/null +++ b/app/views/icons/_menu.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_message-circle.html.erb b/app/views/icons/_message-circle.html.erb new file mode 100644 index 0000000..4b21b32 --- /dev/null +++ b/app/views/icons/_message-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_message-square.html.erb b/app/views/icons/_message-square.html.erb new file mode 100644 index 0000000..6a2e4e5 --- /dev/null +++ b/app/views/icons/_message-square.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_mic-off.html.erb b/app/views/icons/_mic-off.html.erb new file mode 100644 index 0000000..0786219 --- /dev/null +++ b/app/views/icons/_mic-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_mic.html.erb b/app/views/icons/_mic.html.erb new file mode 100644 index 0000000..dc5f780 --- /dev/null +++ b/app/views/icons/_mic.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_minimize-2.html.erb b/app/views/icons/_minimize-2.html.erb new file mode 100644 index 0000000..a720fa6 --- /dev/null +++ b/app/views/icons/_minimize-2.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_minimize.html.erb b/app/views/icons/_minimize.html.erb new file mode 100644 index 0000000..46d6119 --- /dev/null +++ b/app/views/icons/_minimize.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_minus-circle.html.erb b/app/views/icons/_minus-circle.html.erb new file mode 100644 index 0000000..80c0de1 --- /dev/null +++ b/app/views/icons/_minus-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_minus-square.html.erb b/app/views/icons/_minus-square.html.erb new file mode 100644 index 0000000..4862832 --- /dev/null +++ b/app/views/icons/_minus-square.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_minus.html.erb b/app/views/icons/_minus.html.erb new file mode 100644 index 0000000..93cc734 --- /dev/null +++ b/app/views/icons/_minus.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_monitor.html.erb b/app/views/icons/_monitor.html.erb new file mode 100644 index 0000000..6c3556d --- /dev/null +++ b/app/views/icons/_monitor.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_moon.html.erb b/app/views/icons/_moon.html.erb new file mode 100644 index 0000000..dbf7c6c --- /dev/null +++ b/app/views/icons/_moon.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_more-horizontal.html.erb b/app/views/icons/_more-horizontal.html.erb new file mode 100644 index 0000000..dc6a855 --- /dev/null +++ b/app/views/icons/_more-horizontal.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_more-vertical.html.erb b/app/views/icons/_more-vertical.html.erb new file mode 100644 index 0000000..cba6958 --- /dev/null +++ b/app/views/icons/_more-vertical.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_mouse-pointer.html.erb b/app/views/icons/_mouse-pointer.html.erb new file mode 100644 index 0000000..f5af559 --- /dev/null +++ b/app/views/icons/_mouse-pointer.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_move.html.erb b/app/views/icons/_move.html.erb new file mode 100644 index 0000000..4e251b5 --- /dev/null +++ b/app/views/icons/_move.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_music.html.erb b/app/views/icons/_music.html.erb new file mode 100644 index 0000000..7bee2f7 --- /dev/null +++ b/app/views/icons/_music.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_navigation-2.html.erb b/app/views/icons/_navigation-2.html.erb new file mode 100644 index 0000000..ae31db9 --- /dev/null +++ b/app/views/icons/_navigation-2.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_navigation.html.erb b/app/views/icons/_navigation.html.erb new file mode 100644 index 0000000..f600a41 --- /dev/null +++ b/app/views/icons/_navigation.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_octagon.html.erb b/app/views/icons/_octagon.html.erb new file mode 100644 index 0000000..124c548 --- /dev/null +++ b/app/views/icons/_octagon.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_package.html.erb b/app/views/icons/_package.html.erb new file mode 100644 index 0000000..f1e09ee --- /dev/null +++ b/app/views/icons/_package.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_paperclip.html.erb b/app/views/icons/_paperclip.html.erb new file mode 100644 index 0000000..b1f69b7 --- /dev/null +++ b/app/views/icons/_paperclip.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_pause-circle.html.erb b/app/views/icons/_pause-circle.html.erb new file mode 100644 index 0000000..f6b1a8d --- /dev/null +++ b/app/views/icons/_pause-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_pause.html.erb b/app/views/icons/_pause.html.erb new file mode 100644 index 0000000..4e78038 --- /dev/null +++ b/app/views/icons/_pause.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_pen-tool.html.erb b/app/views/icons/_pen-tool.html.erb new file mode 100644 index 0000000..0d26fa1 --- /dev/null +++ b/app/views/icons/_pen-tool.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_percent.html.erb b/app/views/icons/_percent.html.erb new file mode 100644 index 0000000..2cb9719 --- /dev/null +++ b/app/views/icons/_percent.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_phone-call.html.erb b/app/views/icons/_phone-call.html.erb new file mode 100644 index 0000000..8b86660 --- /dev/null +++ b/app/views/icons/_phone-call.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_phone-forwarded.html.erb b/app/views/icons/_phone-forwarded.html.erb new file mode 100644 index 0000000..aa21bef --- /dev/null +++ b/app/views/icons/_phone-forwarded.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_phone-incoming.html.erb b/app/views/icons/_phone-incoming.html.erb new file mode 100644 index 0000000..b2d523a --- /dev/null +++ b/app/views/icons/_phone-incoming.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_phone-missed.html.erb b/app/views/icons/_phone-missed.html.erb new file mode 100644 index 0000000..4950f09 --- /dev/null +++ b/app/views/icons/_phone-missed.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_phone-off.html.erb b/app/views/icons/_phone-off.html.erb new file mode 100644 index 0000000..4d00fb3 --- /dev/null +++ b/app/views/icons/_phone-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_phone-outgoing.html.erb b/app/views/icons/_phone-outgoing.html.erb new file mode 100644 index 0000000..fea27a3 --- /dev/null +++ b/app/views/icons/_phone-outgoing.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_phone.html.erb b/app/views/icons/_phone.html.erb new file mode 100644 index 0000000..2a35154 --- /dev/null +++ b/app/views/icons/_phone.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_pie-chart.html.erb b/app/views/icons/_pie-chart.html.erb new file mode 100644 index 0000000..b5bbe67 --- /dev/null +++ b/app/views/icons/_pie-chart.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_play-circle.html.erb b/app/views/icons/_play-circle.html.erb new file mode 100644 index 0000000..8766dc7 --- /dev/null +++ b/app/views/icons/_play-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_play.html.erb b/app/views/icons/_play.html.erb new file mode 100644 index 0000000..fd76e30 --- /dev/null +++ b/app/views/icons/_play.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_plus-circle.html.erb b/app/views/icons/_plus-circle.html.erb new file mode 100644 index 0000000..4291ff0 --- /dev/null +++ b/app/views/icons/_plus-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_plus-square.html.erb b/app/views/icons/_plus-square.html.erb new file mode 100644 index 0000000..c380e24 --- /dev/null +++ b/app/views/icons/_plus-square.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_plus.html.erb b/app/views/icons/_plus.html.erb new file mode 100644 index 0000000..703c5b7 --- /dev/null +++ b/app/views/icons/_plus.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_pocket.html.erb b/app/views/icons/_pocket.html.erb new file mode 100644 index 0000000..a3b2561 --- /dev/null +++ b/app/views/icons/_pocket.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_power.html.erb b/app/views/icons/_power.html.erb new file mode 100644 index 0000000..598308f --- /dev/null +++ b/app/views/icons/_power.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_printer.html.erb b/app/views/icons/_printer.html.erb new file mode 100644 index 0000000..8a9a7ac --- /dev/null +++ b/app/views/icons/_printer.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_radio.html.erb b/app/views/icons/_radio.html.erb new file mode 100644 index 0000000..5abfcd1 --- /dev/null +++ b/app/views/icons/_radio.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_refresh-ccw.html.erb b/app/views/icons/_refresh-ccw.html.erb new file mode 100644 index 0000000..10cff0e --- /dev/null +++ b/app/views/icons/_refresh-ccw.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_refresh-cw.html.erb b/app/views/icons/_refresh-cw.html.erb new file mode 100644 index 0000000..06c358d --- /dev/null +++ b/app/views/icons/_refresh-cw.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_repeat.html.erb b/app/views/icons/_repeat.html.erb new file mode 100644 index 0000000..c7657b0 --- /dev/null +++ b/app/views/icons/_repeat.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_rewind.html.erb b/app/views/icons/_rewind.html.erb new file mode 100644 index 0000000..7b0fa3d --- /dev/null +++ b/app/views/icons/_rewind.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_rotate-ccw.html.erb b/app/views/icons/_rotate-ccw.html.erb new file mode 100644 index 0000000..ade5dc4 --- /dev/null +++ b/app/views/icons/_rotate-ccw.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_rotate-cw.html.erb b/app/views/icons/_rotate-cw.html.erb new file mode 100644 index 0000000..83dca35 --- /dev/null +++ b/app/views/icons/_rotate-cw.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_rss.html.erb b/app/views/icons/_rss.html.erb new file mode 100644 index 0000000..c9a1368 --- /dev/null +++ b/app/views/icons/_rss.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_save.html.erb b/app/views/icons/_save.html.erb new file mode 100644 index 0000000..46c7299 --- /dev/null +++ b/app/views/icons/_save.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_scissors.html.erb b/app/views/icons/_scissors.html.erb new file mode 100644 index 0000000..fd0647f --- /dev/null +++ b/app/views/icons/_scissors.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_search.html.erb b/app/views/icons/_search.html.erb new file mode 100644 index 0000000..8710306 --- /dev/null +++ b/app/views/icons/_search.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_send.html.erb b/app/views/icons/_send.html.erb new file mode 100644 index 0000000..42ef2a2 --- /dev/null +++ b/app/views/icons/_send.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_server.html.erb b/app/views/icons/_server.html.erb new file mode 100644 index 0000000..54ce094 --- /dev/null +++ b/app/views/icons/_server.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_settings.html.erb b/app/views/icons/_settings.html.erb new file mode 100644 index 0000000..b315869 --- /dev/null +++ b/app/views/icons/_settings.html.erb @@ -0,0 +1 @@ + diff --git a/app/views/icons/_share-2.html.erb b/app/views/icons/_share-2.html.erb new file mode 100644 index 0000000..09b1c7b --- /dev/null +++ b/app/views/icons/_share-2.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_share.html.erb b/app/views/icons/_share.html.erb new file mode 100644 index 0000000..df38c14 --- /dev/null +++ b/app/views/icons/_share.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_shield-off.html.erb b/app/views/icons/_shield-off.html.erb new file mode 100644 index 0000000..18692dd --- /dev/null +++ b/app/views/icons/_shield-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_shield.html.erb b/app/views/icons/_shield.html.erb new file mode 100644 index 0000000..644e1f8 --- /dev/null +++ b/app/views/icons/_shield.html.erb @@ -0,0 +1 @@ + diff --git a/app/views/icons/_shopping-bag.html.erb b/app/views/icons/_shopping-bag.html.erb new file mode 100644 index 0000000..eaa39e8 --- /dev/null +++ b/app/views/icons/_shopping-bag.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_shopping-cart.html.erb b/app/views/icons/_shopping-cart.html.erb new file mode 100644 index 0000000..17a40bf --- /dev/null +++ b/app/views/icons/_shopping-cart.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_shuffle.html.erb b/app/views/icons/_shuffle.html.erb new file mode 100644 index 0000000..8cfb5db --- /dev/null +++ b/app/views/icons/_shuffle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_sidebar.html.erb b/app/views/icons/_sidebar.html.erb new file mode 100644 index 0000000..8ba817e --- /dev/null +++ b/app/views/icons/_sidebar.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_skip-back.html.erb b/app/views/icons/_skip-back.html.erb new file mode 100644 index 0000000..88d024e --- /dev/null +++ b/app/views/icons/_skip-back.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_skip-forward.html.erb b/app/views/icons/_skip-forward.html.erb new file mode 100644 index 0000000..f3fdac3 --- /dev/null +++ b/app/views/icons/_skip-forward.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_slack.html.erb b/app/views/icons/_slack.html.erb new file mode 100644 index 0000000..5d97346 --- /dev/null +++ b/app/views/icons/_slack.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_slash.html.erb b/app/views/icons/_slash.html.erb new file mode 100644 index 0000000..f4131b8 --- /dev/null +++ b/app/views/icons/_slash.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_sliders.html.erb b/app/views/icons/_sliders.html.erb new file mode 100644 index 0000000..19c9385 --- /dev/null +++ b/app/views/icons/_sliders.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_smartphone.html.erb b/app/views/icons/_smartphone.html.erb new file mode 100644 index 0000000..0171a95 --- /dev/null +++ b/app/views/icons/_smartphone.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_smile.html.erb b/app/views/icons/_smile.html.erb new file mode 100644 index 0000000..24dc8a2 --- /dev/null +++ b/app/views/icons/_smile.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_speaker.html.erb b/app/views/icons/_speaker.html.erb new file mode 100644 index 0000000..75d5ff9 --- /dev/null +++ b/app/views/icons/_speaker.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_square.html.erb b/app/views/icons/_square.html.erb new file mode 100644 index 0000000..6eabc77 --- /dev/null +++ b/app/views/icons/_square.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_star.html.erb b/app/views/icons/_star.html.erb new file mode 100644 index 0000000..bcdc31a --- /dev/null +++ b/app/views/icons/_star.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_stop-circle.html.erb b/app/views/icons/_stop-circle.html.erb new file mode 100644 index 0000000..c10d9d4 --- /dev/null +++ b/app/views/icons/_stop-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_sun.html.erb b/app/views/icons/_sun.html.erb new file mode 100644 index 0000000..7f51b94 --- /dev/null +++ b/app/views/icons/_sun.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_sunrise.html.erb b/app/views/icons/_sunrise.html.erb new file mode 100644 index 0000000..eff4b1e --- /dev/null +++ b/app/views/icons/_sunrise.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_sunset.html.erb b/app/views/icons/_sunset.html.erb new file mode 100644 index 0000000..a5a2221 --- /dev/null +++ b/app/views/icons/_sunset.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_tablet.html.erb b/app/views/icons/_tablet.html.erb new file mode 100644 index 0000000..9c80b40 --- /dev/null +++ b/app/views/icons/_tablet.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_tag.html.erb b/app/views/icons/_tag.html.erb new file mode 100644 index 0000000..7219b15 --- /dev/null +++ b/app/views/icons/_tag.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_target.html.erb b/app/views/icons/_target.html.erb new file mode 100644 index 0000000..be84b17 --- /dev/null +++ b/app/views/icons/_target.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_terminal.html.erb b/app/views/icons/_terminal.html.erb new file mode 100644 index 0000000..af459c0 --- /dev/null +++ b/app/views/icons/_terminal.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_thermometer.html.erb b/app/views/icons/_thermometer.html.erb new file mode 100644 index 0000000..33142cc --- /dev/null +++ b/app/views/icons/_thermometer.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_thumbs-down.html.erb b/app/views/icons/_thumbs-down.html.erb new file mode 100644 index 0000000..3e7bcd6 --- /dev/null +++ b/app/views/icons/_thumbs-down.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_thumbs-up.html.erb b/app/views/icons/_thumbs-up.html.erb new file mode 100644 index 0000000..226c44d --- /dev/null +++ b/app/views/icons/_thumbs-up.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_toggle-left.html.erb b/app/views/icons/_toggle-left.html.erb new file mode 100644 index 0000000..240be29 --- /dev/null +++ b/app/views/icons/_toggle-left.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_toggle-right.html.erb b/app/views/icons/_toggle-right.html.erb new file mode 100644 index 0000000..fc6e81c --- /dev/null +++ b/app/views/icons/_toggle-right.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_tool.html.erb b/app/views/icons/_tool.html.erb new file mode 100644 index 0000000..f3cbf3d --- /dev/null +++ b/app/views/icons/_tool.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_trash-2.html.erb b/app/views/icons/_trash-2.html.erb new file mode 100644 index 0000000..f24d55b --- /dev/null +++ b/app/views/icons/_trash-2.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_trash.html.erb b/app/views/icons/_trash.html.erb new file mode 100644 index 0000000..55650bd --- /dev/null +++ b/app/views/icons/_trash.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_trello.html.erb b/app/views/icons/_trello.html.erb new file mode 100644 index 0000000..b2f599b --- /dev/null +++ b/app/views/icons/_trello.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_trending-down.html.erb b/app/views/icons/_trending-down.html.erb new file mode 100644 index 0000000..a9d4cfa --- /dev/null +++ b/app/views/icons/_trending-down.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_trending-up.html.erb b/app/views/icons/_trending-up.html.erb new file mode 100644 index 0000000..52026a4 --- /dev/null +++ b/app/views/icons/_trending-up.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_triangle.html.erb b/app/views/icons/_triangle.html.erb new file mode 100644 index 0000000..274b652 --- /dev/null +++ b/app/views/icons/_triangle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_truck.html.erb b/app/views/icons/_truck.html.erb new file mode 100644 index 0000000..3389837 --- /dev/null +++ b/app/views/icons/_truck.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_tv.html.erb b/app/views/icons/_tv.html.erb new file mode 100644 index 0000000..955bbff --- /dev/null +++ b/app/views/icons/_tv.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_twitch.html.erb b/app/views/icons/_twitch.html.erb new file mode 100644 index 0000000..1706249 --- /dev/null +++ b/app/views/icons/_twitch.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_twitter.html.erb b/app/views/icons/_twitter.html.erb new file mode 100644 index 0000000..f8886ec --- /dev/null +++ b/app/views/icons/_twitter.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_type.html.erb b/app/views/icons/_type.html.erb new file mode 100644 index 0000000..c6b2de3 --- /dev/null +++ b/app/views/icons/_type.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_umbrella.html.erb b/app/views/icons/_umbrella.html.erb new file mode 100644 index 0000000..dc77c0c --- /dev/null +++ b/app/views/icons/_umbrella.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_underline.html.erb b/app/views/icons/_underline.html.erb new file mode 100644 index 0000000..044945d --- /dev/null +++ b/app/views/icons/_underline.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_unlock.html.erb b/app/views/icons/_unlock.html.erb new file mode 100644 index 0000000..01dc359 --- /dev/null +++ b/app/views/icons/_unlock.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_upload-cloud.html.erb b/app/views/icons/_upload-cloud.html.erb new file mode 100644 index 0000000..a1db297 --- /dev/null +++ b/app/views/icons/_upload-cloud.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_upload.html.erb b/app/views/icons/_upload.html.erb new file mode 100644 index 0000000..91eaff7 --- /dev/null +++ b/app/views/icons/_upload.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_user-check.html.erb b/app/views/icons/_user-check.html.erb new file mode 100644 index 0000000..42f91b2 --- /dev/null +++ b/app/views/icons/_user-check.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_user-minus.html.erb b/app/views/icons/_user-minus.html.erb new file mode 100644 index 0000000..44b75f5 --- /dev/null +++ b/app/views/icons/_user-minus.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_user-plus.html.erb b/app/views/icons/_user-plus.html.erb new file mode 100644 index 0000000..21460f6 --- /dev/null +++ b/app/views/icons/_user-plus.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_user-x.html.erb b/app/views/icons/_user-x.html.erb new file mode 100644 index 0000000..0c41a48 --- /dev/null +++ b/app/views/icons/_user-x.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_user.html.erb b/app/views/icons/_user.html.erb new file mode 100644 index 0000000..7bb5f29 --- /dev/null +++ b/app/views/icons/_user.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_users.html.erb b/app/views/icons/_users.html.erb new file mode 100644 index 0000000..aacf6b0 --- /dev/null +++ b/app/views/icons/_users.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_video-off.html.erb b/app/views/icons/_video-off.html.erb new file mode 100644 index 0000000..08ec697 --- /dev/null +++ b/app/views/icons/_video-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_video.html.erb b/app/views/icons/_video.html.erb new file mode 100644 index 0000000..8ff156a --- /dev/null +++ b/app/views/icons/_video.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_voicemail.html.erb b/app/views/icons/_voicemail.html.erb new file mode 100644 index 0000000..5d78a8e --- /dev/null +++ b/app/views/icons/_voicemail.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_volume-1.html.erb b/app/views/icons/_volume-1.html.erb new file mode 100644 index 0000000..150e875 --- /dev/null +++ b/app/views/icons/_volume-1.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_volume-2.html.erb b/app/views/icons/_volume-2.html.erb new file mode 100644 index 0000000..03d521c --- /dev/null +++ b/app/views/icons/_volume-2.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_volume-x.html.erb b/app/views/icons/_volume-x.html.erb new file mode 100644 index 0000000..be44240 --- /dev/null +++ b/app/views/icons/_volume-x.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_volume.html.erb b/app/views/icons/_volume.html.erb new file mode 100644 index 0000000..53bfe15 --- /dev/null +++ b/app/views/icons/_volume.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_watch.html.erb b/app/views/icons/_watch.html.erb new file mode 100644 index 0000000..a1099da --- /dev/null +++ b/app/views/icons/_watch.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_wifi-off.html.erb b/app/views/icons/_wifi-off.html.erb new file mode 100644 index 0000000..35eae43 --- /dev/null +++ b/app/views/icons/_wifi-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_wifi.html.erb b/app/views/icons/_wifi.html.erb new file mode 100644 index 0000000..748c285 --- /dev/null +++ b/app/views/icons/_wifi.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_wind.html.erb b/app/views/icons/_wind.html.erb new file mode 100644 index 0000000..82b3646 --- /dev/null +++ b/app/views/icons/_wind.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_x-circle.html.erb b/app/views/icons/_x-circle.html.erb new file mode 100644 index 0000000..94aad5e --- /dev/null +++ b/app/views/icons/_x-circle.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_x-octagon.html.erb b/app/views/icons/_x-octagon.html.erb new file mode 100644 index 0000000..8543198 --- /dev/null +++ b/app/views/icons/_x-octagon.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_x-square.html.erb b/app/views/icons/_x-square.html.erb new file mode 100644 index 0000000..7677c38 --- /dev/null +++ b/app/views/icons/_x-square.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_x.html.erb b/app/views/icons/_x.html.erb new file mode 100644 index 0000000..7d5875c --- /dev/null +++ b/app/views/icons/_x.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_youtube.html.erb b/app/views/icons/_youtube.html.erb new file mode 100644 index 0000000..c482438 --- /dev/null +++ b/app/views/icons/_youtube.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_zap-off.html.erb b/app/views/icons/_zap-off.html.erb new file mode 100644 index 0000000..c636f8b --- /dev/null +++ b/app/views/icons/_zap-off.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_zap.html.erb b/app/views/icons/_zap.html.erb new file mode 100644 index 0000000..8fdafa9 --- /dev/null +++ b/app/views/icons/_zap.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_zoom-in.html.erb b/app/views/icons/_zoom-in.html.erb new file mode 100644 index 0000000..da4572d --- /dev/null +++ b/app/views/icons/_zoom-in.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/icons/_zoom-out.html.erb b/app/views/icons/_zoom-out.html.erb new file mode 100644 index 0000000..fd678d7 --- /dev/null +++ b/app/views/icons/_zoom-out.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/invitations/index.html.erb b/app/views/invitations/index.html.erb index 68235a0..e91d9ca 100644 --- a/app/views/invitations/index.html.erb +++ b/app/views/invitations/index.html.erb @@ -1,56 +1,54 @@ -
-

Invitations

- <% if @invitations_unused.any? %> -

- Invite your friends to a Kosmos account by sharing an invitation URL with them: -

- <% end %> -
+<%= render HeaderComponent.new(title: "Invitations") %> -
- <% if @invitations_unused.any? %> - - - - - - - - <% @invitations_unused.each do |invitation| %> - - - - <% end %> - -
URL
<%= invitation_url(invitation.token) %>
- <% else %> -

- You do not have any invitations to give away yet. All good - things come in time. -

- <% end %> -
- -<% if @invitations_used.any? %> +<%= render MainSimpleComponent.new do %>
-

Accepted Invitations

- - - - - - - - - - <% @invitations_used.each do |invitation| %> - - - - + <% if @invitations_unused.any? %> +

+ Invite your friends to a Kosmos account by sharing an invitation URL with them: +

+
IDAcceptedInvited user
<%= invitation.token %><%= invitation.used_at.strftime("%Y-%m-%d") %><%= User.find(invitation.invited_user_id).address %>
+ + + - <% end %> - -
URL
+ + + <% @invitations_unused.each do |invitation| %> + + <%= invitation_url(invitation.token) %> + + <% end %> + + + <% else %> +

+ You do not have any invitations to give away yet. All good + things come in time. +

+ <% end %>
+ + <% if @invitations_used.any? %> +
+

Accepted Invitations

+ + + + + + + + + + <% @invitations_used.each do |invitation| %> + + + + + + <% end %> + +
AcceptedInvited user
<%= invitation.used_at.strftime("%Y-%m-%d") %><%= User.find(invitation.invited_user_id).address %>
+
+ <% end %> <% end %> diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb deleted file mode 100644 index e4d5735..0000000 --- a/app/views/layouts/admin.html.erb +++ /dev/null @@ -1,39 +0,0 @@ - - - - Admin Panel | Kosmos Accounts - <%= csrf_meta_tags %> - <%= csp_meta_tag %> - - - <%= stylesheet_link_tag 'legacy', "data-turbo-track": "reload" %> - <%= stylesheet_link_tag 'application', "data-turbo-track": "reload" %> - <%= javascript_importmap_tags %> - - -
-
-

- <%= render partial: "shared/icons/comet" %> - Kosmos - Accounts -

- <%= render partial: 'shared/header_account' %> -
- - <% if user_signed_in? && current_user.confirmed? %> - <%= render partial: 'shared/admin_nav' %> - <% end %> - - <% flash.each do |type, msg| %> -
-

<%= msg %>

-
- <% end %> - -
- <%= yield %> -
-
- - diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 263de68..13b7f8c 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -1,5 +1,5 @@ - + Kosmos Accounts <%= csrf_meta_tags %> @@ -10,30 +10,94 @@ <%= stylesheet_link_tag 'application', "data-turbo-track": "reload" %> <%= javascript_importmap_tags %> - -
-
-

- <%= render partial: "shared/icons/comet" %> - Kosmos - Account -

- <%= render partial: 'shared/header_account' %> -
- - <% if user_signed_in? && current_user.confirmed? %> - <%= render partial: 'shared/main_nav' %> - <% end %> - - <% flash.each do |type, msg| %> -
-

<%= msg %>

+ class="h-full <%= @context == :admin ? "bg-red-500" : "bg-sky-900" %>"> +
+ + +
+
+ <% flash.each do |type, data| %> + <%= render NotificationComponent.new(type: type, data: data) %> + <% end %> +
+
+ + <%= yield %>
diff --git a/app/views/layouts/signup.html.erb b/app/views/layouts/signup.html.erb deleted file mode 100644 index 3c02649..0000000 --- a/app/views/layouts/signup.html.erb +++ /dev/null @@ -1,40 +0,0 @@ - - - - Sign up | Kosmos Accounts - <%= csrf_meta_tags %> - <%= csp_meta_tag %> - - - <%= stylesheet_link_tag 'legacy', "data-turbo-track": "reload" %> - <%= stylesheet_link_tag 'application', "data-turbo-track": "reload" %> - <%= javascript_importmap_tags %> - - -
-
-

- <%= render partial: "shared/icons/comet" %> - Kosmos - Sign Up -

- <% if user_signed_in? %> -

- Signed in as <%= current_user.cn %>@kosmos.org. - <%= link_to "Log out", destroy_user_session_path, method: :delete %> -

- <% end %> -
- - <% flash.each do |type, msg| %> -
-

<%= msg %>

-
- <% end %> - -
- <%= yield %> -
-
- - diff --git a/app/views/security/index.html.erb b/app/views/security/index.html.erb index e1169b6..652723c 100644 --- a/app/views/security/index.html.erb +++ b/app/views/security/index.html.erb @@ -1,12 +1,13 @@ -
-

Security

-
+<%= render HeaderComponent.new(title: "Settings") %> -
-

Password change

-

- <%= form_with(url: settings_reset_password_path, method: :post) do %> - <%= submit_tag("Send me a password reset link", class: 'btn-md btn-gray') %> - <% end %> -

-
+<%= render MainWithSidenavComponent.new(sidenav_partial: 'shared/sidenav_settings') do %> +
+

Password

+

Use the following button to request an email with a password reset link:

+

+ <%= form_with(url: settings_reset_password_path, method: :post) do %> + <%= submit_tag("Send me a password reset link", class: 'btn-md btn-gray w-full sm:w-auto') %> + <% end %> +

+
+<% end %> diff --git a/app/views/shared/_admin_nav.html.erb b/app/views/shared/_admin_nav.html.erb index c1ca550..881cd93 100644 --- a/app/views/shared/_admin_nav.html.erb +++ b/app/views/shared/_admin_nav.html.erb @@ -1,22 +1,8 @@ - +<%= link_to "Dashboard", admin_root_path, + class: main_nav_class(@current_section, :dashboard) %> +<%= link_to "Invitations", admin_invitations_path, + class: main_nav_class(@current_section, :invitations) %> +<%= link_to "Donations", admin_donations_path, + class: main_nav_class(@current_section, :donations) %> +<%= link_to "LDAP Users", admin_ldap_users_path, + class: main_nav_class(@current_section, :ldap_users) %> diff --git a/app/views/shared/_header_account.html.erb b/app/views/shared/_header_account.html.erb deleted file mode 100644 index 21497a5..0000000 --- a/app/views/shared/_header_account.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -<% if user_signed_in? %> -

- Signed in as <%= current_user.cn %>@kosmos.org. - <%= link_to "Log out", destroy_user_session_path, class: 'underline' %> -

-<% end %> diff --git a/app/views/shared/_main_nav.html.erb b/app/views/shared/_main_nav.html.erb index 0da9406..2e49a05 100644 --- a/app/views/shared/_main_nav.html.erb +++ b/app/views/shared/_main_nav.html.erb @@ -1,26 +1,10 @@ - +<%= link_to "Services", root_path, + class: main_nav_class(@current_section, :dashboard) %> +<%= link_to "Invitations", invitations_path, + class: main_nav_class(@current_section, :invitations) %> +<%= link_to "Donations", donations_path, + class: main_nav_class(@current_section, :contributions) %> +<%= link_to "Wallet", wallet_path, + class: main_nav_class(@current_section, :wallet) %> +<%= link_to "Settings", security_path, + class: main_nav_class(@current_section, :security) %> diff --git a/app/views/shared/_sidenav_settings.html.erb b/app/views/shared/_sidenav_settings.html.erb new file mode 100644 index 0000000..3239907 --- /dev/null +++ b/app/views/shared/_sidenav_settings.html.erb @@ -0,0 +1,10 @@ +<%= render SidenavLinkComponent.new( + name: "Account", path: "#", icon: "settings", disabled: true +) %> +<%= render SidenavLinkComponent.new( + name: "Password", path: security_path, icon: "key", + active: current_page?(security_path) +) %> +<%= render SidenavLinkComponent.new( + name: "Security", path: "#", icon: "shield", disabled: true +) %> diff --git a/app/views/shared/status_forbidden.html.erb b/app/views/shared/status_forbidden.html.erb index cff9a63..859cd54 100644 --- a/app/views/shared/status_forbidden.html.erb +++ b/app/views/shared/status_forbidden.html.erb @@ -1,2 +1,6 @@ -

Access forbidden

-

Sorry, you're not allowed to access this page.

+<%= render HeaderCompactComponent.new(title: "403") %> + +<%= render MainCompactComponent.new do %> +

Access forbidden

+

Sorry, you're not allowed to access this page.

+<% end %> diff --git a/app/views/shared/status_not_found.html.erb b/app/views/shared/status_not_found.html.erb index c31810c..eabb987 100644 --- a/app/views/shared/status_not_found.html.erb +++ b/app/views/shared/status_not_found.html.erb @@ -1,2 +1,6 @@ -

Not found

-

Sorry, this page does not exist.

+<%= render HeaderCompactComponent.new(title: "404") %> + +<%= render MainCompactComponent.new do %> +

Not found

+

Sorry, this page does not exist.

+<% end %> diff --git a/app/views/shared/status_unauthorized.html.erb b/app/views/shared/status_unauthorized.html.erb index e69de29..3e2633f 100644 --- a/app/views/shared/status_unauthorized.html.erb +++ b/app/views/shared/status_unauthorized.html.erb @@ -0,0 +1,6 @@ +<%= render HeaderCompactComponent.new(title: "401") %> + +<%= render MainCompactComponent.new do %> +

Unauthorized

+

This page needs authorization to access.

+<% end %> diff --git a/app/views/signup/index.html.erb b/app/views/signup/index.html.erb index 25ed61e..4487623 100644 --- a/app/views/signup/index.html.erb +++ b/app/views/signup/index.html.erb @@ -1,12 +1,16 @@ -

Welcome

-

- Hey there! You were invited to sign up for a Kosmos account by - <%= @invited_by_name %>. -

-

- This invitation can only be used once, and sign-up is currently only possible - by invitation. Seems like you have good friends! -

-

- <%= link_to "Get started", signup_steps_path(1), class: "btn btn-md btn-blue" %> -

+<%= render HeaderCompactComponent.new(title: "Welcome") %> + +<%= render MainCompactComponent.new do %> +

+ Hey there! You were invited to sign up for a Kosmos account by + <%= @invited_by_name %>. +

+

+ This invitation can only be used once, and sign-up is currently only possible + by invitation. Seems like you have good friends! +

+

+ <%= link_to "Get started", signup_steps_path(1), + class: "btn-md btn-blue block w-full md:inline-block sm:w-auto" %> +

+<% end %> diff --git a/app/views/signup/steps.html.erb b/app/views/signup/steps.html.erb index 53cf237..09a3d2e 100644 --- a/app/views/signup/steps.html.erb +++ b/app/views/signup/steps.html.erb @@ -1,54 +1,63 @@ -<% case @step %> -<% when 1 %> -

Choose a username

- <%= form_for @user, :url => signup_validate_url do |f| %> -

- <%= f.label :cn, 'Username', class: 'hidden' %> - <%= f.text_field :cn, autofocus: true, autocomplete: "username", - class: 'text-xl' %> - @ - kosmos.org -

- <% if @validation_error.present? %> -

Username <%= @validation_error %>

- <% end %> -

- <%= f.submit "Continue", class: 'btn btn-md btn-blue' %> -

- <% end %> +<%= render HeaderCompactComponent.new(title: "Signup") %> -<% when 2 %> -

What's your email?

- <%= form_for @user, :url => signup_validate_url do |f| %> -

- <%= f.label :email, 'Email address', class: 'hidden' %> - <%= f.email_field :email, autofocus: true, autocomplete: 'email', class: 'text-xl' %> -

- <% if @validation_error.present? %> -

Email <%= @validation_error %>

+<%= render MainCompactComponent.new do %> + <% case @step + when 1 %> +

Choose a username

+ <%= form_for @user, :url => signup_validate_url do |f| %> +

+ <%= f.label :cn, 'Username', class: 'hidden' %> + <%= f.text_field :cn, autofocus: true, autocomplete: "username", + class: 'text-xl w-full md:w-3/5 mb-1' %> + @ + kosmos.org +

+ <% if @validation_error.present? %> +

Username <%= @validation_error %>

+ <% end %> +

+ <%= f.submit "Continue", + class: "btn-md btn-blue block w-full md:inline-block sm:w-auto" %> +

<% end %> -

- <%= f.submit "Continue", class: 'btn btn-md btn-blue' %> -

- <% end %> -<% when 3 %> -

Choose a password

- - <%= form_for @user, :url => signup_validate_url do |f| %> -

- <%= f.label :password, 'Password', class: 'hidden' %> - <%= f.password_field :password, autofocus: true, class: 'text-xl' %> -

- <% if @validation_error.present? %> -

Password <%= @validation_error %>

+ <% when 2 %> +

What's your email?

+ <%= form_for @user, :url => signup_validate_url do |f| %> +

+ <%= f.label :email, 'Email address', class: 'hidden' %> + <%= f.email_field :email, autofocus: true, autocomplete: 'email', + class: 'text-xl w-full' %> +

+ <% if @validation_error.present? %> +

Email <%= @validation_error %>

+ <% end %> +

+ <%= f.submit "Continue", + class: "btn-md btn-blue block w-full md:inline-block sm:w-auto" %> +

+ <% end %> + + <% when 3 %> +

Choose a password

+ + <%= form_for @user, :url => signup_validate_url do |f| %> +

+ <%= f.label :password, 'Password', class: 'hidden' %> + <%= f.password_field :password, autofocus: true, + class: 'text-xl w-full' %> +

+ <% if @validation_error.present? %> +

Password <%= @validation_error %>

+ <% end %> +

+ By clicking the button below, you accept our future Terms of Service + and Privacy Policy. Don't worry, they will be excellent! +

+

+ <%= f.submit "Create account", + class: "btn-md btn-blue block w-full sm:inline-block sm:w-auto" %> +

<% end %> -

- By clicking the button below, you accept our future Terms of Service - and Privacy Policy. Don't worry, they will be excellent! -

-

- <%= f.submit "Create account", class: 'btn-md btn-blue' %> -

<% end %> <% end %> diff --git a/app/views/wallet/index.html.erb b/app/views/wallet/index.html.erb index 1a641fa..afabb25 100644 --- a/app/views/wallet/index.html.erb +++ b/app/views/wallet/index.html.erb @@ -1,87 +1,90 @@ -
-
-

Wallet

+<%= render HeaderComponent.new(title: "Wallet") %> + +<%= render MainSimpleComponent.new do %> +
+
+

+ Send and receive sats via the Bitcoin Lightning Network. +

+
+
+

+ <% if @balance %> + <%= number_with_delimiter @balance %> sats
+ Available balance + <% else %> + n/a sats
+ Balance unavailable + <% end %> +

+
+
+ +
+

Lightning Address

- Send and receive sats via the Bitcoin Lightning Network. + Your Kosmos user address is also a + Lightning Address! + The easiest way to receive sats is by just giving out your address:

-
-
-

- <% if @balance %> - <%= number_with_delimiter @balance %> sats
- Available balance - <% else %> - n/a sats
- Balance unavailable - <% end %> +

+ <%= current_user.address %>

-
-
+ -
-

Lightning Address

-

- Your Kosmos user address is also a - Lightning Address! - The easiest way to receive sats is by just giving out your address: -

-

- <%= current_user.address %> -

-
+
+

Wallet Apps

+

+ You can connect various wallet apps to your Kosmos account. This allows + you to both receive and send sats. Any wallet that supports + LNDHub + accounts should be able to add/import your account using our setup + code/URL: +

+

+ + or + + +

+ +
-
-

Wallet Apps

-

- You can connect various wallet apps to your Kosmos account. This allows - you to both receive and send sats. Any wallet that supports - LNDHub - accounts should be able to add/import your account using our setup - code/URL: -

-

- - or - - -

- -
- -
-

Recommended Apps

-
-

- - <%= image_tag("/img/logos/bluewallet.svg", class: 'h-16') %> - -

-

- Android / iOS / macOS -

-

- When adding a wallet, choose "Import wallet" on the bottom of the screen, - then scan the setup QR code. -

-

- - <%= image_tag("/img/logos/alby.svg", class: 'h-16') %> - -

-

- Firefox / Chrome (Opera, Brave, Chromium-based browsers) -

-

- Choose "LNDHub (Bluewallet)" in the connect dialog and paste the setup - URL in the "LNDHub Export URI" field. -

-
-
+
+

Recommended Apps

+
+

+ + <%= image_tag("/img/logos/bluewallet.svg", class: 'h-16') %> + +

+

+ Android / iOS / macOS +

+

+ When adding a wallet, choose "Import wallet" on the bottom of the screen, + then scan the setup QR code. +

+

+ + <%= image_tag("/img/logos/alby.svg", class: 'h-16') %> + +

+

+ Firefox / Chrome (Opera, Brave, Chromium-based browsers) +

+

+ Choose "LNDHub (Bluewallet)" in the connect dialog and paste the setup + URL in the "LNDHub Export URI" field. +

+
+
+<% end %>