diff --git a/src/lib/Setting/Pages/PromptSettings.svelte b/src/lib/Setting/Pages/PromptSettings.svelte
index 15c4654b..ae5a723f 100644
--- a/src/lib/Setting/Pages/PromptSettings.svelte
+++ b/src/lib/Setting/Pages/PromptSettings.svelte
@@ -3,12 +3,15 @@
import { language } from "src/lang";
import ProomptItem from "src/lib/UI/ProomptItem.svelte";
import type { Proompt } from "src/ts/process/proompt";
+ import { templateCheck } from "src/ts/process/templates/templateCheck";
import { DataBase } from "src/ts/storage/database";
let sorted = 0
let opened = 0
+ let warns: string[] = []
export let onGoBack: () => void = () => {}
+ $: warns = templateCheck($DataBase)
+
Warning
+
+ {#each warns as warn}
+
{warn}
+ {/each}
+
+{/if}
{#if $DataBase.promptTemplate.length === 0}
No Format
diff --git a/src/ts/process/templates/templateCheck.ts b/src/ts/process/templates/templateCheck.ts
new file mode 100644
index 00000000..11c054b2
--- /dev/null
+++ b/src/ts/process/templates/templateCheck.ts
@@ -0,0 +1,79 @@
+import type { Database } from 'src/ts/storage/database'
+
+export function templateCheck(db:Database){
+
+ const temp = db.promptTemplate
+ if(!temp){
+ return []
+ }
+
+ let mainPrompts = 0
+ let notePrompts = 0
+ let endRanges:number[] = []
+ let startRanges:number[] = []
+ let hasDescription = false
+ let hasLorebook = false
+ let reachEnd = false
+
+ for(let i=0;i
!endRanges.includes(x)).concat(endRanges.filter(x => !startRanges.includes(x)))
+
+ if(mainPrompts === 0){
+ warnings.push('No main prompt entry found')
+ }
+ if(mainPrompts > 1){
+ warnings.push('Multiple main prompt entries found, this can result in unexpected behavior')
+ }
+ if(notePrompts === 0){
+ warnings.push('No global notes entry found')
+ }
+ if(notePrompts > 1){
+ warnings.push('Multiple global notes entries found, this can result in unexpected behavior')
+ }
+ if(!hasDescription){
+ warnings.push('No description entry found')
+ }
+ if(!hasLorebook){
+ warnings.push('No lorebook entry found')
+ }
+ if(!reachEnd){
+ warnings.push('No chat entry found with range end set to "Until chat end"')
+ }
+
+ if(unresolvedRanges.length > 0){
+ warnings.push('Unresolved chat ranges: ' + unresolvedRanges.join(', '))
+ }
+
+ return warnings
+
+}
\ No newline at end of file