You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
3.1 KiB

  1. <script lang="ts">
  2. interface EntryCommon {
  3. active: boolean
  4. statusTag?: string
  5. }
  6. export let selected = false;
  7. export let entry: EntryCommon;
  8. export let affects: "project" | "task" = "project";
  9. let completed: boolean;
  10. let failed: boolean;
  11. let onhold: boolean;
  12. let todo: boolean;
  13. let wontdo: boolean;
  14. let project: boolean;
  15. let task: boolean;
  16. $: completed = !entry.active && entry.statusTag === "completed";
  17. $: failed = !entry.active && entry.statusTag === "failed";
  18. $: onhold = !entry.active && entry.statusTag === "on hold";
  19. $: todo = !entry.active && entry.statusTag === "to do";
  20. $: wontdo = !entry.active && entry.statusTag === "declined";
  21. $: task = affects === "task";
  22. $: project = affects === "project";
  23. </script>
  24. <div class="status-color-context" class:project class:task class:selected class:completed class:failed class:onhold class:todo class:wontdo>
  25. <slot></slot>
  26. </div>
  27. <style>
  28. .status-color-context.project :global(.sccfg) { color: #444 !important; }
  29. .status-color-context.project.selected :global(.sccfg) { color: #666 !important; }
  30. .status-color-context.project :global(.sccpb) { background-color: #78ff78 !important; }
  31. .status-color-context.project.completed :global(.sccfg) { color: #484 !important; }
  32. .status-color-context.project.completed.selected :global(.sccfg) { color: #78ff78 !important; }
  33. .status-color-context.project.completed :global(.sccpb) { background-color: #78ff78 !important; }
  34. .status-color-context.project.failed :global(.sccfg) { color: #852a24 !important; }
  35. .status-color-context.project.failed.selected :global(.sccfg) { color: #ff4545 !important; }
  36. .status-color-context.project.failed :global(.sccpb) { background-color: #ff4545 !important; }
  37. .status-color-context.project.onhold :global(.sccfg) { color: #446d88 !important; }
  38. .status-color-context.project.onhold.selected :global(.sccfg) { color: #78c9ff !important; }
  39. .status-color-context.project.onhold :global(.sccpb) { background-color: #78c9ff !important; }
  40. .status-color-context.project.todo :global(.sccfg) { color: #7a7429 !important; }
  41. .status-color-context.project.todo.selected :global(.sccfg) { color: #e7e55e !important; }
  42. .status-color-context.project.todo :global(.sccpb) { background-color: #e7e55e !important; }
  43. .status-color-context.project.wontdo :global(.sccfg) { color: #7a2973 !important; }
  44. .status-color-context.project.wontdo.selected :global(.sccfg) { color: #e75ed0 !important; }
  45. .status-color-context.project.wontdo :global(.sccpb) { background-color: #e75ed0 !important; }
  46. .status-color-context.task.completed :global(.sccsi) { background-color: #484 !important; color: #78ff78 !important; }
  47. .status-color-context.task.failed :global(.sccsi) { background-color: #85242c !important; color: #ff4545 !important; }
  48. .status-color-context.task.onhold :global(.sccsi) { background-color: #447288 !important; color: #78c9ff !important; }
  49. .status-color-context.task.todo :global(.sccsi) { background-color: #7a7429 !important; color: #e7e55e !important; }
  50. .status-color-context.task.wontdo :global(.sccsi) { background-color: #7a2973 !important; color: #e75ed0 !important; }
  51. </style>