main
erb 65 lines 2.6 KB
Raw
1 <% content_for :title, "Settings" %>
2
3 <div class="max-w-2xl mx-auto px-4 sm:px-6 py-12">
4 <h1 class="text-xl font-semibold text-gray-100 mb-8">Settings</h1>
5
6 <div class="card">
7 <div class="px-6 py-4 border-b border-surface-600">
8 <h2 class="text-sm font-semibold text-gray-100">Profile</h2>
9 </div>
10 <div class="px-6 py-6">
11 <%= form_with model: @user, url: settings_path, method: :patch do |f| %>
12 <div class="space-y-5">
13 <div>
14 <label class="form-label">Username</label>
15 <div class="form-input bg-surface-700 text-gray-400 cursor-not-allowed"><%= @user.username %></div>
16 <p class="text-xs text-gray-500 mt-1">Username cannot be changed.</p>
17 </div>
18 <div>
19 <%= f.label :display_name, "Display name", class: "form-label" %>
20 <%= f.text_field :display_name, class: "form-input", placeholder: @user.username %>
21 </div>
22 <div>
23 <label class="form-label">Email</label>
24 <div class="form-input bg-surface-700 text-gray-400 cursor-not-allowed"><%= @user.email %></div>
25 <p class="text-xs text-gray-500 mt-1">Managed with your account settings.</p>
26 </div>
27 <div class="pt-2">
28 <%= f.submit "Save changes", class: "btn-primary cursor-pointer" %>
29 </div>
30 </div>
31 <% end %>
32 </div>
33 </div>
34
35 <div class="card mt-6">
36 <div class="px-6 py-4 border-b border-surface-600">
37 <h2 class="text-sm font-semibold text-gray-100">Connected accounts</h2>
38 </div>
39 <div class="px-6 py-6">
40 <% if @user.oauth_provider_label %>
41 <div class="flex items-center justify-between">
42 <div class="flex items-center gap-3">
43 <span class="inline-flex h-2 w-2 rounded-full bg-green-500"></span>
44 <p class="text-sm text-gray-300">
45 Signed in with <span class="font-medium text-gray-100"><%= @user.oauth_provider_label %></span>
46 </p>
47 </div>
48 <span class="text-xs text-gray-500">Connected</span>
49 </div>
50 <% else %>
51 <p class="text-sm text-gray-400">No OAuth connection. You're signing in with email and password.</p>
52 <% end %>
53 </div>
54 </div>
55
56 <div class="card mt-6">
57 <div class="px-6 py-4 border-b border-surface-600">
58 <h2 class="text-sm font-semibold text-gray-100">Billing</h2>
59 </div>
60 <div class="px-6 py-6 flex items-center justify-between">
61 <p class="text-sm text-gray-400">Manage your siGit Code plan and cloud usage.</p>
62 <%= link_to "Billing", billing_path, class: "btn-primary" %>
63 </div>
64 </div>
65 </div>