Serein Workspace 145 · Private workspace
44 lines · 2 pages · Supabase backend
View code v1-auth-crud-0145
Create page login containing login_form, signup_form with viewport fill, alignment center, distribution center, background #f8fafc, padding 32 pixels, gap 18 pixels.
Create form login_form containing login_email, login_password, login_button with direction vertical, gap 10 pixels, padding 24 pixels, background white, border radius 12 pixels.
Create input login_email with placeholder "Email".
Create input login_password with placeholder "Password".
login_password input type is password.
Create button login_button displaying "Sign in" with background #b45309, text color white, padding 11 pixels.
login_button submits form.
Create form signup_form containing signup_email, signup_password, signup_button with direction vertical, gap 10 pixels, padding 24 pixels, background white, border radius 12 pixels.
Create input signup_email with placeholder "Create account email".
Create input signup_password with placeholder "Create password".
signup_password input type is password.
Create button signup_button displaying "Create account" with background #0f172a, text color white, padding 11 pixels.
signup_button submits form.
Create page workspace containing workspace_title, record_form, records, delete_button, logout_button with viewport fill, background #f8fafc, padding 28 pixels, gap 18 pixels.
Create heading workspace_title displaying "Serein Workspace 145" with font size 30 pixels.
Create form record_form containing title_input, status_input, save_button with direction vertical, gap 10 pixels, padding 22 pixels, background white, border radius 12 pixels.
Create input title_input with placeholder "Title".
Create input status_input with placeholder "Status".
Create button save_button displaying "Save record" with background #b45309, text color white, padding 11 pixels.
save_button submits form.
Create container records with gap 10 pixels.
Create collection record_rows with values "".
Render collection record_rows inside records as text items.
Create state selected_id with value "".
Create button delete_button displaying "Delete selected" with background #dc2626, text color white, padding 10 pixels.
Create button logout_button displaying "Sign out" with background transparent, text color #0f172a, padding 10 pixels.
Use Supabase backend.
Enable email and password authentication.
Protect page workspace with authentication.
After authentication navigate to workspace.
Use form signup_form to sign up with email signup_email and password signup_password.
Use form login_form to sign in with email login_email and password login_password.
When logout_button is clicked, sign out.
Create database table records.
records has required text column title.
records has required text column status with default "active".
records belongs to authenticated user through owner_id.
Allow authenticated users to read, create, update, and delete their own rows in records through owner_id.
Create index records_owner_created_index on records using owner_id, created_at.
Create data query record_list from records selecting id, title, status, created_at.
record_list orders by created_at descending.
Load record_list on page workspace into record_rows.
Use form record_form to insert into records mapping title_input to title, status_input to status.
When delete_button is clicked, delete from records using state selected_id as id.