//! Submit page — new quote submission form.
use crate::api::{self, ApiError};
use crate::components::error::ErrorDisplay;
use crate::storage;
use crate::Route;
use quotesdb::CreateQuoteInput;
use wasm_bindgen_futures::spawn_local;
use web_sys::HtmlInputElement;
use yew::prelude::*;
use yew_router::prelude::*;
/// Submit page component.
///
/// Provides a form for creating a new quote with fields for text, author,
/// source, date, tags, and an optional custom auth code. On success, displays
/// the returned auth code prominently so the user can save it, and stores it
/// in session storage for immediate use.
#[function_component(SubmitPage)]
pub fn submit_page() -> Html {
let text = use_state(String::new);
let author = use_state(String::new);
let source = use_state(String::new);
let date = use_state(String::new);
let tags = use_state(String::new);
let custom_auth = use_state(String::new);
let submitting = use_state(|| false);
let error: UseStateHandle