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>
|
||||
//TODO: Fixare passaggio promps a header
|
||||
import ChatList from "@/components/ChatList.vue";
|
||||
import Header from "@/components/Header.vue";
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<main>
|
||||
<ChatList />
|
||||
<Header
|
||||
:chat-picture="chatPicture"
|
||||
:chat-name="chatName"
|
||||
:header-chat="headerChat"
|
||||
/>
|
||||
<ChatList @change-header="changeHeader" />
|
||||
</main>
|
||||
</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>
|
||||
<div id="ChatHistory">
|
||||
<div class="keyboard-word">
|
||||
<p>placeholder word</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
components: {},
|
||||
setup() {},
|
||||
props: {},
|
||||
};
|
||||
</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 { createPinia } from "pinia";
|
||||
|
||||
import App from "./App.vue";
|
||||
|
||||
import "./assets/main.css";
|
||||
|
||||
const app = createApp(App);
|
||||
|
||||
app.use(createPinia());
|
||||
|
||||
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