morille 0.1.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +15 -3
  2. package/dist/app.d.ts.map +1 -0
  3. package/dist/app.js +2 -0
  4. package/dist/app.js.map +1 -0
  5. package/dist/components/animated-subtitle.d.ts +19 -0
  6. package/dist/components/animated-subtitle.d.ts.map +1 -0
  7. package/dist/components/animated-subtitle.js +109 -0
  8. package/dist/components/animated-subtitle.js.map +1 -0
  9. package/dist/components/animated-title.d.ts +16 -0
  10. package/dist/components/animated-title.d.ts.map +1 -0
  11. package/dist/components/animated-title.js +47 -0
  12. package/dist/components/animated-title.js.map +1 -0
  13. package/dist/components/browse-detail-view.d.ts.map +1 -0
  14. package/dist/components/browse-detail-view.js +2 -1
  15. package/dist/components/browse-detail-view.js.map +1 -0
  16. package/dist/components/device-indicator.d.ts +18 -0
  17. package/dist/components/device-indicator.d.ts.map +1 -0
  18. package/dist/components/device-indicator.js +53 -0
  19. package/dist/components/device-indicator.js.map +1 -0
  20. package/dist/components/device-picker-view.d.ts +10 -0
  21. package/dist/components/device-picker-view.d.ts.map +1 -0
  22. package/dist/components/device-picker-view.js +65 -0
  23. package/dist/components/device-picker-view.js.map +1 -0
  24. package/dist/components/lyrics-panel.d.ts.map +1 -0
  25. package/dist/components/lyrics-view.d.ts.map +1 -0
  26. package/dist/components/lyrics-view.js +2 -1
  27. package/dist/components/lyrics-view.js.map +1 -0
  28. package/dist/components/panel-content.d.ts.map +1 -0
  29. package/dist/components/panel-content.js +4 -0
  30. package/dist/components/panel-content.js.map +1 -0
  31. package/dist/components/playback-status.d.ts.map +1 -0
  32. package/dist/components/player.d.ts.map +1 -1
  33. package/dist/components/player.js +46 -10
  34. package/dist/components/player.js.map +1 -1
  35. package/dist/components/progress-bar.d.ts.map +1 -0
  36. package/dist/components/progress-bar.js +2 -1
  37. package/dist/components/progress-bar.js.map +1 -0
  38. package/dist/components/queue-view.d.ts.map +1 -0
  39. package/dist/components/queue-view.js +2 -1
  40. package/dist/components/queue-view.js.map +1 -0
  41. package/dist/components/search-panel.d.ts.map +1 -0
  42. package/dist/components/search-panel.js +3 -2
  43. package/dist/components/search-panel.js.map +1 -0
  44. package/dist/components/shimmer.d.ts.map +1 -0
  45. package/dist/components/shimmer.js +2 -2
  46. package/dist/components/shimmer.js.map +1 -0
  47. package/dist/components/track-facts.d.ts +13 -0
  48. package/dist/components/track-facts.d.ts.map +1 -0
  49. package/dist/components/track-facts.js +52 -0
  50. package/dist/components/track-facts.js.map +1 -0
  51. package/dist/components/track-info-skeleton.d.ts.map +1 -0
  52. package/dist/components/track-info.d.ts.map +1 -0
  53. package/dist/components/track-info.js +2 -1
  54. package/dist/components/track-info.js.map +1 -0
  55. package/dist/config.d.ts +3 -4
  56. package/dist/config.d.ts.map +1 -1
  57. package/dist/config.js +3 -4
  58. package/dist/config.js.map +1 -1
  59. package/dist/contexts/devices-context.d.ts +28 -0
  60. package/dist/contexts/devices-context.d.ts.map +1 -0
  61. package/dist/contexts/devices-context.js +33 -0
  62. package/dist/contexts/devices-context.js.map +1 -0
  63. package/dist/contexts/lyrics-context.d.ts.map +1 -0
  64. package/dist/contexts/panel-mode-context.d.ts +2 -1
  65. package/dist/contexts/panel-mode-context.d.ts.map +1 -0
  66. package/dist/contexts/panel-mode-context.js +3 -0
  67. package/dist/contexts/panel-mode-context.js.map +1 -0
  68. package/dist/contexts/queue-context.d.ts.map +1 -0
  69. package/dist/contexts/search-context.d.ts.map +1 -0
  70. package/dist/hooks/use-album-art.d.ts.map +1 -0
  71. package/dist/hooks/use-album-art.js +3 -1
  72. package/dist/hooks/use-album-art.js.map +1 -0
  73. package/dist/hooks/use-browse.d.ts.map +1 -0
  74. package/dist/hooks/use-browse.js +7 -3
  75. package/dist/hooks/use-browse.js.map +1 -0
  76. package/dist/hooks/use-devices.d.ts +24 -0
  77. package/dist/hooks/use-devices.d.ts.map +1 -0
  78. package/dist/hooks/use-devices.js +106 -0
  79. package/dist/hooks/use-devices.js.map +1 -0
  80. package/dist/hooks/use-lyrics.d.ts.map +1 -0
  81. package/dist/hooks/use-playback.d.ts +7 -0
  82. package/dist/hooks/use-playback.d.ts.map +1 -0
  83. package/dist/hooks/use-playback.js +59 -18
  84. package/dist/hooks/use-playback.js.map +1 -0
  85. package/dist/hooks/use-player-input.d.ts.map +1 -0
  86. package/dist/hooks/use-player-input.js +31 -2
  87. package/dist/hooks/use-player-input.js.map +1 -0
  88. package/dist/hooks/use-queue.d.ts.map +1 -0
  89. package/dist/hooks/use-queue.js +8 -3
  90. package/dist/hooks/use-queue.js.map +1 -0
  91. package/dist/hooks/use-search.d.ts.map +1 -0
  92. package/dist/hooks/use-search.js +2 -1
  93. package/dist/hooks/use-search.js.map +1 -0
  94. package/dist/icons.d.ts +29 -0
  95. package/dist/icons.d.ts.map +1 -0
  96. package/dist/icons.js +43 -0
  97. package/dist/icons.js.map +1 -0
  98. package/dist/index.d.ts +1 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +4 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/logger.d.ts +9 -0
  103. package/dist/logger.d.ts.map +1 -0
  104. package/dist/logger.js +15 -0
  105. package/dist/logger.js.map +1 -0
  106. package/dist/main.d.ts.map +1 -0
  107. package/dist/spotify/auth.d.ts.map +1 -0
  108. package/dist/spotify/auth.js +3 -1
  109. package/dist/spotify/auth.js.map +1 -0
  110. package/dist/spotify/client.d.ts.map +1 -0
  111. package/dist/spotify/client.js +3 -1
  112. package/dist/spotify/client.js.map +1 -0
  113. package/dist/spotify/devices.d.ts +36 -0
  114. package/dist/spotify/devices.d.ts.map +1 -0
  115. package/dist/spotify/devices.js +72 -0
  116. package/dist/spotify/devices.js.map +1 -0
  117. package/dist/spotify/fetch-with-retry.d.ts.map +1 -0
  118. package/dist/spotify/fetch-with-retry.js +5 -4
  119. package/dist/spotify/fetch-with-retry.js.map +1 -0
  120. package/dist/spotify/lyrics.d.ts.map +1 -0
  121. package/dist/spotify/lyrics.js +5 -2
  122. package/dist/spotify/lyrics.js.map +1 -0
  123. package/dist/spotify/playback.d.ts +9 -0
  124. package/dist/spotify/playback.d.ts.map +1 -0
  125. package/dist/spotify/playback.js +40 -8
  126. package/dist/spotify/playback.js.map +1 -0
  127. package/dist/spotify/search.d.ts.map +1 -0
  128. package/dist/spotify/search.js +4 -4
  129. package/dist/spotify/search.js.map +1 -0
  130. package/dist/spotify/track-facts.d.ts +9 -0
  131. package/dist/spotify/track-facts.d.ts.map +1 -0
  132. package/dist/spotify/track-facts.js +95 -0
  133. package/dist/spotify/track-facts.js.map +1 -0
  134. package/package.json +21 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/spotify/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { TrackInfo } from './playback.js';
2
+ /**
3
+ * Builds a pool of one-line trivia snippets derived purely from the track
4
+ * metadata already returned by Spotify's playback state. No extra API calls.
5
+ * The component consuming this pool rotates through it on a slow cadence.
6
+ * @param track - The currently playing track, or `null` if no track is active
7
+ * @returns An array of funny trivia strings; empty array when `track` is null
8
+ */
9
+ export declare function buildTrackFacts(track: TrackInfo | null): string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-facts.d.ts","sourceRoot":"","sources":["../../src/spotify/track-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAqD/C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,EAAE,CAqBjE"}
@@ -0,0 +1,95 @@
1
+ const FALLBACK_FACTS = [
2
+ 'vibes have no metadata.',
3
+ 'sometimes a song is just a song.',
4
+ 'trivia department is on a smoke break.',
5
+ ];
6
+ function yearFact(releaseYear) {
7
+ const age = new Date().getFullYear() - releaseYear;
8
+ if (age <= 0)
9
+ return `fresh out of ${releaseYear}. still warm.`;
10
+ if (age <= 2)
11
+ return `dropped in ${releaseYear}. practically brand new.`;
12
+ if (age < 10)
13
+ return `${age} years old and aging like fine wine.`;
14
+ if (age < 25)
15
+ return `this banger is ${age} years old. still slaps.`;
16
+ if (age < 50)
17
+ return `straight out of ${releaseYear}. respect your elders.`;
18
+ return `${releaseYear}. prehistoric vibes. dinosaurs approved.`;
19
+ }
20
+ function popularityFact(popularity) {
21
+ if (popularity >= 85)
22
+ return "spotify's algorithm is obsessed with this one.";
23
+ if (popularity >= 65)
24
+ return 'certified crowd-pleaser. the masses have spoken.';
25
+ if (popularity >= 35)
26
+ return 'moderately famous. the sweet spot of taste.';
27
+ if (popularity >= 10)
28
+ return 'underground energy. you found it first. probably.';
29
+ return 'you are one of roughly seven listeners. congrats.';
30
+ }
31
+ function artistCountFact(count) {
32
+ if (count >= 4)
33
+ return `${count} artists on one song. group project energy.`;
34
+ if (count === 3)
35
+ return 'a trio. like musketeers, but louder.';
36
+ if (count === 2)
37
+ return 'a duet. two voices, zero arguments. allegedly.';
38
+ return null;
39
+ }
40
+ function albumSizeFact(total) {
41
+ if (total === 1)
42
+ return 'a standalone single. no filler. pure commitment.';
43
+ if (total >= 25)
44
+ return `part of a ${total}-track album. pack a lunch.`;
45
+ if (total >= 15)
46
+ return `track on a chunky ${total}-song album.`;
47
+ return null;
48
+ }
49
+ function durationFact(durationMs) {
50
+ const minutes = Math.floor(durationMs / 60_000);
51
+ if (durationMs >= 8 * 60_000)
52
+ return `${minutes}-minute epic. pack a snack.`;
53
+ if (durationMs >= 6 * 60_000)
54
+ return `${minutes}-minute journey. buckle up.`;
55
+ if (durationMs > 0 && durationMs < 90_000)
56
+ return 'under 90 seconds. blink and it is gone.';
57
+ if (durationMs < 120_000)
58
+ return 'short and sweet. like an espresso.';
59
+ return null;
60
+ }
61
+ function pushIfTruthy(target, value) {
62
+ if (value !== null)
63
+ target.push(value);
64
+ }
65
+ /**
66
+ * Builds a pool of one-line trivia snippets derived purely from the track
67
+ * metadata already returned by Spotify's playback state. No extra API calls.
68
+ * The component consuming this pool rotates through it on a slow cadence.
69
+ * @param track - The currently playing track, or `null` if no track is active
70
+ * @returns An array of funny trivia strings; empty array when `track` is null
71
+ */
72
+ export function buildTrackFacts(track) {
73
+ if (!track)
74
+ return [];
75
+ const facts = [];
76
+ if (track.releaseYear !== null)
77
+ facts.push(yearFact(track.releaseYear));
78
+ if (track.popularity !== null)
79
+ facts.push(popularityFact(track.popularity));
80
+ if (track.explicit)
81
+ facts.push('rated E for extremely honest.');
82
+ pushIfTruthy(facts, artistCountFact(track.artistCount));
83
+ if (track.albumTotalTracks !== null)
84
+ pushIfTruthy(facts, albumSizeFact(track.albumTotalTracks));
85
+ if (track.isrcCountry)
86
+ facts.push(`registered out of ${track.isrcCountry}. geography fact of the day.`);
87
+ pushIfTruthy(facts, durationFact(track.durationMs));
88
+ if (facts.length === 0) {
89
+ return FALLBACK_FACTS;
90
+ }
91
+ return [
92
+ ...facts,
93
+ ...FALLBACK_FACTS.slice(0, 1),
94
+ ];
95
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-facts.js","sourceRoot":"","sources":["../../src/spotify/track-facts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,28 @@
1
1
  {
2
2
  "name": "morille",
3
- "version": "0.1.0",
3
+ "version": "0.4.0",
4
4
  "description": "A terminal-based Spotify player built with TypeScript, ink, and the Spotify Web API.",
5
5
  "homepage": "https://github.com/stafyniaksacha/morille",
6
+ "keywords": [
7
+ "spotify",
8
+ "spotify-cli",
9
+ "spotify-player",
10
+ "cli",
11
+ "terminal",
12
+ "tui",
13
+ "music",
14
+ "music-player",
15
+ "player",
16
+ "playback",
17
+ "lyrics",
18
+ "synced-lyrics",
19
+ "karaoke",
20
+ "queue",
21
+ "ink",
22
+ "react",
23
+ "typescript",
24
+ "media"
25
+ ],
6
26
  "type": "module",
7
27
  "bin": {
8
28
  "morille": "dist/index.js"