buildShellMoons function

List<NeoMoonSpec> buildShellMoons(
  1. NeoShellBackgroundVariant variant,
  2. NeoPalette palette
)

Implementation

List<NeoMoonSpec> buildShellMoons(
  NeoShellBackgroundVariant variant,
  NeoPalette palette,
) {
  switch (variant) {
    case NeoShellBackgroundVariant.home:
      return [
        NeoMoonSpec(
          leftFactor: -0.05,
          topFactor: 0.08,
          size: 136,
          color: NeoColors.moon,
          shadowColor: palette.shadowSoft,
          pageColor: palette.page,
          borderColor: palette.outline,
          xTravel: 12,
          yTravel: 18,
        ),
        NeoMoonSpec(
          leftFactor: 0.76,
          topFactor: 0.12,
          size: 110,
          color: NeoColors.moon,
          shadowColor: palette.shadowStrong,
          pageColor: palette.page,
          borderColor: palette.outline,
          xTravel: 12,
          yTravel: 14,
          phase: 1.8,
        ),
        NeoMoonSpec(
          leftFactor: 0.86,
          topFactor: 0.74,
          size: 170,
          color: NeoColors.moon,
          shadowColor: palette.shadowSoft,
          pageColor: palette.page,
          borderColor: palette.outline,
          xTravel: 12,
          yTravel: 20,
          phase: 2.8,
        ),
      ];
    case NeoShellBackgroundVariant.profile:
      return [
        NeoMoonSpec(
          leftFactor: -0.03,
          topFactor: 0.12,
          size: 96,
          color: NeoColors.moon,
          shadowColor: palette.shadowSoft,
          pageColor: palette.page,
          borderColor: palette.outline,
          xTravel: 8,
          yTravel: 10,
        ),
        NeoMoonSpec(
          leftFactor: 0.86,
          topFactor: 0.14,
          size: 82,
          color: NeoColors.moon,
          shadowColor: palette.shadowStrong,
          pageColor: palette.page,
          borderColor: palette.outline,
          xTravel: 8,
          yTravel: 9,
          phase: 1.6,
        ),
        NeoMoonSpec(
          leftFactor: 0.92,
          topFactor: 0.82,
          size: 102,
          color: NeoColors.moon,
          shadowColor: palette.shadowSoft,
          pageColor: palette.page,
          borderColor: palette.outline,
          xTravel: 10,
          yTravel: 14,
          phase: 2.6,
        ),
      ];
  }
}