Compare commits
8 Commits
master
...
developmen
Author | SHA1 | Date |
---|---|---|
reddigriz | 5713ba49ae | 2 years ago |
reddigriz | 3e4630fe36 | 2 years ago |
reddigriz | ed4ea2df0f | 2 years ago |
reddigriz | 480796efa4 | 2 years ago |
reddigriz | ce0b73fdf9 | 2 years ago |
reddigriz | f48095e150 | 2 years ago |
reddigriz | 4985c9151e | 2 years ago |
reddigriz | db59f38f9d | 2 years ago |
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,36 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
|
//TODO: Fixare passaggio promps a header
|
||||||
import ChatList from "@/components/ChatList.vue";
|
import ChatList from "@/components/ChatList.vue";
|
||||||
|
import Header from "@/components/Header.vue";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<main>
|
<main>
|
||||||
<ChatList />
|
<Header
|
||||||
|
:chat-picture="chatPicture"
|
||||||
|
:chat-name="chatName"
|
||||||
|
:header-chat="headerChat"
|
||||||
|
/>
|
||||||
|
<ChatList @change-header="changeHeader" />
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
chatPicture: "",
|
||||||
|
chatName: "",
|
||||||
|
headerChat: false,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
changeHeader(e) {
|
||||||
|
this.chatPicture = e[0];
|
||||||
|
this.chatName = e[1];
|
||||||
|
this.headerChat = true;
|
||||||
|
console.table("header", e);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 2.5 MiB |
@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"history": [
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"text": "🐱⛸️➡️?",
|
||||||
|
"is_user": false,
|
||||||
|
"seen": false,
|
||||||
|
"date": "22/09 12:12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"text": "🐱⛸️➡️?",
|
||||||
|
"is_user": true,
|
||||||
|
"seen": true,
|
||||||
|
"date": "22/09 12:12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"text": "🐱⛸️➡️?",
|
||||||
|
"is_user": false,
|
||||||
|
"seen": true,
|
||||||
|
"date": "22/09 12:12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"text": "🐱⛸️➡️?",
|
||||||
|
"is_user": true,
|
||||||
|
"seen": true,
|
||||||
|
"date": "22/09 12:12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"text": "🐱⛸️➡️?",
|
||||||
|
"is_user": false,
|
||||||
|
"seen": false,
|
||||||
|
"date": "22/09 12:12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"text": "🐱⛸️➡️?",
|
||||||
|
"is_user": true,
|
||||||
|
"seen": true,
|
||||||
|
"date": "22/09 12:12"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.76 226.69" xmlns:v="https://vecta.io/nano"><path d="M161.096.001l-30.225 52.351L100.647.001H-.005l130.877 226.688L261.749.001z" fill="#41b883"/><path d="M161.096.001l-30.225 52.351L100.647.001H52.346l78.526 136.01L209.398.001z" fill="#34495e"/></svg>
|
|
Before Width: | Height: | Size: 308 B |
@ -1,19 +0,0 @@
|
|||||||
<script setup>
|
|
||||||
import Keyboard from "./Keyboard.vue";
|
|
||||||
import ChatHistory from "./ChatHistory.vue";
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<ChatHistory />
|
|
||||||
<v-if="writeMessage" Keyboard />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
setup() {},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
@ -0,0 +1,32 @@
|
|||||||
|
<template>
|
||||||
|
<header>
|
||||||
|
<div v-if="headerChat" id="header-chat">
|
||||||
|
<div class="chat-picture">
|
||||||
|
<figure>
|
||||||
|
<img src="chat-picture" alt="The chat picture" />
|
||||||
|
</figure>
|
||||||
|
</div>
|
||||||
|
<div class="chat-name">
|
||||||
|
<h3>{{ chatName }}</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<div id="header">
|
||||||
|
<p>Geografia</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
setup() {},
|
||||||
|
props: {
|
||||||
|
ChatPicture: { type: String, default: "" },
|
||||||
|
chatName: { type: String, default: "" },
|
||||||
|
headerChat: { type: Boolean, default: true },
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
@ -1,17 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="msg-composition">
|
|
||||||
<KeyboardWord type="subject" />
|
|
||||||
<KeyboardWord type="object" />
|
|
||||||
<KeyboardWord type="verb" />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import KeyboardWord from "./KeyboardWord.vue";
|
|
||||||
export default {
|
|
||||||
components: { KeyboardWord },
|
|
||||||
setup() {},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
@ -1,15 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="msg-composition">
|
|
||||||
<KeyboardWord />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import KeyboardWord from "./KeyboardWord.vue";
|
|
||||||
export default {
|
|
||||||
components: { KeyboardWord },
|
|
||||||
setup() {},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
@ -0,0 +1,16 @@
|
|||||||
|
<template>
|
||||||
|
<div class="keyboard" @click="selectWord">
|
||||||
|
<p>I'm writing hereee</p>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
methods: {
|
||||||
|
selectedWord() {
|
||||||
|
this.$emit("selectedWord", "a");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped></style>
|
@ -1,13 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="ChatHistory">
|
<div class="keyboard-word">
|
||||||
|
<p>placeholder word</p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {},
|
props: {},
|
||||||
setup() {},
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -0,0 +1,31 @@
|
|||||||
|
<script setup>
|
||||||
|
import Keyboard from "./Keyboard.vue";
|
||||||
|
import KeyboardWord from "./KeyboardWord.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<KeyboardWord :key="soggetto" @click="test" />
|
||||||
|
<KeyboardWord :key="oggetto" @click="test" />
|
||||||
|
<KeyboardWord :key="verbo" @click="test" />
|
||||||
|
<Keyboard @selectedWord="selectedWord" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return { focus: "" };
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
test(e) {
|
||||||
|
console.log(e);
|
||||||
|
},
|
||||||
|
selectedWord() {
|
||||||
|
console.log("selectedWord");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
@ -0,0 +1,31 @@
|
|||||||
|
<script setup>
|
||||||
|
import ChatMsg from "./ChatMsg.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<!-- Modificare la proprieta' css z-index
|
||||||
|
per permettero lo scrolling e una dimensione fissa -->
|
||||||
|
|
||||||
|
<div id="ChatHistory">
|
||||||
|
<ChatMsg
|
||||||
|
v-for="message in $options.demo_messages.history"
|
||||||
|
:key="message.id"
|
||||||
|
:message-text="message.text"
|
||||||
|
:is-user="message.is_user"
|
||||||
|
:message-seen="message.seen"
|
||||||
|
:message-date="message.date"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import demo_messages_json from "@/assets/demo_messages.json";
|
||||||
|
export default {
|
||||||
|
demo_messages: demo_messages_json,
|
||||||
|
props: {
|
||||||
|
chatId: Number,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
@ -0,0 +1,37 @@
|
|||||||
|
<script setup>
|
||||||
|
import MessageComposition from "../keyboard/MessageComposition.vue";
|
||||||
|
import ChatHistory from "./ChatHistory.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<!-- Move this button in the header -->
|
||||||
|
<div id="chat-view" v-show="!writeMessage">
|
||||||
|
<button alt="Back" name="Back" @click="this.$emit('hideChat')">←</button>
|
||||||
|
<ChatHistory :chat-id="chatId" />
|
||||||
|
<button
|
||||||
|
alt="write message"
|
||||||
|
name="write-message"
|
||||||
|
@click="this.writeMessage = true"
|
||||||
|
>
|
||||||
|
+
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<MessageComposition
|
||||||
|
v-if="writeMessage"
|
||||||
|
:chat-id="chatId"
|
||||||
|
@hideMessageHistory="this.writeMessage = false"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return { writeMessage: false };
|
||||||
|
},
|
||||||
|
props: { chatId: Number },
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
@ -1,12 +1,7 @@
|
|||||||
import { createApp } from "vue";
|
import { createApp } from "vue";
|
||||||
import { createPinia } from "pinia";
|
|
||||||
|
|
||||||
import App from "./App.vue";
|
import App from "./App.vue";
|
||||||
|
|
||||||
import "./assets/main.css";
|
import "./assets/main.css";
|
||||||
|
|
||||||
const app = createApp(App);
|
const app = createApp(App);
|
||||||
|
|
||||||
app.use(createPinia());
|
|
||||||
|
|
||||||
app.mount("#app");
|
app.mount("#app");
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
function updateChats(){
|
||||||
|
//vue local msg store
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
import './errors.json'
|
||||||
|
|
||||||
|
function translateToText(chat_message){
|
||||||
|
console.log(chat_message)
|
||||||
|
}
|
||||||
|
|
||||||
|
function translateToDrawnings(chat_message){
|
||||||
|
console.log(chat_message)
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"errors": {
|
||||||
|
"ER01": {"messageConsole":"ER01 - Message destination unknown ","messageUser":"🚫 ER01! 📞👨💻🙏"}
|
||||||
|
"ER02": {"messageConsole":"ER02 - Message channel unknown ","messageUser":"🚫 ER02! 📞👨💻🙏"}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
import './telegram_exit'
|
||||||
|
import './errors.json'
|
||||||
|
|
||||||
|
function send(chat_message) {
|
||||||
|
if (chat_message == 'tg') {
|
||||||
|
telegram_exit.send(chat_message)
|
||||||
|
} //error ER02
|
||||||
|
}
|
@ -0,0 +1,38 @@
|
|||||||
|
import { Airgram, Auth, prompt, toObject } from 'airgram'
|
||||||
|
|
||||||
|
const airgram = new Airgram({
|
||||||
|
apiId: process.env.APP_ID | undefined,
|
||||||
|
apiHash: process.env.APP_HASH,
|
||||||
|
command: process.env.TDLIB_COMMAND,
|
||||||
|
logVerbosityLevel: 2
|
||||||
|
})
|
||||||
|
|
||||||
|
airgram.use(new Auth({
|
||||||
|
code: () => prompt(`Please enter the secret code:\n`),
|
||||||
|
phoneNumber: () => prompt(`Please enter your phone number:\n`)
|
||||||
|
}))
|
||||||
|
|
||||||
|
void (async () => {
|
||||||
|
const me = toObject(await airgram.api.getMe())
|
||||||
|
console.log(`[Me] `, me)
|
||||||
|
})
|
||||||
|
|
||||||
|
// Getting all updates
|
||||||
|
airgram.use((ctx, next) => {
|
||||||
|
if ('update' in ctx) {
|
||||||
|
console.log(`[all updates][${ctx._}]`, JSON.stringify(ctx.update))
|
||||||
|
}
|
||||||
|
return next()
|
||||||
|
})
|
||||||
|
|
||||||
|
// Getting new messages
|
||||||
|
airgram.on('updateNewMessage', async ({ update }) => {
|
||||||
|
const { message } = update
|
||||||
|
console.log('[new message]', message)
|
||||||
|
})
|
||||||
|
|
||||||
|
// Getting new messages
|
||||||
|
airgram.on('sendNewMessage', async ({ update }) => {
|
||||||
|
const { message } = update
|
||||||
|
console.log('[new message]', message)
|
||||||
|
})
|
@ -0,0 +1,23 @@
|
|||||||
|
import { ref, onMounted, onUnmounted } from 'vue'
|
||||||
|
import './internetto_exit/internetto_main'
|
||||||
|
import './ccq_exit'
|
||||||
|
import './errors.json'
|
||||||
|
/*
|
||||||
|
ER01 = Errore Rotodona 01 - Message destination unknown
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Internal function - here messages are translated
|
||||||
|
function message_delivery(chat_message) {
|
||||||
|
try {
|
||||||
|
if (chat_message.destination == 'external') {
|
||||||
|
return internetto_exit.send(ccq_exit.translateToText(chat_message))
|
||||||
|
} else if (chat_message.destination == 'internal') {
|
||||||
|
return app.receive(ccq_exit.translateToDrawnings(chat_message))
|
||||||
|
} else {
|
||||||
|
throw errors.E01.messageConsole + chat_message
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e)
|
||||||
|
return e.messageUser
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
VueRouter inutile fino allo sviluppo dell'handler dei messaggi
|
||||||
|
e solo nel caso si voglia supportare l'uso di url nella versione web
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { createRouter, createWebHashHistory } from "vue-router";
|
||||||
|
|
||||||
|
2; // 1. Define route components.
|
||||||
|
const ChatList = { template: "./components/ChatList.vue" };
|
||||||
|
// const ChatView = { template: "./components/ChatView.vue" };
|
||||||
|
// const MessageComposition = { template: "./components/MessageComposition.vue" };
|
||||||
|
|
||||||
|
// 2. Define some routes
|
||||||
|
const routes = [
|
||||||
|
{ path: "/", component: ChatList },
|
||||||
|
// { path: "/chat_view", component: ChatView },
|
||||||
|
// { path: "/chat_view/write", component: MessageComposition },
|
||||||
|
];
|
||||||
|
|
||||||
|
// 3. Create the router instance and pass the `routes` option
|
||||||
|
export const router = createRouter({
|
||||||
|
history: createWebHashHistory(),
|
||||||
|
routes,
|
||||||
|
});
|
Loading…
Reference in New Issue