@{
    ViewData["Title"] = "Dialog 测试演示";
}

<style>
    .dialog-demo {
        padding: var(--spacing-xl) 0;
    }

    .dialog-demo__section {
        background: var(--color-bg-surface);
        border-radius: var(--radius-lg);
        padding: var(--spacing-lg);
        margin-bottom: var(--spacing-lg);
        border: 1px solid var(--color-border);
    }

    .dialog-demo__title {
        font-size: 1.5rem;
        font-weight: 600;
        margin-bottom: var(--spacing-md);
        color: var(--color-text-main);
        display: flex;
        align-items: center;
        gap: var(--spacing-sm);
    }

    .dialog-demo__subtitle {
        font-size: 1.125rem;
        font-weight: 500;
        margin: var(--spacing-lg) 0 var(--spacing-md);
        color: var(--color-text-secondary);
    }

    .dialog-demo__desc {
        color: var(--color-text-secondary);
        margin-bottom: var(--spacing-md);
        line-height: 1.6;
    }

    .dialog-demo__buttons {
        display: flex;
        flex-wrap: wrap;
        gap: var(--spacing-sm);
    }

    .dialog-demo__btn {
        padding: 0.625rem 1.25rem;
        border-radius: var(--radius-md);
        font-size: 0.9375rem;
        font-weight: 500;
        cursor: pointer;
        transition: all var(--transition-fast);
        border: 1px solid var(--color-border);
        background: var(--color-bg-surface);
        color: var(--color-text-main);
    }

    .dialog-demo__btn:hover {
        background: var(--color-primary);
        color: #ffffff;
        border-color: var(--color-primary);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(var(--color-primary-rgb), 0.3);
    }

    .dialog-demo__btn--primary {
        background: var(--color-primary);
        color: #ffffff;
        border-color: var(--color-primary);
    }

    .dialog-demo__btn--success {
        background: var(--color-status-success);
        color: #ffffff;
        border-color: var(--color-status-success);
    }

    .dialog-demo__btn--warning {
        background: var(--color-status-warning);
        color: #ffffff;
        border-color: var(--color-status-warning);
    }

    .dialog-demo__btn--error {
        background: var(--color-status-error);
        color: #ffffff;
        border-color: var(--color-status-error);
    }

    .dialog-demo__grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: var(--spacing-sm);
    }

    .dialog-demo__code {
        background: var(--color-bg-body);
        padding: var(--spacing-sm);
        border-radius: var(--radius-sm);
        font-family: 'Consolas', 'Monaco', monospace;
        font-size: 0.875rem;
        margin-top: var(--spacing-sm);
        color: var(--color-text-secondary);
        border: 1px solid var(--color-border);
    }

    .dialog-demo__tooltip-demo {
        display: inline-block;
        padding: var(--spacing-sm) var(--spacing-md);
        background: var(--color-bg-body);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
        cursor: help;
        margin: var(--spacing-xs);
    }

    @@media (max-width: 768px) {
        .dialog-demo__buttons {
            flex-direction: column;
        }

        .dialog-demo__btn {
            width: 100%;
        }

        .dialog-demo__grid {
            grid-template-columns: 1fr;
        }
    }
</style>

<div class="dialog-demo">
    <div class="container">
        <div class="dialog-demo__header">
            <h1 class="dialog-demo__title">
                <i class="fa fa-window-restore"></i>
                Dialog 测试演示
            </h1>
            <p class="dialog-demo__desc">
                测试和展示 dialog.js 提供的各种对话框、通知和提示功能
            </p>
        </div>

        <!-- 模态对话框 -->
        <section class="dialog-demo__section">
            <h2 class="dialog-demo__title">
                <i class="fa fa-square"></i>
                模态对话框
            </h2>
            <p class="dialog-demo__desc">
                阻塞式对话框,用户必须响应后才能继续操作
            </p>
            <div class="dialog-demo__buttons">
                <button class="dialog-demo__btn" onclick="testAlert()">
                    <i class="fa fa-info-circle"></i> Alert 提示框
                </button>
                <button class="dialog-demo__btn" onclick="testConfirm()">
                    <i class="fa fa-question-circle"></i> Confirm 确认框
                </button>
                <button class="dialog-demo__btn" onclick="testPrompt()">
                    <i class="fa fa-edit"></i> Prompt 输入框
                </button>
            </div>
        </section>

        <!-- Toast 消息 -->
        <section class="dialog-demo__section">
            <h2 class="dialog-demo__title">
                <i class="fa fa-comment"></i>
                Toast 消息
            </h2>
            <p class="dialog-demo__desc">
                轻量级非阻塞式消息提示,自动消失
            </p>

            <h3 class="dialog-demo__subtitle">消息类型</h3>
            <div class="dialog-demo__buttons">
                <button class="dialog-demo__btn" onclick="testToast('info')">
                    <i class="fa fa-info-circle"></i> Info
                </button>
                <button class="dialog-demo__btn dialog-demo__btn--success" onclick="testToast('success')">
                    <i class="fa fa-check-circle"></i> Success
                </button>
                <button class="dialog-demo__btn dialog-demo__btn--warning" onclick="testToast('warning')">
                    <i class="fa fa-exclamation-triangle"></i> Warning
                </button>
                <button class="dialog-demo__btn dialog-demo__btn--error" onclick="testToast('error')">
                    <i class="fa fa-times-circle"></i> Error
                </button>
            </div>

            <h3 class="dialog-demo__subtitle">显示位置</h3>
            <div class="dialog-demo__grid">
                <button class="dialog-demo__btn" onclick="testToastPosition('top-left')">
                    <i class="fa fa-arrow-up"></i> 左上
                </button>
                <button class="dialog-demo__btn" onclick="testToastPosition('top-center')">
                    <i class="fa fa-arrow-up"></i> 正上
                </button>
                <button class="dialog-demo__btn" onclick="testToastPosition('top-right')">
                    <i class="fa fa-arrow-up"></i> 右上
                </button>
                <button class="dialog-demo__btn" onclick="testToastPosition('bottom-left')">
                    <i class="fa fa-arrow-down"></i> 左下
                </button>
                <button class="dialog-demo__btn" onclick="testToastPosition('bottom-center')">
                    <i class="fa fa-arrow-down"></i> 正下
                </button>
                <button class="dialog-demo__btn" onclick="testToastPosition('bottom-right')">
                    <i class="fa fa-arrow-down"></i> 右下
                </button>
            </div>
        </section>

        <!-- 工具提示 -->
        <section class="dialog-demo__section">
            <h2 class="dialog-demo__title">
                <i class="fa fa-question-circle"></i>
                工具提示 Tooltip
            </h2>
            <p class="dialog-demo__desc">
                悬停显示的提示信息(已自动应用到所有带 title 属性的元素)
            </p>
            <div>
                <span class="dialog-demo__tooltip-demo" title="这是一个工具提示">
                    悬停在我上面
                </span>
                <span class="dialog-demo__tooltip-demo" title="支持换行显示
这是第二行内容
这是第三行内容">
                    多行提示(换行)
                </span>
                <span class="dialog-demo__tooltip-demo" title="Tooltip 会自动根据位置调整显示方向,并且可以显示很长的文本内容">
                    长文本提示
                </span>
            </div>
        </section>

        <!-- 通知框 -->
        <section class="dialog-demo__section">
            <h2 class="dialog-demo__title">
                <i class="fa fa-bell"></i>
                通知框 Notification
            </h2>
            <p class="dialog-demo__desc">
                右上角通知框,支持进度条和自动关闭
            </p>

            <h3 class="dialog-demo__subtitle">基础通知</h3>
            <div class="dialog-demo__buttons">
                <button class="dialog-demo__btn" onclick="testNotification('info')">
                    <i class="fa fa-info-circle"></i> Info 通知
                </button>
                <button class="dialog-demo__btn dialog-demo__btn--success" onclick="testNotification('success')">
                    <i class="fa fa-check-circle"></i> Success 通知
                </button>
                <button class="dialog-demo__btn dialog-demo__btn--warning" onclick="testNotification('warning')">
                    <i class="fa fa-exclamation-triangle"></i> Warning 通知
                </button>
                <button class="dialog-demo__btn dialog-demo__btn--error" onclick="testNotification('error')">
                    <i class="fa fa-times-circle"></i> Error 通知
                </button>
            </div>

            <h3 class="dialog-demo__subtitle">进度条通知</h3>
            <div class="dialog-demo__buttons">
                <button class="dialog-demo__btn dialog-demo__btn--primary" onclick="testProgressNotification()">
                    <i class="fa fa-tasks"></i> 单进度条
                </button>
                <button class="dialog-demo__btn dialog-demo__btn--primary" onclick="testMultiProgressNotification()">
                    <i class="fa fa-list"></i> 多进度条
                </button>
                <button class="dialog-demo__btn dialog-demo__btn--error" onclick="closeAllNotifications()">
                    <i class="fa fa-times"></i> 关闭所有通知
                </button>
            </div>
        </section>

        <!-- 综合测试 -->
        <section class="dialog-demo__section">
            <h2 class="dialog-demo__title">
                <i class="fa fa-flask"></i>
                综合测试
            </h2>
            <p class="dialog-demo__desc">
                同时测试多种对话框效果
            </p>
            <div class="dialog-demo__buttons">
                <button class="dialog-demo__btn dialog-demo__btn--primary" onclick="testAll()">
                    <i class="fa fa-play"></i> 运行综合测试
                </button>
            </div>
        </section>
    </div>
</div>

评论加载中...