feat: Einzelne Nachrichten als Link teilen
Backend:
- SharedMessageRecord Model + shared_messages DB-Tabelle
- SharedEndpoint: POST /api/messages/{id}/share, GET /api/shared/{token},
GET /api/shared (Liste), DELETE /api/shared/{token}
- Auth-Ausnahme für GET /api/shared/{token} (öffentlich ohne Login)
- DB-Methoden: CreateSharedMessage, GetSharedMessage, GetChainMessagesUpTo
Frontend:
- Share-Button (fa-share-alt) an jeder Nachricht
- Kontextmenü: Einzelnachricht oder mit Thread-Kontext teilen
- Link wird automatisch in Zwischenablage kopiert
- Öffentliche Shared-Page (#shared/{token}) ohne Login
- Markdown-Rendering in der geteilten Ansicht
- CSS für Share-Button, Share-Menü und Shared-Page
This commit is contained in:
1 parent
4e915f76af
commit
be29984b25
12 files changed
+591
-8
No files matched your search
@@ -415,6 +415,19 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="tpl-shared">
|
||||
<div class="shared-page">
|
||||
<div class="shared-header">
|
||||
<span class="shared-logo">// gott</span>
|
||||
<span class="shared-label">Geteilte Nachricht</span>
|
||||
</div>
|
||||
<div class="shared-content" id="sharedContent">
|
||||
<div class="shared-loading"><i class="fa fa-spinner fa-spin"></i> Lade...</div>
|
||||
</div>
|
||||
<div class="shared-footer"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script src="js/lib/marked.min.js"></script>
|
||||
<script src="js/lib/codemirror.min.js"></script>
|
||||
<script src="js/lib/cm-mode-xml.min.js"></script>
|
||||
@@ -446,6 +459,7 @@
|
||||
<script src="js/pages/login-page.js"></script>
|
||||
<script src="js/pages/settings-page.js"></script>
|
||||
<script src="js/pages/profile-page.js"></script>
|
||||
<script src="js/pages/shared-page.js"></script>
|
||||
<script src="js/app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user