Sunset is a website established in 2025 dedicated to hosting F/F, NB/F and NB/NB fanworks. It holds pro-freedom of fiction, queer and trans inclusive, anti-bigotry and generally compassionate ideals. We're here to have fun and love fictional characters. Sunset is run by one person,
, who dreamed this up in zher bedroom. Please be nice to zher!
THIS IS AN 18+ ARCHIVE. Sorry :(
.
| 
|
diff --git a/app/views/menu/_menu_othersites.html.erb b/app/views/menu/_menu_othersites.html.erb
index dfe48bf..3d6581e 100644
--- a/app/views/menu/_menu_othersites.html.erb
+++ b/app/views/menu/_menu_othersites.html.erb
@@ -5,4 +5,4 @@
Ad Astra
SquidgeWorld
CFAA
-
+
Fanfiction.LOL
diff --git a/app/views/works/edit.html.erb b/app/views/works/edit.html.erb
index 785e573..f1e826b 100755
--- a/app/views/works/edit.html.erb
+++ b/app/views/works/edit.html.erb
@@ -19,11 +19,7 @@
<%= link_to ts('Manage Chapters'), manage_work_chapters_path(@work) %>
<% end %>
<% unless (@work.pseuds - current_user.pseuds).empty? %>
-
<%= button_to ts("Remove Me As Co-Creator"),
- remove_user_creatorship_work_path(@work),
- data: { confirm: "This will remove you from all chapters as well. Are you sure?" },
- method: :patch %>
- <% end %>
+
<%= link_to ts("Remove Me As Co-Creator"), { :action => "edit", :remove => "me"}, data: { confirm: "This will remove you from all chapters as well. Are you sure?" } %> <% end %>
<% if @work.posted? %>
<%= link_to ts('Orphan Work'), {:controller => 'orphans', :action => 'new', :work_id => @work.id} %>
<% end %>
diff --git a/app/views/works/edit.html.erb.save b/app/views/works/edit.html.erb.save
new file mode 100755
index 0000000..eee100f
--- /dev/null
+++ b/app/views/works/edit.html.erb.save
@@ -0,0 +1,33 @@
+
+
<%= ts('Edit Work') %>
+
+<%= error_messages_for :work %>
+
+
+
+
+ - <%= link_to ts('Add Chapter'), new_work_chapter_path(@work) %>
+ <% if @chapters %>
+ - <%= ts('Edit Chapter:') %>
+ <% for chapter in @chapters %>
+ <% if chapter.posted? %>
+ <%= link_to h(chapter.position), [:edit, @work, chapter] %>
+ <% else %>
+ <%= link_to h(chapter.position) + ts(" (Draft)"), [:edit, @work, chapter] %>
+ <% end %>
+ <% end %>
+ - <%= link_to ts('Manage Chapters'), manage_work_chapters_path(@work) %>
+ <% end %>
+ <% unless (@work.pseuds - current_user.pseuds).empty? %>
+ - <%= link_to ts("Remove Me As Co-Creator"), { :action => "edit", :remove => "me"},
+data: { confirm: "This will remove you from all chapters as well. Are you sure?" } %>
<% end %>
+ <% if @work.posted? %>
+ - <%= link_to ts('Orphan Work'), {:controller => 'orphans', :action => 'new', :work_id => @work.id} %>
+ <% end %>
+ - <%= link_to ts("Delete Work"), confirm_delete_work_path(@work), data: {confirm: ts("Are you sure you want to delete this work? This will destroy all comments and kudos on this work as well and CANNOT BE UNDONE!")} %>
+
+
+
+
+<%= render :partial => 'standard_form' %>
+
diff --git a/awscliv2.zip b/awscliv2.zip
new file mode 100644
index 0000000..0c255a3
Binary files /dev/null and b/awscliv2.zip differ
diff --git a/backup.sh b/backup.sh
new file mode 100755
index 0000000..2a78538
--- /dev/null
+++ b/backup.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+cd /home/otwarchive/otwarchive || exit 1
+
+FILE="/tmp/otwarchive_$(date +%Y-%m-%d).sql"
+
+#sudo docker compose exec -T db \
+ # mysqldump -uroot \
+ #--databases otwarchive_production \
+ #--skip-comments \
+ #| gzip > "$FILE"
+#sudo docker compose exec db mysqldump -uroot -p$MYSQL_ROOT_PASSWORD --databases otwarchive_production --skip-comments > ~/otwa/otwarchive_$(date +%Y-%m-%d_%H-%M-%S).sql.gz
+#
+#touch ~/otwabck/otwarchive_$(date +%Y-%m-%d_%H-%M-%S).sql
+#touch "/tmp/otwarchive_$(date +%Y-%m-%d).sql"
+sudo docker compose exec -T db sh -c \
+ 'mysqldump -uroot -p"$MYSQL_ROOT_PASSWORD" --databases otwarchive_production --skip-comments' \
+ | gzip > "/tmp/otwarchive_$(date +%Y-%m-%d).sql"
+
+if [ ${PIPESTATUS[0]} -ne 0 ]; then
+ echo "MySQL dump failed"
+ rm -f "$FILE"
+ exit 1
+fi
+
+aws --endpoint-url https://t3.storage.dev \
+ s3 cp "$FILE" \
+ "s3://sunsetti/mysql/otwarchive/$(basename "$FILE")"
+
+if [ $? -ne 0 ]; then
+ echo "S3 upload failed"
+ rm -f "$FILE"
+ exit 1
+fi
+
+rm -f "$FILE"
+
+echo "Backup completed successfully"
diff --git a/config/locales/mailers/en.yml b/config/locales/mailers/en.yml
index 6a35f34..bbd91f5 100755
--- a/config/locales/mailers/en.yml
+++ b/config/locales/mailers/en.yml
@@ -533,7 +533,7 @@ en:
invitation:
been_invited: You've been invited to join Sunset!
features: With an account, you can post fanworks, use bookmarks to keep track of works you enjoyed, receive subscription emails when your favorite creators or works update, customize the way the site looks for you, and more!
- has_invited: "%{user_name} has invited you to join the Archive of Our Own!"
+ has_invited: "%{user_name} has invited you to join Sunset Archive!"
html:
about: Sunset is a free, noncommercial archive built by and for fans.
activation_support: After you sign up, you'll receive an account activation email. If you do not receive this email after 48 hours, please %{support_link}.
@@ -627,9 +627,9 @@ en:
subject: "[%{app_name}][%{collection_title}] Potential assignment generation complete"
recipient_notification:
collection:
- html: A gift work has been posted for you in the %{collection_link} collection at the Archive of Our Own!
- text: A gift work has been posted for you in the "%{collection_title}" collection (%{collection_url}) at the Archive of Our Own!
- no_collection: A gift work has been posted for you at the Archive of Our Own!
+ html: A gift work has been posted for you in the %{collection_link} collection at Sunset Archive!
+ text: A gift work has been posted for you in the "%{collection_title}" collection (%{collection_url}) at the Sunset Archive!
+ no_collection: A gift work has been posted for you at Sunset!
subject:
collection: "[%{app_name}][%{collection_title}] A gift work for you from %{collection_title}"
no_collection: "[%{app_name}] A gift work for you"
@@ -659,7 +659,7 @@ en:
html: There's lots of information and advice on how to use the Archive in our %{faq_link}. You'll find the latest news about site developments on %{admin_posts_link}. If you need more help, run into a bug, or have questions or comments, please %{contact_support_link}, who are always happy to help out.
text: 'There''s lots of information and advice on how to use the Archive in our FAQ at %{faq_url}. You''ll find the latest news about site developments on Sunset News at %{admin_posts_url}. If you need more help, run into a bug, or have questions or comments, please contact Support, who are always happy to help out: %{contact_support_url}.'
subject: "[%{app_name}] Activate your account"
- welcome: Welcome to the Archive of Our Own, %{login}!
+ welcome: Welcome to Sunset, %{login}!
users:
mailer:
confirmation_instructions:
diff --git a/config/locales/views/en.yml b/config/locales/views/en.yml
index 10e56be..1ccbfe6 100755
--- a/config/locales/views/en.yml
+++ b/config/locales/views/en.yml
@@ -2322,7 +2322,7 @@ en:
agreement_confirm: Yes, I have read the Terms of Service, including the Content Policy and Privacy Policy, and agree to them.
agreement_required_html: Before you begin using Sunset, you must agree to our %{terms_of_service_link}, including the %{content_policy_link} and %{privacy_policy_link}.
content_policy: Content Policy (opens in new window)
- data_processing_confirm: By checking this box, you consent to the processing of your personal data in the United States and other jurisdictions in connection with our provision of AO3 and its related services to you. You acknowledge that the data privacy laws of such jurisdictions may differ from those provided in your jurisdiction. For more information about how your personal data will be processed, please refer to our Privacy Policy.
+ data_processing_confirm: By checking this box, you consent to the processing of your personal data in the United States and other jurisdictions in connection with our provision of Sunset and its related services to you. You acknowledge that the data privacy laws of such jurisdictions may differ from those provided in your jurisdiction. For more information about how your personal data will be processed, please refer to our Privacy Policy.
over_thirteen_confirm: Yes, I am at least 18.
over_thirteen_required: You need to be at least 18 years old to become a registered member of the Archive. (Sorry to anyone younger! You'll be more than welcome when the time comes.)
privacy_policy: Privacy Policy (opens in new window)
diff --git a/public/images/ao3_logos/logo.png b/public/images/ao3_logos/logo.png
index e974824..36b5cc3 100644
Binary files a/public/images/ao3_logos/logo.png and b/public/images/ao3_logos/logo.png differ
diff --git a/public/images/ao3_logos/logo_42.png b/public/images/ao3_logos/logo_42.png
index e974824..36b5cc3 100644
Binary files a/public/images/ao3_logos/logo_42.png and b/public/images/ao3_logos/logo_42.png differ
diff --git a/public/images/logo.png b/public/images/logo.png
index e974824..36b5cc3 100644
Binary files a/public/images/logo.png and b/public/images/logo.png differ
diff --git a/public/images/logo_42.png b/public/images/logo_42.png
index e974824..36b5cc3 100644
Binary files a/public/images/logo_42.png and b/public/images/logo_42.png differ