Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Playlist editor page and lots more #304

Merged
merged 46 commits into from
Nov 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
70a066a
user->username
brollin Oct 30, 2024
e17fa3d
implement new experience route
brollin Oct 31, 2024
6827565
better open experience modal
brollin Oct 31, 2024
d6a5dd1
improve open experience styling
brollin Oct 31, 2024
a7b0bdd
add deploying section to read me
brollin Nov 1, 2024
2e6c9c4
default context->experienceEditor context
brollin Nov 1, 2024
5a45398
add react-resizable-panels
brollin Nov 1, 2024
cc64783
it was that easy all along smh
brollin Nov 1, 2024
97586ea
organize components into folders
brollin Nov 1, 2024
8355f92
playlist editor work in progress
brollin Nov 2, 2024
7eb1b91
playlist ui
brollin Nov 2, 2024
c7d4908
simplify song and experience models
brollin Nov 2, 2024
4866aad
implement view menu
brollin Nov 2, 2024
b3f996c
load first playlist experience
brollin Nov 2, 2024
bacbc19
playlist table touch up
brollin Nov 2, 2024
6e47534
remove edit controls when not logged in
brollin Nov 2, 2024
6d8b5f6
implement role and role selector
brollin Nov 2, 2024
0c95e9e
small touchups
brollin Nov 2, 2024
33f97ea
first crack at playlist schema
brollin Nov 2, 2024
0f9d586
fixes to playlist experience table approach
brollin Nov 3, 2024
4bfa5eb
new approach: orderedExperienceIds column
brollin Nov 3, 2024
d169dc8
first pass at playlist backend
brollin Nov 3, 2024
e9a8bd3
playlist editor work in progress
brollin Nov 3, 2024
98b2281
playlist reordering works
brollin Nov 3, 2024
139ff36
playlist experience removing works
brollin Nov 3, 2024
2508e34
remove some unused code
brollin Nov 3, 2024
87c7c5b
adding single experience to playlist works
brollin Nov 3, 2024
99b75a6
playlist table fixup
brollin Nov 3, 2024
d6f63a8
select first playlist on load
brollin Nov 4, 2024
1455c40
load first experience from playlist
brollin Nov 4, 2024
61f9026
cache entire playlist in playlist store
brollin Nov 4, 2024
2117b56
implement playlist looping
brollin Nov 4, 2024
dccaccd
lots of bug fixes
brollin Nov 4, 2024
0a82401
smart playlist
brollin Nov 4, 2024
6812a96
include author column and playlist view
brollin Nov 4, 2024
d915683
fix mobx bug
brollin Nov 4, 2024
886e7cb
touchups
brollin Nov 4, 2024
3703f34
scroll playlist container
brollin Nov 4, 2024
35788e0
small ux improvements
brollin Nov 4, 2024
c59c018
more ux improvements
brollin Nov 5, 2024
faa87e6
implement canTimelineZoom
brollin Nov 5, 2024
364cd6f
remove audio regions and audio looping
brollin Nov 5, 2024
0219b90
fix embedded test page
brollin Nov 5, 2024
29048ce
fix label intervals
brollin Nov 5, 2024
8e1d605
upgrade typescript
brollin Nov 5, 2024
0387a39
fix build errors
brollin Nov 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,24 @@ This is a big React app, hastily designed, that's doing a lot of expensive CPU/G
- Careful with setTimeout chains/setInterval. Make sure there is a way to clean them up on hot reloads. useEffect is a good way to do this.
- If the app slows down a bunch, use the browser profiler to identify where it's spending time. If it's spending time in the garbage collector/cycle collector, it's likely a memory leak issue. At the time of writing, running locally with devtools open the app should use about 1GB of memory.

### Deploying

We host Conjurer on Vercel. Vercel does not allow you to deploy an organization repo like `sotsf/conjurer` on their free hobby tier. So instead, we deploy `brollin/conjurer`. It is an exact copy of the `sotsf/conjurer` repo,

To deploy, all you have to do is to push a new commit to the `main` branch of the `brollin/conjurer` repo. First you will need to be a collaborator on the `brollin/conjurer` repo, so just ask Ben for that.

For ease, you can clone `sotsf/conjurer`. Then you can set up a new remote called `prod` to point at `brollin/conjurer`:

```
git remote add prod ssh://git@github.com/brollin/conjurer.git
```

And then to deploy would just look like:

```
git remote add prod ssh://git@github.com/brollin/conjurer.git
```

## Todos

To dos are captured as issues. Feel free to poke around the open issues, ask questions, and open a PR if you feel so inclined.
Expand Down
22 changes: 22 additions & 0 deletions migrations/0001_purple_captain_midlands.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
CREATE TABLE `playlist_experiences` (
`id` integer PRIMARY KEY NOT NULL,
`playlist_id` integer NOT NULL,
`experience_id` integer NOT NULL,
`created_at` text DEFAULT (CURRENT_TIMESTAMP) NOT NULL,
`updated_at` text DEFAULT (CURRENT_TIMESTAMP) NOT NULL,
FOREIGN KEY (`playlist_id`) REFERENCES `playlists`(`id`) ON UPDATE no action ON DELETE cascade,
FOREIGN KEY (`experience_id`) REFERENCES `experiences`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE UNIQUE INDEX `playlist_experience_index` ON `playlist_experiences` (`playlist_id`,`experience_id`);--> statement-breakpoint
CREATE TABLE `playlists` (
`id` integer PRIMARY KEY NOT NULL,
`name` text NOT NULL,
`user_id` integer NOT NULL,
`is_locked` integer DEFAULT false NOT NULL,
`created_at` text DEFAULT (CURRENT_TIMESTAMP) NOT NULL,
`updated_at` text DEFAULT (CURRENT_TIMESTAMP) NOT NULL,
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE no action
);
--> statement-breakpoint
CREATE INDEX `playlist_user_index` ON `playlists` (`user_id`);
5 changes: 5 additions & 0 deletions migrations/0002_sweet_maria_hill.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DROP TABLE `playlist_experiences`;--> statement-breakpoint
DROP INDEX IF EXISTS `playlist_user_index`;--> statement-breakpoint
ALTER TABLE `playlists` ADD `description` text DEFAULT '' NOT NULL;--> statement-breakpoint
ALTER TABLE `playlists` ADD `orderedExperienceIds` text DEFAULT '[]' NOT NULL;--> statement-breakpoint
CREATE INDEX `user_id_index` ON `playlists` (`user_id`);
Loading
Loading