from aiogram.fsm.state import StatesGroup, State

class ProjectCreation(StatesGroup):
    waiting_for_title = State()
    waiting_for_desc = State()
    waiting_for_budget_min = State()
    waiting_for_budget_max = State()
    waiting_for_deadline = State()
    waiting_for_category = State()
    waiting_for_project_type = State()
    waiting_for_file = State()
    waiting_for_confirmation = State()

class BidSubmission(StatesGroup):
    waiting_for_amount = State()
    waiting_for_days = State()
    waiting_for_proposal = State()
    waiting_for_file = State()

class SupportSession(StatesGroup):
    waiting_for_message = State()

class AdminBroadcast(StatesGroup):
    waiting_for_message = State()

class WalletDeposit(StatesGroup):
    waiting_for_amount = State()
    waiting_for_receipt = State()

class ProjectDelivery(StatesGroup):
    waiting_for_details = State()

class ClientRating(StatesGroup):
    waiting_for_stars = State()
    waiting_for_review = State()

class FreelancerProfile(StatesGroup):
    waiting_for_skills = State()
    waiting_for_bio = State()

class ChatSession(StatesGroup):
    in_chat = State()

class ProjectSearch(StatesGroup):
    waiting_for_query = State()
    waiting_for_budget = State()

class WalletWithdraw(StatesGroup):
    waiting_for_amount = State()
    waiting_for_card = State()
    waiting_for_shaba = State()

class FreelancerPortfolio(StatesGroup):
    waiting_for_title = State()
    waiting_for_desc = State()
    waiting_for_file = State()
    waiting_for_url = State()

class FreelancerRating(StatesGroup):
    waiting_for_stars = State()
    waiting_for_review = State()

class AdminUserSearch(StatesGroup):
    waiting_for_query = State()

class AdminChangeBalance(StatesGroup):
    waiting_for_amount = State()

class BidEditing(StatesGroup):
    waiting_for_amount = State()
    waiting_for_days = State()
    waiting_for_proposal = State()

class ProjectEditing(StatesGroup):
    waiting_for_title = State()
    waiting_for_desc = State()
    waiting_for_budget_min = State()
    waiting_for_budget_max = State()
    waiting_for_deadline = State()

class UserVerification(StatesGroup):
    waiting_for_phone = State()
    waiting_for_name = State()
    waiting_for_national_code = State()

class AdminSettings(StatesGroup):
    waiting_for_setting_value = State()

class AdminSupportReply(StatesGroup):
    waiting_for_reply = State()

class AdminReview(StatesGroup):
    waiting_for_proj_reject_reason = State()
    waiting_for_user_reject_reason = State()
    waiting_for_svc_reject_reason = State()

class AdminChangeConnects(StatesGroup):
    waiting_for_amount = State()

class BidBoost(StatesGroup):
    waiting_for_bids = State()

class AsyncChat(StatesGroup):
    waiting_for_message = State()

class PromoRedeem(StatesGroup):
    waiting_for_code = State()

class AdminPromoCreation(StatesGroup):
    waiting_for_code = State()
    waiting_for_type = State()
    waiting_for_value = State()
    waiting_for_max_uses = State()
    waiting_for_expiry = State()

class MilestoneCreation(StatesGroup):
    waiting_for_amount = State()
    waiting_for_title = State()

class DisputeChat(StatesGroup):
    in_chat = State()

class SkillQuiz(StatesGroup):
    taking_quiz = State()

class Registration(StatesGroup):
    waiting_for_name = State()
    waiting_for_rules = State()

class ServiceCreation(StatesGroup):
    waiting_for_title = State()
    waiting_for_desc = State()
    waiting_for_price = State()
    waiting_for_days = State()
    waiting_for_file = State()

class AdminDisputeSplit(StatesGroup):
    waiting_for_freelancer_amount = State()


class AdminManageAdmins(StatesGroup):
    waiting_for_new_admin_id = State()


