mirror of
https://github.com/we-promise/sure.git
synced 2026-04-18 19:44:09 +00:00
* v1 of backend implementation for self hosting * Add docs * Add upgrades controller * Add global helpers for self hosting mode * Add self host settings controller * Conditionally show self hosting settings * Environment and config updates * Complete upgrade prompting flow * Update config for forked repo * Move configuration of github provider within class * Add upgrades cron * Update deploy button * Update guides * Fix render deployer * Typo * Enable auto upgrades * Fix cron * Make upgrade modes more clear and consistent * Trigger new available version * Fix logic for displaying upgrade prompts * Finish implementation * Fix regression * Trigger new version * Add i18n translations * trigger new version * reduce caching time for testing * Decrease cache for testing * trigger upgrade * trigger upgrade * Only trigger deploy once * trigger upgrade * If target is commit, always upgrade if any upgrade is available * trigger upgrade * trigger upgrade * Test release * Change back to maybe repo for defaults * Fix lint errors * Clearer naming * Fix relative link * Add abs path * Relative link * Update docs
98 lines
5.0 KiB
Plaintext
98 lines
5.0 KiB
Plaintext
<!DOCTYPE html>
|
|
<html class="h-full bg-gray-25">
|
|
<head>
|
|
<title><%= content_for(:title) || "Maybe" %></title>
|
|
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
<meta name="apple-mobile-web-app-title" content="Maybe">
|
|
<%= csrf_meta_tags %>
|
|
<%= csp_meta_tag %>
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
|
<link rel="manifest" href="/site.webmanifest">
|
|
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#ffffff">
|
|
<meta name="msapplication-TileColor" content="#ffffff">
|
|
<meta name="theme-color" content="#ffffff">
|
|
<%= stylesheet_link_tag "tailwind", "inter-font", "data-turbo-track": "reload" %>
|
|
<%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
|
|
<%= javascript_importmap_tags %>
|
|
<%= hotwire_livereload_tags if Rails.env.development? %>
|
|
<%= turbo_refreshes_with method: :morph, scroll: :preserve %>
|
|
<%= yield :head %>
|
|
</head>
|
|
<body class="h-full">
|
|
<div id="notification-tray" class="fixed z-50 space-y-1 top-6 right-6"></div>
|
|
<%= safe_join(flash.map { |type, message| notification(message, type: type) }) %>
|
|
<div class="flex">
|
|
<div class="flex-col p-5 min-w-80">
|
|
<div class="flex items-center justify-between">
|
|
<%= link_to root_path do %>
|
|
<%= image_tag "logo.svg", alt: "Maybe", class: "h-[22px]" %>
|
|
<% end %>
|
|
<div class="relative" data-controller="menu">
|
|
<button data-menu-target="button">
|
|
<div class="text-white w-9 h-9 bg-gray-400 rounded-full flex items-center justify-center text-lg uppercase"><%= Current.user.email.first %></div>
|
|
</button>
|
|
<div
|
|
data-menu-target="content"
|
|
class="hidden absolute min-w-[200px] z-10 top-10 right-0 bg-white p-1 rounded-sm shadow-xs border border-alpha-black-25 w-fit">
|
|
<%= link_to edit_settings_path, class: "flex gap-1 items-center hover:bg-gray-50 rounded-md p-2" do %>
|
|
<%= lucide_icon("pencil-line", class: "w-5 h-5 text-gray-500 shrink-0") %>
|
|
<span class="text-gray-900 text-sm">General Settings</span>
|
|
<% end %>
|
|
<% if self_hosted? %>
|
|
<%= link_to edit_settings_self_hosting_path, class: "flex gap-1 items-center hover:bg-gray-50 rounded-md p-2" do %>
|
|
<%= lucide_icon("pencil-line", class: "w-5 h-5 text-gray-500 shrink-0") %>
|
|
<span class="text-gray-900 text-sm">Self Host Settings</span>
|
|
<% end %>
|
|
<% end %>
|
|
<%= button_to session_path, method: :delete, class: "w-full text-gray-900 flex gap-1 items-center hover:bg-gray-50 rounded-md p-2" do %>
|
|
<%= lucide_icon("log-out", class: "w-5 h-5 shrink-0") %>
|
|
<span class="text-sm">Logout</span>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<nav>
|
|
<ul class="mt-6 space-y-1">
|
|
<li>
|
|
<%= sidebar_link_to t(".dashboard"), root_path, icon: "layout-grid" %>
|
|
</li>
|
|
<li>
|
|
<%= sidebar_link_to t(".accounts"), accounts_path, icon: "layers" %>
|
|
</li>
|
|
<li>
|
|
<%= sidebar_link_to t(".transactions"), transactions_path, icon: "credit-card" %>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<div class="flex flex-col mt-6">
|
|
<div class="flex items-center justify-between">
|
|
<%= link_to accounts_path, class: "text-xs uppercase text-gray-500 font-bold tracking-wide" do %>
|
|
<%= t(".accounts") %>
|
|
<% end %>
|
|
<%= link_to new_account_path, class: "block hover:bg-gray-100 p-2 text-sm font-semibold text-gray-900 flex items-center rounded", title: t(".new_account"), data: { turbo_frame: "modal" } do %>
|
|
<%= lucide_icon("plus", class: "w-5 h-5 text-gray-500") %>
|
|
<% end %>
|
|
</div>
|
|
<%= link_to new_account_path, class: "flex items-center gap-4 px-2 py-3 mb-1 text-gray-500 text-sm font-medium rounded-[10px] hover:bg-gray-100", data: { turbo_frame: "modal" } do %>
|
|
<%= lucide_icon("plus", class: "w-5 h-5") %>
|
|
<p><%= t(".new_account") %></p>
|
|
<% end %>
|
|
<% account_groups.each do |group| %>
|
|
<%= render "accounts/account_list", group: group %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
<main class="flex-grow px-20 py-6">
|
|
<%= yield %>
|
|
</main>
|
|
</div>
|
|
<%= turbo_frame_tag "modal" %>
|
|
<%= render "shared/custom_confirm_modal" %>
|
|
<%= render "shared/upgrade_notification" %>
|
|
</body>
|
|
</html>
|