diff --git a/.dockerignore b/.dockerignore
index 015453b..3a68d3b 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -4,4 +4,6 @@ db/*.sqlite*
tmp/*.*
public/assets
public/packs
-node_modules/
\ No newline at end of file
+node_modules/
+.yarn
+.pnp.*
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index f75ece2..baafb3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,5 @@ yarn-debug.log*
/yarn-error.log
yarn-debug.log*
.yarn-integrity
+.yarn
+.pnp.*
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index 6407753..41b3f94 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -31,7 +31,7 @@ WORKDIR /parsley
COPY Gemfile* ./
RUN bundle install
-COPY package.json yarn.lock ./
+COPY package.json.org yarn.lock ./
RUN yarn install --production=true --frozen-lockfile
COPY . .
diff --git a/Gemfile b/Gemfile
index bccacfb..3599894 100644
--- a/Gemfile
+++ b/Gemfile
@@ -3,10 +3,11 @@ source 'https://rubygems.org'
gem 'rails', '7.2.1'
gem 'pg', '~> 1.5.8'
-gem 'shakapacker', '6.5.4'
+gem 'shakapacker', '8.0.2'
gem 'bootsnap', '>= 1.1.0', require: false
gem 'oj', '~> 3.16.6'
+gem 'csv', '~> 3.3'
gem 'kaminari', '~> 1.2.2'
gem 'unitwise', '~> 2.3.0'
diff --git a/Gemfile.lock b/Gemfile.lock
index 23c3ab2..8a61274 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -81,6 +81,7 @@ GEM
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
crass (1.0.6)
+ csv (3.3.0)
dalli (3.2.8)
database_cleaner (2.0.2)
database_cleaner-active_record (>= 2, < 3)
@@ -176,6 +177,7 @@ GEM
bigdecimal (>= 3.0)
ostruct (>= 0.2)
ostruct (0.6.0)
+ package_json (0.1.0)
parslet (2.0.0)
pg (1.5.8)
pry (0.14.2)
@@ -261,8 +263,9 @@ GEM
rspec-support (3.13.1)
securerandom (0.3.1)
semantic_range (3.0.0)
- shakapacker (6.5.4)
+ shakapacker (8.0.2)
activesupport (>= 5.2)
+ package_json
rack-proxy (>= 0.6.1)
railties (>= 5.2)
semantic_range (>= 2.3.0)
@@ -296,6 +299,7 @@ PLATFORMS
DEPENDENCIES
bcrypt (~> 3.1.18)
bootsnap (>= 1.1.0)
+ csv (~> 3.3)
dalli (~> 3.2.8)
database_cleaner (~> 2.0.2)
factory_bot_rails (~> 6.4.3)
@@ -309,7 +313,7 @@ DEPENDENCIES
rails-controller-testing
redcarpet (~> 3.6.0)
rspec-rails (~> 7.0.1)
- shakapacker (= 6.5.4)
+ shakapacker (= 8.0.2)
sqlite3 (~> 2.1.0)
tzinfo-data
unitwise (~> 2.3.0)
diff --git a/LICENSE b/LICENSE
index 16cd279..4942931 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2020 Dan Elbert
+Copyright (c) 2024 Dan Elbert
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Procfile b/Procfile
index 01802ce..66b2dad 100644
--- a/Procfile
+++ b/Procfile
@@ -1,2 +1,2 @@
rails: bundle exec rails s -b 0.0.0.0
-webpacker: bin/webpack-dev-server
+shakapacker: bin/shakapacker-dev-server
diff --git a/README.md b/README.md
index e66a8c7..83c0708 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ A self hosted cookbook
Parsley is released under the MIT License.
-Copyright (C) 2020 Dan Elbert
+Copyright (C) 2024 Dan Elbert
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/app/javascript/components/App.vue b/app/javascript/components/App.vue
index 54c82c4..359a5d6 100644
--- a/app/javascript/components/App.vue
+++ b/app/javascript/components/App.vue
@@ -4,13 +4,15 @@
@@ -18,31 +20,31 @@
-
-