import { IPublicTypeSnippet } from '@alilc/lowcode-types';

const snippets: IPublicTypeSnippet[] = [
  {
    title: '注册 2.0',
    screenshot: '',
    schema: {
      componentName: 'Register2',
      props: {
        config: {
          registrationMethods: [
            {
              type: 'email',
              verificationMethod: 'verification_code',
            },
            {
              type: 'phone',
              verificationMethod: 'verification_code',
            },
            {
              type: 'google',
              clientId: 'your-google-client-id',
            },
            {
              type: 'facebook',
              appId: 'your-facebook-app-id',
            },
            {
              type: 'apple',
              clientId: 'your-apple-client-id',
            },
          ],
          ui: {
            title: {
              show: true,
              text: 'Create an account',
              align: 'center',
            },
            subtitle: {
              show: true,
              text: 'Sign up to get started',
              align: 'center',
            },
            desc: {
              show: true,
              text: 'Welcome! Please enter your details.',
              align: 'center',
            },
            themeColor: '#7F56D9',
          },
          legalTerms: {
            enabled: true,
            terms: [
              {
                name: '服务条款',
                url: 'https://example.com/terms',
              },
              {
                name: '隐私协议',
                url: 'https://example.com/privacy',
              },
            ],
            textTemplate: '注册即代表同意 {terms}',
          },
        },
        visible: true,
      },
    },
  },
  {
    title: '注册 2.0（仅邮箱）',
    screenshot: '',
    schema: {
      componentName: 'Register2',
      props: {
        config: {
          registrationMethods: [
            {
              type: 'email',
              verificationMethod: 'verification_code',
            },
          ],
          ui: {
            title: {
              show: true,
              text: 'Create an account',
              align: 'center',
            },
            subtitle: {
              show: true,
              text: 'Sign up with your email',
              align: 'center',
            },
            themeColor: '#7F56D9',
          },
          legalTerms: {
            enabled: true,
            terms: [
              {
                name: '服务条款',
                url: 'https://example.com/terms',
              },
              {
                name: '隐私协议',
                url: 'https://example.com/privacy',
              },
            ],
            textTemplate: '注册即代表同意 {terms}',
          },
        },
        visible: true,
      },
    },
  },
  {
    title: '注册 2.0（仅手机）',
    screenshot: '',
    schema: {
      componentName: 'Register2',
      props: {
        config: {
          registrationMethods: [
            {
              type: 'phone',
              verificationMethod: 'verification_code',
            },
          ],
          ui: {
            title: {
              show: true,
              text: 'Create an account',
              align: 'center',
            },
            subtitle: {
              show: true,
              text: 'Sign up with your phone',
              align: 'center',
            },
            themeColor: '#7F56D9',
          },
          legalTerms: {
            enabled: true,
            terms: [
              {
                name: '服务条款',
                url: 'https://example.com/terms',
              },
              {
                name: '隐私协议',
                url: 'https://example.com/privacy',
              },
            ],
            textTemplate: '注册即代表同意 {terms}',
          },
        },
        visible: true,
      },
    },
  },
  {
    title: '注册 2.0（邮箱链接验证）',
    screenshot: '',
    schema: {
      componentName: 'Register2',
      props: {
        config: {
          registrationMethods: [
            {
              type: 'email',
              verificationMethod: 'verification_link',
            },
          ],
          ui: {
            title: {
              show: true,
              text: 'Create an account',
              align: 'center',
            },
            subtitle: {
              show: true,
              text: 'Sign up with email link verification',
              align: 'center',
            },
            themeColor: '#7F56D9',
          },
          legalTerms: {
            enabled: true,
            terms: [
              {
                name: '服务条款',
                url: 'https://example.com/terms',
              },
              {
                name: '隐私协议',
                url: 'https://example.com/privacy',
              },
            ],
            textTemplate: '注册即代表同意 {terms}',
          },
        },
        visible: true,
      },
    },
  },
  {
    title: '注册 2.0（无需验证）',
    screenshot: '',
    schema: {
      componentName: 'Register2',
      props: {
        config: {
          registrationMethods: [
            {
              type: 'email',
              verificationMethod: 'none',
            },
            {
              type: 'phone',
              verificationMethod: 'verification_code',
            },
          ],
          ui: {
            title: {
              show: true,
              text: 'Create an account',
              align: 'center',
            },
            subtitle: {
              show: true,
              text: 'Quick sign up',
              align: 'center',
            },
            themeColor: '#7F56D9',
          },
          legalTerms: {
            enabled: true,
            terms: [
              {
                name: '服务条款',
                url: 'https://example.com/terms',
              },
              {
                name: '隐私协议',
                url: 'https://example.com/privacy',
              },
            ],
            textTemplate: '注册即代表同意 {terms}',
          },
        },
        visible: true,
      },
    },
  },
];

export default snippets;

