fix: max-vw to prevent overflow, and some cleaning of wip comments

This commit is contained in:
Per Stark
2025-06-14 22:58:43 +02:00
parent 32141fce6e
commit f567b7198b
5 changed files with 4 additions and 20 deletions

2
Cargo.lock generated
View File

@@ -3127,7 +3127,7 @@ checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
[[package]] [[package]]
name = "main" name = "main"
version = "0.1.2" version = "0.1.3"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"api-router", "api-router",

File diff suppressed because one or more lines are too long

View File

@@ -190,7 +190,7 @@ pub async fn show_recent_content(
} }
Ok(TemplateResponse::new_template( Ok(TemplateResponse::new_template(
"/dashboard/recent_content.html", "dashboard/recent_content.html",
RecentTextContentData { RecentTextContentData {
user, user,
text_contents, text_contents,

View File

@@ -7,7 +7,7 @@
<img src="/file/{{text_content.url_info.image_id}}" alt="website screenshot" /> <img src="/file/{{text_content.url_info.image_id}}" alt="website screenshot" />
</figure> </figure>
{% endif %} {% endif %}
<div class="card-body"> <div class="card-body max-w-[95vw]">
<h2 class="card-title truncate"> <h2 class="card-title truncate">
{% if text_content.url_info %} {% if text_content.url_info %}
{{text_content.url_info.title}} {{text_content.url_info.title}}

View File

@@ -43,7 +43,6 @@ fn add_char_into_object(
current_char: char, current_char: char,
) -> Result<(), String> { ) -> Result<(), String> {
match (&*object, &*current_status, current_char) { match (&*object, &*current_status, current_char) {
// String escape handling
(&Value::String(_), &ObjectStatus::StringQuoteOpen(true), '"') => { (&Value::String(_), &ObjectStatus::StringQuoteOpen(true), '"') => {
if let Value::String(str) = object { if let Value::String(str) = object {
str.push('"'); str.push('"');
@@ -54,7 +53,6 @@ fn add_char_into_object(
*current_status = ObjectStatus::StringQuoteClose; *current_status = ObjectStatus::StringQuoteClose;
} }
(&Value::String(_), &ObjectStatus::StringQuoteOpen(true), c) => { (&Value::String(_), &ObjectStatus::StringQuoteOpen(true), c) => {
// Handle other escaped chars
if let Value::String(str) = object { if let Value::String(str) = object {
str.push('\\'); str.push('\\');
str.push(c); str.push(c);
@@ -70,7 +68,6 @@ fn add_char_into_object(
} }
} }
// Key escape handling
(&Value::Object(_), &ObjectStatus::KeyQuoteOpen { escaped: true, .. }, '"') => { (&Value::Object(_), &ObjectStatus::KeyQuoteOpen { escaped: true, .. }, '"') => {
if let ObjectStatus::KeyQuoteOpen { if let ObjectStatus::KeyQuoteOpen {
ref mut key_so_far, .. ref mut key_so_far, ..
@@ -124,7 +121,6 @@ fn add_char_into_object(
} }
} }
// Value string escape handling
(&Value::Object(_), &ObjectStatus::ValueQuoteOpen { escaped: true, .. }, '"') => { (&Value::Object(_), &ObjectStatus::ValueQuoteOpen { escaped: true, .. }, '"') => {
if let ObjectStatus::ValueQuoteOpen { ref key, .. } = current_status { if let ObjectStatus::ValueQuoteOpen { ref key, .. } = current_status {
let key_str = key.iter().collect::<String>(); let key_str = key.iter().collect::<String>();
@@ -178,7 +174,6 @@ fn add_char_into_object(
} }
} }
// All other cases from the original implementation
(&Value::Null, &ObjectStatus::Ready, '"') => { (&Value::Null, &ObjectStatus::Ready, '"') => {
*object = json!(""); *object = json!("");
*current_status = ObjectStatus::StringQuoteOpen(false); *current_status = ObjectStatus::StringQuoteOpen(false);
@@ -188,7 +183,6 @@ fn add_char_into_object(
*current_status = ObjectStatus::StartProperty; *current_status = ObjectStatus::StartProperty;
} }
// ------ true ------
(&Value::Null, &ObjectStatus::Ready, 't') => { (&Value::Null, &ObjectStatus::Ready, 't') => {
*object = json!(true); *object = json!(true);
*current_status = ObjectStatus::Scalar { *current_status = ObjectStatus::Scalar {
@@ -219,7 +213,6 @@ fn add_char_into_object(
*current_status = ObjectStatus::Closed; *current_status = ObjectStatus::Closed;
} }
// ------ false ------
(&Value::Null, &ObjectStatus::Ready, 'f') => { (&Value::Null, &ObjectStatus::Ready, 'f') => {
*object = json!(false); *object = json!(false);
*current_status = ObjectStatus::Scalar { *current_status = ObjectStatus::Scalar {
@@ -260,7 +253,6 @@ fn add_char_into_object(
*current_status = ObjectStatus::Closed; *current_status = ObjectStatus::Closed;
} }
// ------ null ------
(&Value::Null, &ObjectStatus::Ready, 'n') => { (&Value::Null, &ObjectStatus::Ready, 'n') => {
*object = json!(null); *object = json!(null);
*current_status = ObjectStatus::Scalar { *current_status = ObjectStatus::Scalar {
@@ -285,13 +277,11 @@ fn add_char_into_object(
if *value_so_far == vec!['n', 'u'] { if *value_so_far == vec!['n', 'u'] {
value_so_far.push('l'); value_so_far.push('l');
} else if *value_so_far == vec!['n', 'u', 'l'] { } else if *value_so_far == vec!['n', 'u', 'l'] {
// This is for the second 'l' in "null"
*current_status = ObjectStatus::Closed; *current_status = ObjectStatus::Closed;
} }
} }
} }
// ------ number ------
(&Value::Null, &ObjectStatus::Ready, c @ '0'..='9') => { (&Value::Null, &ObjectStatus::Ready, c @ '0'..='9') => {
*object = Value::Number(c.to_digit(10).unwrap().into()); *object = Value::Number(c.to_digit(10).unwrap().into());
*current_status = ObjectStatus::ScalarNumber { *current_status = ObjectStatus::ScalarNumber {
@@ -310,7 +300,6 @@ fn add_char_into_object(
} = current_status } = current_status
{ {
value_so_far.push(c); value_so_far.push(c);
// Parse based on whether it's a float or int
if let Value::Number(ref mut num) = object { if let Value::Number(ref mut num) = object {
if value_so_far.contains(&'.') { if value_so_far.contains(&'.') {
let parsed_number = value_so_far let parsed_number = value_so_far
@@ -341,7 +330,6 @@ fn add_char_into_object(
} }
} }
// Object handling
(&Value::Object(_), &ObjectStatus::StartProperty, '"') => { (&Value::Object(_), &ObjectStatus::StartProperty, '"') => {
*current_status = ObjectStatus::KeyQuoteOpen { *current_status = ObjectStatus::KeyQuoteOpen {
key_so_far: vec![], key_so_far: vec![],
@@ -367,7 +355,6 @@ fn add_char_into_object(
} }
} }
// ------ Add Scalar Value ------
(&Value::Object(_), &ObjectStatus::Colon { .. }, char) => { (&Value::Object(_), &ObjectStatus::Colon { .. }, char) => {
if let ObjectStatus::Colon { ref key } = current_status { if let ObjectStatus::Colon { ref key } = current_status {
*current_status = ObjectStatus::ValueScalar { *current_status = ObjectStatus::ValueScalar {
@@ -424,7 +411,6 @@ fn add_char_into_object(
} }
} }
// ------ Finished taking value ------
(&Value::Object(_), &ObjectStatus::ValueQuoteClose, ',') => { (&Value::Object(_), &ObjectStatus::ValueQuoteClose, ',') => {
*current_status = ObjectStatus::StartProperty; *current_status = ObjectStatus::StartProperty;
} }
@@ -432,7 +418,6 @@ fn add_char_into_object(
*current_status = ObjectStatus::Closed; *current_status = ObjectStatus::Closed;
} }
// ------ white spaces ------
(_, _, ' ' | '\n') => {} (_, _, ' ' | '\n') => {}
(val, st, c) => { (val, st, c) => {
@@ -445,7 +430,6 @@ fn add_char_into_object(
Ok(()) Ok(())
} }
// The rest of the code remains the same
#[cfg(debug_assertions)] #[cfg(debug_assertions)]
pub fn parse_stream(json_string: &str) -> Result<Value, String> { pub fn parse_stream(json_string: &str) -> Result<Value, String> {
let mut out: Value = Value::Null; let mut out: Value = Value::Null;