adding text items to slides
This commit is contained in:
parent
43dce4dca4
commit
2695d1b70f
|
@ -76,7 +76,30 @@ impl From<&Value> for ServiceItem {
|
|||
_ => false,
|
||||
})
|
||||
.map_or_else(|| 1, |pos| pos + 1);
|
||||
if let Some(background) = list.get(background_pos)
|
||||
if let Some(content) =
|
||||
list.iter().position(|v| match v {
|
||||
Value::List(list)
|
||||
if list.iter().next()
|
||||
== Some(&Value::Symbol(
|
||||
Symbol("text".into()),
|
||||
)) =>
|
||||
{
|
||||
list.iter().next().is_some()
|
||||
}
|
||||
_ => false,
|
||||
})
|
||||
{
|
||||
let slide = Slide::from(value);
|
||||
let title = slide.text();
|
||||
Self {
|
||||
id: 0,
|
||||
title,
|
||||
database_id: 0,
|
||||
kind: ServiceItemKind::Content(slide),
|
||||
}
|
||||
} else {
|
||||
if let Some(background) =
|
||||
list.get(background_pos)
|
||||
{
|
||||
match background {
|
||||
Value::List(item) => match &item[0] {
|
||||
|
@ -97,9 +120,11 @@ impl From<&Value> for ServiceItem {
|
|||
Value::Symbol(Symbol(s))
|
||||
if s == "presentation" =>
|
||||
{
|
||||
Self::from(&Presentation::from(
|
||||
Self::from(
|
||||
&Presentation::from(
|
||||
background,
|
||||
))
|
||||
),
|
||||
)
|
||||
}
|
||||
_ => todo!(),
|
||||
},
|
||||
|
@ -119,6 +144,7 @@ impl From<&Value> for ServiceItem {
|
|||
ServiceItem::default()
|
||||
}
|
||||
}
|
||||
}
|
||||
Value::Symbol(Symbol(s)) if s == "song" => {
|
||||
let song = lisp_to_song(list.clone());
|
||||
Self::from(&song)
|
||||
|
|
|
@ -5,7 +5,7 @@ use std::{
|
|||
fmt::Display,
|
||||
path::{Path, PathBuf},
|
||||
};
|
||||
use tracing::error;
|
||||
use tracing::{debug, error};
|
||||
|
||||
use super::songs::Song;
|
||||
|
||||
|
|
Loading…
Reference in a new issue