add: 8 achievements add: larger text setting fix: small infinite

timeline bugs
This commit is contained in:
trisua 2025-06-27 13:10:04 -04:00
parent b860f74124
commit 5dd9fa01cb
19 changed files with 241 additions and 123 deletions

View file

@ -258,6 +258,9 @@ pub struct UserSettings {
/// Automatically clear all notifications when notifications are viewed.
#[serde(default)]
pub auto_clear_notifs: bool,
/// Increase the text size of buttons and paragraphs.
#[serde(default)]
pub large_text: bool,
}
fn mime_avif() -> String {
@ -475,26 +478,26 @@ pub struct ExternalConnectionData {
}
/// The total number of achievements needed to 100% Tetratto!
pub const ACHIEVEMENTS: usize = 8;
pub const ACHIEVEMENTS: usize = 16;
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub enum AchievementName {
/// Create your first post.
CreatePost,
/// Follow somebody.
FollowUser,
/// Create your 50th post.
Create50Posts,
/// Create your 100th post.
Create100Posts,
/// Create your 1000th post.
Create1000Posts,
/// Ask your first question.
CreateQuestion,
/// Edit your settings.
EditSettings,
/// Create your first journal.
CreateJournal,
FollowedByStaff,
CreateDrawing,
OpenAchievements,
Get1Like,
Get10Likes,
Get50Likes,
Get100Likes,
Get25Dislikes,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
@ -515,6 +518,14 @@ impl AchievementName {
Self::CreateQuestion => "Big questions...",
Self::EditSettings => "Just how I like it!",
Self::CreateJournal => "Dear diary...",
Self::FollowedByStaff => "Big Shrimpin'",
Self::CreateDrawing => "Modern art",
Self::OpenAchievements => "Welcome!",
Self::Get1Like => "Baby steps!",
Self::Get10Likes => "WOW! 10 LIKES!",
Self::Get50Likes => "banger post follow for more",
Self::Get100Likes => "everyone liked that",
Self::Get25Dislikes => "Sorry...",
}
}
@ -528,19 +539,37 @@ impl AchievementName {
Self::CreateQuestion => "Ask your first question!",
Self::EditSettings => "Edit your settings.",
Self::CreateJournal => "Create your first journal.",
Self::FollowedByStaff => "Get followed by a staff member!",
Self::CreateDrawing => "Include a drawing in a question.",
Self::OpenAchievements => "Open the achievements page.",
Self::Get1Like => "Get 1 like on a post! Good job!",
Self::Get10Likes => "Get 10 likes on one post.",
Self::Get50Likes => "Get 50 likes on one post.",
Self::Get100Likes => "Get 100 likes on one post.",
Self::Get25Dislikes => "Get 25 dislikes on one post... :(",
}
}
pub fn rarity(&self) -> AchievementRarity {
// i don't want to write that long ass type name everywhere
use AchievementRarity::*;
match self {
Self::CreatePost => AchievementRarity::Common,
Self::FollowUser => AchievementRarity::Common,
Self::Create50Posts => AchievementRarity::Uncommon,
Self::Create100Posts => AchievementRarity::Uncommon,
Self::Create1000Posts => AchievementRarity::Rare,
Self::CreateQuestion => AchievementRarity::Common,
Self::EditSettings => AchievementRarity::Common,
Self::CreateJournal => AchievementRarity::Uncommon,
Self::CreatePost => Common,
Self::FollowUser => Common,
Self::Create50Posts => Uncommon,
Self::Create100Posts => Uncommon,
Self::Create1000Posts => Rare,
Self::CreateQuestion => Common,
Self::EditSettings => Common,
Self::CreateJournal => Uncommon,
Self::FollowedByStaff => Rare,
Self::CreateDrawing => Common,
Self::OpenAchievements => Common,
Self::Get1Like => Common,
Self::Get10Likes => Common,
Self::Get50Likes => Uncommon,
Self::Get100Likes => Rare,
Self::Get25Dislikes => Uncommon,
}
}
}